CentOS 防火墙配置技巧
一 工具选择与版本差异
二 firewalld 高效配置要点
systemctl start|stop|restart|enable firewalldsystemctl status firewalld 或 firewall-cmd --statefirewall-cmd --get-active-zonesfirewall-cmd --zone=public --list-allfirewall-cmd --get-servicesfirewall-cmd --zone=public --add-port=8080/tcp --permanentfirewall-cmd --zone=public --add-port=10000-10010/tcp --permanentfirewall-cmd --zone=public --add-service=http --permanentfirewall-cmd --reloadfirewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port port="3306" protocol="tcp" accept' --permanentfirewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="198.51.100.5" reject' --permanentfirewall-cmd --set-log-denied=allgrep 'firewalld' /var/log/messages--permanent 写入持久配置,变更后用 --reload 生效;临时测试可省略 --permanent(重启或 firewalld 重载后失效)。三 仍在使用 iptables 时的要点
yum install -y iptables-services,随后 systemctl start|enable iptablesiptables -A INPUT -p tcp --dport 8080 -j ACCEPTservice iptables save/etc/init.d/iptables saveservice iptables stop、chkconfig iptables off四 实战配置范例
systemctl start firewalld && systemctl enable firewalldfirewall-cmd --permanent --add-service=ssh、--add-service=httpfirewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="3306" protocol="tcp" accept'firewall-cmd --set-log-denied=allfirewall-cmd --reloadfirewall-cmd --list-all(应看到 services 含 ssh、http;rich rules 含 3306 的源网段放行;log-denied 为 all)五 安全与排错清单
list-all 核对。--permanent 后记得 --reload;变更失败回滚前先备份当前规则。firewall-cmd --list-all / --list-ports / --list-serviceslog-denied 并查 /var/log/messagesfirewall-cmd --get-active-zones,确认网卡绑定到预期 zonesystemctl status firewalld,必要时 restart 或 reload。