我知道有一个/ etc / sysconfig / iptables文件,规则为iptables(和/ etc / sysconfig / iptables-config有什么区别)。
我安装了CSF&LFD。 您可以在/etc/csf/csf.conf中configuration端口,但/ etc / sysconfig / iptables文件不存在。 iptables和csf守护进程正在运行。
这是什么意思? 那防火墙什么都不做?
实际上,CSF和iptables是如何协同工作的?
如果内存服务, /etc/sysconfig/iptables-config是描述在启动rhel iptables init脚本时使用哪些选项的文件。 它没有明确的规则。 另一方面/etc/sysconfig/iptables文件中也有这些规则。 它根据iptables-save命令的输出格式化; 实际上,当你运行service iptables save这就是它创build文件的方式。
另一个问题的简短版本是“无论哪一个最后开始优先”。
为了清楚起见,我将在这个不属于“行业接受”的答案的语境下进行语言抽象,如下所示:
rhel-iptables和CSF脚本都使用netfilter框架和命令将防火墙规则放入内核空间。 他们两个(*)在启动时将内核规则表重置为空。 因此,如果在rhel-iptables之后启动或重新启动CSF,则其规则和configuration将优先。 CSF之后启动或重新启动rhel-iptables的情况正好相反; CSF规则将被清除,rhel-iptables规则将被接pipe。
虽然看起来很愚蠢,但这可能是可以的,只要你只需要运行你想运行的规则集,并且你已经validation了你想运行的那个(可能是CSF,因为你花时间去安装它)如果你不小心重启了iptables服务,你确保你重启了它。 你可以通过查看ls -1 /etc/rc.d/rc3.d来检查它们的启动顺序,假设你的默认运行级别是3,在rhel / centos中没有graphics,通常是这种情况(graphics是5)。 如果S之后的数字较高,则稍后开始。
你为什么要同时运行? 那么,如果你的/etc/sysconfig/iptables规则可以正常工作,那么在任何networking服务之前都会保证出现,这意味着防火墙保护在networking启动之前就开始了,任何服务都是暴露的。 该文件中列出的规则对于系统更改具有很强的适应性,例如,脚本解释器或内核版本稍微更新,CSF可能对此作出的反应很差,打破脚本语法或模块名称,或者更可能尝试从其更新CSF家庭网站,它打破了自己。 如果在排除规则之前CSF失败,则rhel-iptables规则仍然存在,从而保护潜在的易受攻击的服务作为后备规则集。
如果你想禁用rhel-iptables脚本,你可以通过运行这个命令来完成:
chkconfig iptables off
(*)刷新内核规则表是这两个脚本的默认值; 我相信两者都可以configuration为不执行此操作并仅追加。