在我们的RHEL 6.3系统上,我们已经开始遇到与iptables有关的问题,因为在重启之后,服务启动时,规则不会被加载。 我们得到空的规则集:
[msnyder@matt-test ~]$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
尽pipe我们已经制定了规则,而且服务确实在运行。 我知道,因为当我运行service iptables start它只是回到提示。 如果我运行service iptables restart它实际上停止,然后重新启动服务。 而且,当然,如果我运行service iptables stop它表明iptables实际上停止。
知道我需要重新启动服务,我这样做,规则加载正常。 他们根本不会在重新启动后加载。 除非在重启过程中它们的加载方式不同,否则我们不会看到我们的规则会出错。 如果是的话,在服务重启时甚至不会加载。
有没有人遇到过这个?
编辑:规则已经保存在/ etc / sysconfig / iptables中。 它们不是从命令行中随意添加的,所以service iptables save是不必要的。
首先iptables应该启用启动chkconfig但是我想这已经是你的情况,因为你得到一个空表。
在启动过程中不能加载iptables的原因可能是,您在configuration中使用主机名称时有规则,如果是这样,请用IPreplace,然后重试。 如果你在你的iptablesconfiguration中绝对需要主机名,请务必首先启用(并提交)来自主机的DNS查询,但是我不确定这是否会在任何情况下工作。
如上所述,我相信您需要执行“service iptables save”,以便在重新启动之后使用规则。 但是我还会在/ etc / sysconfig / iptables-config中检查下面的参数,以确保它正在保存运行configuration,所以在运行时不会丢失任何东西。
IPTABLES_SAVE_ON_STOP="no" IPTABLES_SAVE_ON_RESTART="no"
我们发现问题不在iptables本身。 我们有趋势科技的趋势科技服务器深度安全防护代理在这些服务器上运行,它正在打破iptables。 他们已经确认了这个问题,我们的解决方法是将dsagent和iptables启动脚本设置为相同的启动序列号(S08),而不是在默认的iptables之后启动dsagent脚本。