CentOS 7 引入了 firewalld 服务,用 zone 的方式管理不同网络连接的信任级别。它支持 IPv4、IPv6 和网桥,可以通过 firewall-cmd 或图形界面动态管理 netfilter 规则。
安装
yum install firewalld
yum install firewall-config服务管理
systemctl start firewalld
systemctl enable firewalld
systemctl stop firewalld
systemctl disable firewalld查看状态与 zone
firewall-cmd --state
firewall-cmd --get-active-zones
firewall-cmd --get-zone-of-interface=eth0
firewall-cmd --zone=public --list-interfaces
firewall-cmd --zone=public --list-all
firewall-cmd --get-service
firewall-cmd --get-service --permanent管理规则
firewall-cmd --panic-on
firewall-cmd --panic-off
firewall-cmd --query-panic
firewall-cmd --reload
firewall-cmd --complete-reload设置默认 zone 与接口
firewall-cmd --zone=public --add-interface=eth0 --permanent
firewall-cmd --set-default-zone=public管理端口
firewall-cmd --zone=dmz --list-ports
firewall-cmd --zone=dmz --add-port=8080/tcp
firewall-cmd --zone=public --add-port=5060-5059/udp --permanent管理服务
firewall-cmd --zone=work --add-service=smtp
firewall-cmd --zone=work --remove-service=smtp配置地址伪装
firewall-cmd --zone=external --query-masquerade
firewall-cmd --zone=external --add-masquerade
firewall-cmd --zone=external --remove-masquerade端口转发
打开端口转发前,需要先开启 masquerade。
firewall-cmd --zone=external --add-masquerade
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=3753
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100