Wireguard Site2Site 带移动办公

Wireguard Site2Site 带移动办公

我已经与 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 网络是多个公共服务器上的 wireguard 网络 (wg0),其中一个服务器是“网关”,具有特殊的 wg1 接口,接口为 10.100.1.1。因此,我可以从网关访问 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,但我想将所有来自 192.168.0.0 的流量通过 lan1_gateway 路由到 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

当我将 Road Warrior 与 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.0.0/24 dev wg1 scope link 

有任何想法吗?

答案1

除非您在 Lan1 网关主机上设置了一些额外的防火墙规则,否则来自您的“公路战士”手机的流量将使用手机的原始 WireGuard 源地址从您的 Lan1 网关转发到您的 Lan2 网关10.100.1.2。因此,您需要将手机的地址添加到AllowedIPsLan2 网关主机的 WireGuard 配置中的设置中:

AllowedIPs = 10.100.1.1/32, 10.100.1.2/32, 10.240.0.0/24

AllowedIPs当数据包的源地址不包含在此设置中时,Lan2 网关将丢弃从其与 Lan1 网关的 WireGuard 连接接收的所有数据包。

相关内容