Iptables 在启动时不加载

Iptables 在启动时不加载

我正在使用 Ubuntu 14.04 作为带有 iptables 的防火墙。

我有一个这样的网络接口:

iface lo inet loopback
        pre-up iptables-restore < /etc/iptables.rules

这种方法已经有效多年了,但现在不行了。我的防火墙是最新的。我还启用了日志记录:

iface lo inet loopback
        pre-up iptables-restore < /etc/iptables.rules > /var/log/iptables-boot.log

但它是空的。

我还尝试使用 /etc/network/if-up.d/script 中的脚本进行操作:

#!/bin/sh
iptables-restore < /etc/iptables.rules >> /var/log/iptables_boot.log
echo "iptables loaded" >> /var/log/iptables_boot.log

其中,日志文件仅包含“iptables loaded”,没有其他内容。这意味着脚本运行,但没有将 iptables 规则添加到内核。

有任何想法吗?

谢谢!

答案1

我不确定为什么你的 iptables 配置没有加载。可能是因为你使用的是域名,而不是 ip 地址

我认为最简单的“解决方案”是使用iptables-persistent

首先,配置或加载您的规则(您将被要求将当前规则集保存为安装的一部分)

然后运行

sudo apt-get -y install iptables-persistent

如需更多信息(包括将来修改规则),请参阅 http://www.microhowto.info/howto/make_the_configuration_of_iptables_persistent_on_debian.html

和(针对 IP 地址与域名)

iptables-persistent 在启动时不加载规则

相关内容