Ubuntu 20.04 无法保留 Iptables 配置

Hou*_*man 5 iptables 20.04

我在之前的所有 Ubuntu 版本中都这样做过,没有出现问题,但在 Ubuntu 20.04 中发生了一些变化。

sudo apt install iptables-persistent

iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
...

debconf-set-selections <<< "iptables-persistent iptables-persistent/autosave_v4 boolean true"
debconf-set-selections <<< "iptables-persistent iptables-persistent/autosave_v6 boolean true"
dpkg-reconfigure iptables-persistent
Run Code Online (Sandbox Code Playgroud)

我注意到的两件事

  1. 尽管进行了上述设置,但我无法静默安装它。我得到这个屏幕: 在此处输入图片说明 尽管单击是,文件/etc/iptables/rules.v4还是空的
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
Run Code Online (Sandbox Code Playgroud)
  1. 重新启动后,一切都设置为上面的文件。所以什么都没有保存。

请问有什么建议吗?

Bri*_*rek 6

我至少可以回答你的部分问题,看来没有办法在重新配置期间抑制保存提示并让它执行保存。您可以通过设置“iptables-persistent/autosave_done”来抑制提示,但这也会阻止任何保存的发生。如果你想看一下逻辑,它包含在/var/lib/dpkg/info/iptables-persistent.configand中/var/lib/dpkg/info/iptables-persistent.postinst

我不知道为什么重新配置保存不起作用,这听起来很愚蠢,但是您可以iptables -t filter -L -n在运行重新配置之前执行此操作吗?看起来像你期待的那样吗?

作为一个附带问题,您运行重新配置的唯一目的是保存规则吗?如果是这样,那就容易得多iptables-save > /etc/iptables/rules.v4 && ip6tables-save > /etc/iptables/rules.v6

  • 我可以确认 `iptables-save &gt; /etc/iptables/rules.v4` 正确保存了规则并且在重新启动时可用。 (2认同)