兆理大数据工具套装
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

https://www.tecmint.com/firewalld-rules-for-centos-7/2/