===============================================
2019/4/15_第1次修改 ccb_warlock
===============================================
由于一直使用centos7的环境,所以接触的防火墙比较多的是firewalld而不是iptable,之前一直没有好好总结过firewalld的用法,这次做个整理。
我将firewall-cmd命令的操作分成了2部分:常用和其他。其中常用是我在最近几年使用centos7时用的次数较多的操作。
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --zone=public --list-ports
以开放80端口为例
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
PS. --permanent为永久生效,没有此参数centos重启后该配置将失效
以撤销80端口的开放为例
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --reload
PS. --permanent为永久生效,没有此参数centos重启后该配置将失效
firewall-cmd --zone=public --list-rich-rules
以“只允许192.168.1.1的主机连接3306端口”为例
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent firewall-cmd --reload
PS. --permanent为永久生效,没有此参数centos重启后该配置将失效
以“移除只允许192.168.1.1的主机连接3306端口”为例
firewall-cmd --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent firewall-cmd --reload
PS. --permanent为永久生效,没有此参数centos重启后该配置将失效
firewall-cmd --remove-service=ssh --permanent
firewall-cmd --reload
PS. --permanent为永久生效,没有此参数centos重启后该配置将失效
以检查80端口为例(yes:开放;no:未开放)
firewall-cmd --zone=public --query-port=80/tcp
11)TCP端口转发
# 允许防火墙伪装IP
firewall-cmd --add-masquerade
# 将本地80端口的流量转发到192.168.1.1的80端口
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.1:toport=80 --permanent
PS. --permanent为永久生效,没有此参数centos重启后该配置将失效
查看版本:firewall-cmd --version
查看帮助: firewall-cmd --help
查看状态: firewall-cmd --state
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
参考资料:
1.https://www.cnblogs.com/moxiaoan/p/5683743.html
2.https://blog.csdn.net/qguanri/article/details/51673845