Ubuntu 上的 iptables 规则恢复

Ubuntu 上的 iptables 规则恢复

我在 Ubuntu 10.04 上使用 iptables,每当我设置 iptables 规则时,它们都会在一段时间后恢复。我使用 iptables -I INPUT 或 iptables -D INPUT 设置它们,它们立即起作用,我在 iptables -L INPUT 中看到它们,但过了一会儿规则又恢复了。

我甚至导出了规则

iptables-save > /etc/firewall.conf

我甚至创建了一个脚本 /etc/network/if-up.d/iptables

#!/bin/sh
iptables-restore < /etc/firewall.conf

我甚至检查了firewall.conf,里面有我想要的规则。

那么为什么 iptables 会恢复呢?

更新:

我在 /etc/cron.daily/apf 中发现了这个

#!/bin/bash
/etc/apf/apf -f >> /dev/null 2>&1
/etc/apf/apf -s >> /dev/null 2>&1

这会刷新 iptables 规则吗?

答案1

维基页面引用了 feisty 等。可能已经过时了,但我猜它仍然有意义:

https://help.ubuntu.com/community/IptablesHowTo#Configuration%20on%20startup这表明 NetworkManager 可能是罪魁祸首……

https://help.ubuntu.com/community/IptablesHowTo#Configuration%20on%20Startup%20for%20NetworkManager然后建议如何让 NetworkManager 正常运行。

答案2

我不熟悉 apf,但很容易检查它是否是罪魁祸首。将其从 cron 中删除。

我也会做一些类似的事情grep -ri --color iptables /etc,并检查/var/log/messages任何/var/log/syslog可能导致这种情况的事情。

相关内容