参考资料:https://www.cnblogs.com/moxiaoan/p/5683743.html
一、基本使用:
????1、关闭:? ? systemctl stop firewalld? ? 或者
? ??????????????????????service firewalld stop
? ? 2、启动:????systemctl start firewalld? ? 或者
? ? ? ? ? ? ? ? ? ? ? ? ?service firewalld start
? ? 3、重启:????systemctl restart firewalld? ? 或者
? ? ? ? ? ? ? ? ? ? ? ? ?service firewalld restart
? ? 4、查看状态:????systemctl status firewalld? ? 或者
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? service firewalld status? ? 或者? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? firewall-cmd --state
? ? 5、重新加载:???systemctl reload firewalld? ? 或者
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?service fiirewalld reload? ? 或者
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?firewall-cmd --reload
? ? 6、开机禁用:????systemctl disable firewalld? ??
? ? 7、开机启动:????systemctl enable firewalld
? ? 8、查看服务是否开机启动: systemctl is-enabled firewalld
二、firewalld-cmd配置
? ? 1、添加一个端口:????firewall-cmd --zone=public --add-port=443/tcp --permanent
? ? ? ? ? ? ? ? ????--zone #作用域
????????????????????--add-port=443/tcp #添加端口,格式为:端口/通讯协议
????????????????????--permanent #代表永久生效,没有此参数重启后失效
? ? 2、添加多个端口:????firewall-cmd --add-port={9977,9988}/tcp --permanent
? ? 3、删除一个端口:????firewall-cmd --permanent --remove-port=9999/tcp?
? ? 4、删除多个端口:?????firewall-cmd --permanent --remove-port={9977/tcp,9988/tcp}?
? ? 5、查看开放的端口:? ??firewall-cmd --list-all? ? 或者
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?firewall-cmd --list-ports
? ? 6、查询特定端口是否开放:????firewall-cmd --query-port=9999/tcp
? ? ? ? 上述操作完记得要重新载入才能生效!?firewall-cmd --reload
三、相对高级
? ? 1、端口转发:????
? ??????????firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
????????????例子:firewalld实现端口转发(端口映射)只能转发tcp相关的服务
????????????firewall-cmd?--permanent --zone=public?--add-forward-port=port=5555:proto=tcp:toaddr=172.16.1.31:toport=22
? ? 2、删除端口转发:
? ??????????firewall-cmd --permanent --zone=public --remove-forward-port=port=5555:proto=tcp:toaddr=172.16.1.31:toport=22
? ? 3、允许特定ip访问特定端口(富规则):
? ??????????--添加指定ip可以访问指定端口,如只有ip=192.168.111.111可以访问3306端口
????????????firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.111.111" port protocol="tcp" port="3306" accept"
? ? 4、删除一个富规则:
? ??????????firewall-cmd --permanent --remove-rich-rule "rule family="ipv4" source address="192.168.111.111" port protocol="tcp" port="3306" accept"