重新启动时停止 IPTables

重新启动时停止 IPTables

我希望在服务器重新启动时停止 iptables。我知道这不切实际,但我有一个问题,我正在尝试使用 iptables 解决,所以现在我需要它在重新启动时停止。现在 iptables 启动了,所以只是寻找一种在重新启动时自动停止该服务的方法。感谢大家!

答案1

在评论中,您说:

 sudo service iptables stop

iptables这告诉我们 iptables 设置是由名为not iptables-restore、 notnorfirewalld的服务管理的ufw

这是我在服务器重新启动时运行的命令。我需要在重新启动时自动运行该命令,以便服务停止。

不,你错了。您需要运行:

  • sudo systemctl disable iptables(如果您的系统使用systemd
  • sudo chkconfig iptables off(对于没有 的系统systemd)。

这些命令应该阻止iptables在引导时启动,所以一开始就没有什么需要阻止的。

要撤消该效果,请分别使用sudo systemctl enable iptablessudo chkconfig iptables on。这些命令将iptables在下次和后续重新启动时重新启动。

如果您正在使用systemd并且某些其他服务配置为需要 iptables,那么您可能必须使用sudo systemctl mask iptables绝对阻止它启动,即使以其他服务无法启动为代价。要撤消该操作,sudo systemctl unmask iptables.

答案2

根据评论,没有“开始”或“停止”。如果内核正在运行,则 iptables 可用(但您可以将该模块列入黑名单,但这并不是 OP 真正提出的任何问题的答案)。

禁用规则加载可能也不是解决问题的正确方法。解决问题的正确方法是将规则更改为适当的规则(即使这意味着没有活动规则)并将其设置为默认配置。这样,如果您确实需要依赖于 iptables 的功能(例如 docker),那么您可以使用该功能。

由于我们不知道这是什么发行版,因此我们无法告诉您如何做到这一点。配置可能存储在 /etc 中名称中带有“iptables”的文件中。

相关内容