我必须连接到与 Wireguard 连接的网络。
Lan1:
10.240.0.0/24
via 10.100.1.1/32 on public static ip A.B.C.D/32
Lan2:
192.168.0.0/24
via 10.100.1.6/32 on dynamic ip from provider
10.240.0.0 网络是多台公共服务器上的有线保护网络 (wg0),其中一台服务器是“网关”,具有与 10.100.1.1 的特殊 wg1 接口。所以我可以从网关访问 192.168.0.0 网络中的所有节点。在 Lan2 上,它是一个带有一些服务器的经典本地网络。同样在那个对等点上,我可以到达 Lan1 后面的所有节点。
现在我想在“狂野”的某个地方添加一个新的对等点——移动办公室。用户应该可以同时访问 Lan1 和 Lan2,例如访问 10.240.0.0/24 和 192.168.0.0/24。对端本身就是一个手机,以 Wireguard 客户端为例。
Lan1 网关 wg1.conf
[Interface]
Address = 10.100.1.1/32
...
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;
# road-warrior
[Peer]
PublicKey = ...
AllowedIps = 10.100.1.2/32
# Lan2 gateway
[Peer]
PublicKey = ...
AllowedIps = 10.100.1.6/32, 192.168.0.0/24
和 Lan2 主机
[Interface]
Address = 10.100.1.6/32
...
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE
# lan1_gate
[Peer]
PublicKey = ...
EndPoint = fqdn:port
AllowedIPs = 10.100.1.1/32, 10.240.0.0/24
我只能在该手机上定义(据我所知)lan1 网关的对等方,因为我无权访问 lan2_gateway 但我想通过 lan1_gateway 将所有流量 von 192.168.0.0 路由到 lan2_gateway
[Interface]
Address = 10.100.1.2/32
...
[Peer]
PublicKey = ...
EndPoint = fqdn:port
AllowedIPs = 10.100.1.1/32, 192.168.0.0/24, 10.240.0.0/24
当我用lan1连接公路战士时,我可以到达10.240.0.0/24但不能到达192.168.0.0。怎么了?我是否需要 lan1_gate 上的另一个转发规则将 192.168.0.0 的流量转发到 10.100.1.6?那应该已经完成了。
#> ip r s
default via 172.31.1.1 dev eth0 onlink
...
10.100.1.2 dev wg1 scope link
10.100.1.6 dev wg1 scope link
...
10.240.0.4 dev wg0 scope link
10.240.0.5 dev wg0 scope link
...
172.31.1.1 dev eth0 proto kernel scope link src A.B.C.D
192.168.10.0/24 dev wg1 scope link
有任何想法吗?