我已经使用 Wireguard 和 Nftables 设置了一个运行 Pi OS 11 的 pi 作为本地网络的 VPN 网关,一切正常。
但是,我希望在不使用 iptables 的情况下切换到 firewalld 以与 docker 兼容。
我到目前为止是这样的:
- 内部区域:eth0
- 外部区域:wg0
我无法弄清楚如何让防火墙在 eth0 和 wg0 之间转发流量。使用原始 nftables 我只有以下内容,默认情况下我的正向链下降:
nft insert rule inet firewall forward iifname "eth0" oifname "wg0" accept
nft insert rule inet firewall forward iifname "wg0" oifname "eth0" ct state related,established accept
但是我无法找到如何在接口之间有条件地转发,如上述规则。
我不希望 eth0 在带有 wg0 的外部区域中,因为如果 VPN 出现故障,我希望互联网访问终止切换,而且它有点违背区域的整个想法,不是吗?eth0 仅用于 LAN 而 wg0 用于外部连接。