我正在使用 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 地址与域名)