![IPtables 在重新启动时重置,我如何知道是什么原因造成的](https://linux22.com/image/37209/IPtables%20%E5%9C%A8%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E6%97%B6%E9%87%8D%E7%BD%AE%EF%BC%8C%E6%88%91%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E9%80%A0%E6%88%90%E7%9A%84.png)
使用 RHEL,我让一些“网络安全”人员在我的服务器上工作。我现在在完全封闭的环境中使用该服务器,没有外部网络连接,并且希望我的 iptables 设置为完全关闭。我使用过这些命令:
chkconfig iptables off
service iptables save
service iptables stop
chkconfig ip6tables off
service ip6tables save
service ip6tables stop
问题
每次我重新启动服务器时,iptables 都会回到其极其严格的限制设置。我是否做错了什么,或者他们是否有一个可以运行并重置 iptables 设置的脚本。如果有一个脚本,我怎样才能找出它来自哪里来禁用它。
答案1
iptables
在启动过程中停止启动chkconfig
通常可以解决您的问题,但是由于您提到您有一些“网络安全”人员在您的服务器上工作,因此可能会iptables
配置为使用非标准方法启动。向文件添加命令/etc/rc.local
就是一种这样的方法。文件中的任何命令都会在启动期间执行,因此命令可能就iptables
在其中。您可以尝试使用以下命令在系统的所有初始化脚本中搜索命令iptables
:
$ sudo grep -r iptables /etc/rc*
甚至更高一级
$ sudo grep -r iptables /etc*
如果您找不到从哪里加载规则集,您可以查看系统的默认规则集/etc/sysconfig/iptables
并将其与加载的规则进行比较,使用:
$ sudo iptables -vnL
如果文件中的规则是重新启动时加载的规则,则按照您想要的方式配置规则集并使用覆盖文件iptables-save
as root:
# iptables-save > /etc/sysconfig/iptables
这并不能完全解决您的问题,但同时会给您更多的控制权。
答案2
我很可能会查看您的启动脚本,/etc/rc.d/rc.local
并找出 iptables 启动规则的来源。
要清除所有filter
链中的规则,您可以执行以下操作iptables -t filter -F
。