Ubuntu 16.04 中的 iptables 在哪里?

Ubuntu 16.04 中的 iptables 在哪里?

iptables我正在阅读在 Android中直接写入系统的源代码/system/xbin/iptables。我想在 Ubuntu 中执行相同操作,而不使用命令iptables

Ubuntu 16.04 在哪里iptables?我关注了一些不适用于此版本 Ubuntu 的问题和答案。

find / -name iptables返回/sbin/iptables包含二进制和可能的人类!

iptables命令将其配置写入文件在哪里?

答案1

iptables将其信息存储在 RAM 中,这意味着它是非持久性的。如果您想随时保存/恢复它,您需要使用几个命令。

首先,您可以iptables像平常一样按照自己想要的方式设置规则。然后,您可以使用以下方法冻结这些规则:

sudo iptables-save | sudo tee /etc/iptables.conf

然后,要加载规则,只需运行以下命令:

sudo iptables-restore < /etc/iptables.conf

您可以将其添加到您的/etc/rc.local或类似程序中以使其在启动时自动运行,或者您可以让您的程序调用这个可执行文件(或者只是iptables一遍又一遍地传递相同的规则)。

答案2

你实际上应该考虑使用 ufw,而不是 iptables。默认防火墙配置工具由 ubuntu 内部提供。

所有通过 iptables 配置的防火墙设置都可以通过 ufw 进行保存,比如位于 的配置文件/etc/default/ufw

NAT也可以被配置和存储:https://gist.github.com/kimus/9315140

答案3

iptables除非你像这样保存规则,否则磁盘上不会存储任何内容:

service iptables save

重启后,您保存的规则将恢复原状。您可以通过执行iptables -L列出规则来查看。

规则实际上存储在磁盘上(如果保存的话)/etc/sysconfig/iptables

相关内容