我的 nftables 设置有问题。
我有两张桌子,每一张都有一个带有相同钩子但名称和优先级不同的链。
这些表位于由包含参数加载的不同文件中。
由于优先级,我认为 VPN-POSTROUTING 链将在 INTERNET 链之前执行。但在我的设置中,首先执行 INTERNET 链。
table ip nat {
chain INTERNET {
type nat hook postrouting priority srcnat + 1; policy accept;
oifname br2 masquerade
}
}
table ip vpn {
chain VPN-POSTROUTING {
type nat hook postrouting priority srcnat - 1; policy accept;
oifname br2 ip saddr 10.0.0.0/24 ip daddr 192.168.0.0/24 accept
}
}
我的错误在哪里?
编辑:我更改了规则并将所有链添加到同一个表中,结果相同。
在下一步中,我按照 AB 的建议将计数器和日志添加到规则中。
链的顺序与优先级相对应,但不会触发 VPN 的接受规则。
当我将 VPN 接受规则添加到 INTERNET 链中时,就在伪装规则之前,它按预期工作。