CentOS 防火墙规则失效可能有以下几个原因:
规则未设置为永久生效:如果你在添加或修改防火墙规则时没有使用 --permanent 参数,那么这些规则在重启防火墙后会失效。确保在添加规则时使用 --permanent 参数,或者在修改规则后使用 firewall-cmd --reload 重新加载规则。
规则冲突:可能存在多条规则相互冲突,导致某些规则被覆盖。检查防火墙规则是否正确配置,并确保没有重复或冲突的规则。
防火墙服务未启动或状态异常:请检查防火墙服务是否已启动并正常运行。可以使用以下命令进行检查和启动:
# 查看防火墙状态
systemctl status firewalld
# 启动防火墙服务
systemctl start firewalld
# 设置防火墙服务开机自启
systemctl enable firewalld
规则未正确应用:在修改防火墙规则后,需要使用 firewall-cmd --reload 命令重新加载规则,以使更改生效。
系统更新或防火墙服务重启:在某些情况下,系统更新或防火墙服务重启可能导致规则失效。在这种情况下,需要重新配置防火墙规则。
如果以上方法都无法解决问题,请检查系统日志以获取更多详细信息,以便进一步诊断问题。