CentOS 防火墙更新指南
一 适用范围与准备
cat /etc/centos-release、firewall-cmd --version、systemctl status firewalld。为避免锁死远程连接,务必保留一条当前 SSH 会话,必要时通过 控制台/VNC 备用通道操作。二 更新防火墙规则的标准流程
systemctl status firewalld 或 firewall-cmd --statefirewall-cmd --list-allfirewall-cmd --get-active-zones、firewall-cmd --get-zone-of-interface=eth0firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --remove-port=80/tcp --permanentfirewall-cmd --permanent --add-service=sshfirewall-cmd --zone=public --add-port=10000-20000/tcp --permanentfirewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port port="3306" protocol="tcp" accept'firewall-cmd --reloadfirewall-cmd --complete-reloadfirewall-cmd --query-port=80/tcpfirewall-cmd --list-portsfirewall-cmd --list-allsystemctl start|stop|restart firewalldsystemctl enable|disable firewalld三 升级 firewalld 软件包
sudo yum update firewalld -y,随后 sudo systemctl restart firewalldfirewall-cmd --version 与 systemctl status firewalldsudo rpm -ivh ebtables-*.rpm libselinux-python-*.rpm python-slip-*.rpm python-slip-dbus-*.rpm firewalld-*.rpmsudo systemctl restart firewalld--nodeps --force 仅作应急,随后尽快补齐依赖并回归正常安装方式。四 回滚与应急
firewall-cmd --reloadsystemctl restart firewalldfirewall-cmd --panic-onfirewall-cmd --panic-offrpm -Uvh --oldpackage firewalld-<旧版本>.rpm,随后重启服务五 常见问题与排查
--permanent,修改永久配置后需 firewall-cmd --reload;区分运行时与持久化配置差异。firewall-cmd --get-zone-of-interface=eth0;必要时在对应区域添加规则或使用 --zone= 显式指定。--add-port=10000-20000/tcp;服务名方式:--add-service=http|https|ssh(可用 firewall-cmd --get-services 查看可用服务)。/etc/firewalld/zones/public.xml,变更后可用 firewall-cmd --reload 使其生效。