CentOS 防火墙设置实用技巧
一 基础与常用操作
systemctl status firewalld 查看状态,systemctl start|enable|stop|disable firewalld 管理服务。运行时与永久配置要区分:运行时修改立即生效但重启后丢失,永久修改需 --permanent 并 firewall-cmd --reload 重载。查看与放行端口:firewall-cmd --list-ports、--add-port=80/tcp --permanent、--query-port=80/tcp;按服务放行更直观:--add-service=ssh|http|https --permanent 后重载。以上命令覆盖日常 90% 的开放端口与服务场景。二 安全优先的访问控制
firewall-cmd --set-default-zone=drop && firewall-cmd --reload。firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080" accept' && firewall-cmd --reload。firewall-cmd --permanent --zone=internal --change-interface=eth1 && firewall-cmd --reload。三 提升效率的高级用法
firewall-cmd --permanent --zone=public --add-port=10000-10010/tcp && firewall-cmd --reload。firewall-cmd --permanent --new-service=app8088 --set-description="App 8088" && firewall-cmd --permanent --service=app8088 --add-port=8088/tcp && firewall-cmd --reload。firewall-cmd --permanent --zone=trusted --change-interface=eth1 && firewall-cmd --reload。firewall-cmd --permanent --zone=public --add-masquerade && firewall-cmd --reload。/etc/firewalld/firewalld.conf 中设置 LogLevel=info 并重启服务,结合系统日志分析。四 维护与排错清单
firewall-cmd --reload;用 firewall-cmd --list-all、--query-port=端口/协议、--get-active-zones 逐项核对。firewall-cmd --runtime-to-permanent 将当前运行时规则固化为永久规则,减少遗漏。/etc/sysconfig/iptables、service iptables save|restart);CentOS 7+ 使用 firewalld。跨版本迁移时先确认系统版本与默认防火墙工具,再选择对应命令集。