CentOS 7 Firewalld 防火墙配置
查看防火墙规则
查看所有规则
$ firewall-cmd --list-all
查看所有规则区间
$ firewall-cmd --permanent --get-zones
$ firewall-cmd --get-zones
根据规则区间查看规则
$ firewall-cmd --zone=public --list-all
查询服务是否开放
$ firewall-cmd --query-service=http
查询端口是否开放
$ firewall-cmd --query-port=80/tcp
创建新的规则区间
$ firewall-cmd --permanent --new-zone=test
$ firewall-cmd --permanent --zone=test --add-source=10.10.1.0/24
新增规则
新增服务 service
$ firewall-cmd --zone=public --permanent --add-service=http
$ firewall-cmd --zone=public --permanent --add-service=https
新增丰富规则 rich rule
$ firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="10.10.0.0/16"
port protocol="tcp" port="22" accept'
$ firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.13.0.0/16" service name="ssh" accept'
$ firewall-cmd --reload
添加成功后可查看
$ cat /etc/firewalld/zones/public.xml
删除规则
$ firewall-cmd --zone=public --remove-service=ssh --permanent
重新加载防火墙规则
$ firewall-cmd --reload
参考
https://www.rootusers.com/how-to-use-firewalld-rich-rules-and-zones-for-filtering-and-nat/
https://www.linode.com/docs/security/firewalls/introduction-to-firewalld-on-centos/
https://fedoraproject.org/wiki/Features/FirewalldRichLanguage