无法在 *nat 中的“FORWARD”上设置策略“ACCEPT”:内置链名称不正确

无法在 *nat 中的“FORWARD”上设置策略“ACCEPT”:内置链名称不正确

我使用的是 Debian 10,刚刚尝试应用一些我认为在旧版本的 Debian 上有效的防火墙规则。但现在我尝试应用它们时出现错误。这似乎与有关:FORWARD ACCEPT [0:0],但我不知道问题是什么。

我的*nat 规则:

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o ens3 -j MASQUERADE
COMMIT 

当我尝试加载它们时:

$ sudo netfilter-persistent reload
run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start
run-parts: /usr/share/netfilter-persistent/plugins.d/15-ip4tables exited with return code 1

问题似乎出现在第 4 行:

$ sudo iptables-restore --test  /etc/iptables/rules.v4
iptables-restore v1.6.1: Can't set policy `ACCEPT' on `FORWARD' line 4: Bad built-in chain name

我是否需要某个软件包的不同版本?有什么想法吗?

答案1

Linux netfilter 中 table 下没有FORWARDchain nat,只需要去掉第 4 行即可:

:FORWARD ACCEPT [0:0]

相关内容