CentOS 7 firewall常用命令【图文并茂版】
参考资料: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"