iptables 允许流量通过 wireguard 网关

iptables 允许流量通过 wireguard 网关

我有一台服务器 A,作为某个内联网的网关运行eth0。A 通过 WireGuard 连接到多个“中继节点”,例如 B、C、D……。

假设 IP 设置如下:

主持人 地址
A 10.0.0.1/24
10.0.0.2/24
C 10.0.0.3/24

A 路线一些流量通过 WG。以下是 A 的路由表的一部分:

...
172.16.0.0/16 via 10.0.0.2 dev wg0
172.17.0.0/16 via 10.0.0.3 dev wg0
...

我想允许所有流量路由通过B(10.0.0.2),同时阻止路由流量通过C.使用伪代码,我的想法是这样的:

-A FORWARD -o wg0 --via 10.0.0.2 -j ACCEPT
-A FORWARD -o wg0 --via 10.0.0.3 -j DROP
#                 ^^^^^^^^^^^^^^

路由表中有很多项目我不想在 iptables 规则中重复。另一个问题是 WG 内部没有 MAC(或一般来说 L2)。

有什么方法可以让它工作吗?

相关内容