Ubuntu 20.04 无法保留 Iptables 配置

Ubuntu 20.04 无法保留 Iptables 配置

我在之前的所有 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

我注意到两件事

  1. 尽管进行了上述设置,但我无法静默安装。我得到以下屏幕: 在此处输入图片描述 尽管单击了“是”,但文件/etc/iptables/rules.v4仍为空
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
  1. 重启后,所有内容都设置为上述文件。因此没有任何内容被保存。

请问有什么建议吗?

答案1

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

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

顺便问一下,你运行重新配置的唯一目的是为了保存你的规则吗?如果是这样,那么这样做就容易多了iptables-save > /etc/iptables/rules.v4 && ip6tables-save > /etc/iptables/rules.v6

答案2

如何在 ubuntu 20.04 上永久保存 iptables?

这里我将给出端口:80 和 443 的传入规则

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

安装 iptables-persistent

sudo apt-get install iptables-persistent

如果已经安装则重新启动它:

sudo dpkg-reconfigure iptables-persistent

给予 - 两个问题都回答“是”

现在将 iptables 永久保存到文件:

sudo iptables-save | sudo tee /etc/iptables/rules.v4

sudo ip6tables-save | sudo tee /etc/iptables/rules.v6

现在重启你的 ubuntu

sudo reboot

您会发现所有 iptables 规则也将针对我们的端口 80 和 443 传入自动重新加载。

答案3

自 2021 年 2 月起,iptables 不再适用于 UBUNTU 20.04。用户必须迁移到 nftables 包。您可以使用 apt 或 synaptic 安装它。https://www.netfilter.org/projects/nftables/index.html

相关内容