我用来netfilter-persistent
管理防火墙。
我想使用伪装来共享两个接口之间的连接(例子, 或者其他)。当我通过调用它来运行这些操作时,iptables
它起作用了。
但是,如果我尝试更新存储在/etc/iptables/rules.v4
添加这样一行的防火墙规则:
-t nat -A POSTROUTING -o wlan0 -j MASQUERADE
以-t
make开头的行netfilter-persistent
无法运行并且防火墙未更新:
Nov 16 11:51:32 helena systemd[1]: netfilter-persistent.service: Main process exited, code=exited, status=1/FAILURE
Nov 16 11:51:32 helena systemd[1]: Failed to start netfilter persistent configuration.
netfilter-persistent
所以我想知道是否可以用or来存储这种规则
- 这是一个已知的限制吗?
- 它不能工作有充分的理由吗?
- 有没有办法让它工作?
答案1
您可能正在添加一条旨在用于NAT表在里面过滤表块适合于iptables-restore
,并且语法不恰当。
直到您知道如何/etc/iptables/rules.v4
直接编辑(通过研究iptables-save
),你应该这样做:
- 请小心,因为该规则将立即应用,
使用以下命令更改当前运行的防火墙规则:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
研究结果:是否值得更改配置?
如果值得,请询问
netfilter-persistent
保存规则。它将依次运行iptables-persistent
将使用的插件iptables-save
在引擎盖下。netfilter-persistent save
您会注意到新的配置文件(适合由iptables-restore
)现在有一个块纳特表与您的规则(和没有-t nat
),与筛选表块。