CentOS 7
自带了
Ubuntu
下需要自己安装:sudo apt install firewalld
Firewalld
是用 Python
编写的一个 iptables
封装工具,用于简化对 iptables
规则的管理
Firewalld
分两个配置集:运行时
和 持久化
默认情况下,firewalld-cmd
命令适用于运行时配置,而附加 --permanent
参数时将变成持久化配置
sudo firewall-cmd --state
sudo firewall-cmd --zone=public --add-service=http
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --zone=public --list-all
sudo firewall-cmd --list-all-zones
sudo firewall-cmd --get-services
HTTP
服务示例:sudo firewall-cmd --zone=public --add-service=http --permanent
HTTP
服务示例:sudo firewall-cmd --zone=public --remove-service=http --permanent
80
端口的 TCP
流量示例:sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
80
端口的 TCP
流量示例:sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
80
端口的 TCP
流量转发到同一服务器的 9999
端口示例:sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=9999
sudo firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=9999
80
端口的 TCP
流量转发到另一台服务器的 9999
端口示例:
sudo firewall-cmd --zone=public --add-masquerade sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=9999:toaddr=123.456.78.9
sudo firewall-cmd --zone=public --remove-masquerade sudo firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=9999:toaddr=123.456.78.9