我使用的是 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 下没有FORWARD
chain nat
,只需要去掉第 4 行即可:
:FORWARD ACCEPT [0:0]