我已經連接到與 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),其中一台伺服器是一個“網關”,具有與 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,但我想將所有流量 von 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
。因此,您需要將電話的位址新增至AllowedIPs
Lan2 閘道主機的 WireGuard 設定中的設定:
AllowedIPs = 10.100.1.1/32, 10.100.1.2/32, 10.240.0.0/24
AllowedIPs
當封包的來源位址不包含在此設定中時,Lan2 閘道將丟棄從其與 Lan1 閘道的 WireGuard 連線接收的任何封包。