CentOS 防火墙规则清理指南
一、先确认使用的防火墙组件
sudo firewall-cmd --state(返回 running/not running);或 sudo systemctl status firewalld。sudo iptables -L -n -v。二、使用 firewalld 时的清理步骤
sudo firewall-cmd --state、sudo firewall-cmd --list-all。sudo firewall-cmd --flush-rules(仅影响运行时,重启后若配置了持久化会恢复)。sudo firewall-cmd --permanent --list-portssudo firewall-cmd --permanent --remove-port=80/tcpsudo firewall-cmd --permanent --list-servicessudo firewall-cmd --permanent --remove-service=sshsudo firewall-cmd --reload。sudo systemctl stop firewalldsudo systemctl disable firewalldsudo firewall-cmd --list-all 应显示规则为空或仅保留默认配置。三、使用 iptables 时的清理步骤
sudo iptables -L -n -v,确认 INPUT/FORWARD 的 policy(如 DROP/ACCEPT)。sudo iptables -P INPUT ACCEPTsudo iptables -P FORWARD ACCEPTsudo iptables -P OUTPUT ACCEPTsudo iptables -F(清空规则)sudo iptables -X(删除自定义链)sudo iptables -Z(清零计数器)sudo iptables -t nat -F、sudo iptables -t mangle -F。iptables -F 可能导致现有 SSH 会话断开且无法重连,务必先放行 22/TCP 或按上述顺序操作。四、持久化与注意事项
--permanent 添加/删除规则后必须执行 sudo firewall-cmd --reload 才会生效;完全清理时应同时处理运行时与持久化配置。service iptables save;不同发行版/版本路径与工具可能不同)。