使用 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
。