Firewalld 是维护防火墙策略的守护程序的名称。使用 firewall-cmd 命令与防火墙配置进行交互, 使用区域概念对与系统交互的流量进行分段。网络接口分配给一个或多个区域,每个区域都包含允许的端口和服务的列表。默认区域还可用于管理与任何区域都不匹配的流量。

0 语法规则

Usage: firewall-cmd [OPTIONS...]

General Options
  -h, --help           Prints a short help text and exists
  -V, --version        Print the version string of firewalld
  -q, --quiet          Do not print status messages

Status Options
  --state              Return and print firewalld state
  --reload             Reload firewall and keep state information
  --complete-reload    Reload firewall and lose state information
  --runtime-to-permanent
                       Create permanent from runtime configuration
  --check-config       Check permanent configuration for errors

1. 状态检查

firewall-cmd --state

firewall 命令简单操作-LMLPHP

2 如果没有开启,可以先开启

systemctl start firewalld && systemctl --enable firewalld

3查看现有防护策略

# 查看防火墙,添加的端口也可以看到
firewall-cmd --list-all
# 显示支持的区域列表
firewall-cmd --get-zones
# 显示所有公共区域(public)
firewall-cmd --zone=public --list-all

4 查看默认zone配置,默认是public

 firewall-cmd --get-default-zone

firewall 命令简单操作-LMLPHP

5.添加端口访问 ,使用 --add-port 参数,例如设置80端口TCP访问:

 firewall-cmd --add-port=80/tcp

上面规则会在机器重启时,策略失效,需要添加参数 --permanent 保证长期有效

firewall-cmd --add-port=80/tcp --permanent

6 重新加载firewall 配置

 firewall-cmd --reload

7 添加services 服务

查看当前支持的系统service:

firewall-cmd --get-services

firewall 命令简单操作-LMLPHP

添加http service 服务

firewall-cmd --add-service=http --permanent && firewall-cmd --reload
添加 Jenkins service:
firewall-cmd --add-service=jenkins --permanent && firewall-cmd --reload

8 删除services 服务和端口

firewall-cmd --remove-service=http      # 阻止http端口
firewall-cmd --remove-port=80tcp        # 阻止通过tcp访问3306
07-26 11:22