Wireguard Site2Site mit mobilem Büro

Wireguard Site2Site mit mobilem Büro

Ich habe zwei Netzwerke, die mit Wireguard verbunden sind.

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

Das 10.240.0.0-Netz ist ein Wireguard-Netz (wg0) über mehrere öffentliche Server und ein Server ist ein „Gateway“ mit einer speziellen wg1-Schnittstelle mit 10.100.1.1. So kann ich vom Gateway aus alle Knoten im 192.168.0.0-Netzwerk erreichen. Auf Lan2 ist es ein klassisches lokales Netzwerk mit einigen Servern. Auch auf diesem Peer kann ich alle Knoten hinter Lan1 erreichen.

Nun möchte ich irgendwo in der "wilden" Welt einen neuen Peer hinzufügen - ein mobiles Büro. Der Benutzer soll gleichzeitig auf Lan1 und Lan2 zugreifen können, also z.B. 10.240.0.0/24 und 192.168.0.0/24 erreichen. Der Peer selbst ist beispielsweise ein Mobiltelefon mit Wireguard-Client.

Lan1-Gateway 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

Und der Lan2-Host

[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

Ich kann (nach meinem Verständnis) auf diesem Handy nur den Peer des lan1-Gateways definieren, da ich keinen Zugriff auf lan2_gateway habe, aber den gesamten Verkehr von 192.168.0.0 über lan1_gateway zu lan2_gateway routen möchte

[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

Wenn ich den Road Warrior mit lan1 verbinde, kann ich 10.240.0.0/24 erreichen, aber nicht 192.168.0.0. Was ist falsch? Benötige ich eine weitere Weiterleitungsregel für lan1_gate, um den Verkehr von 192.168.0.0 an 10.100.1.6 weiterzuleiten? Das sollte bereits geschehen sein.

#> 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 

Irgendwelche Ideen?

Antwort1

Sofern Sie keine zusätzlichen Firewall-Regeln auf dem Lan1-Gateway-Host eingerichtet haben, wird der Datenverkehr Ihres „Road Warrior“-Handys von Ihrem Lan1-Gateway an Ihr Lan2-Gateway weitergeleitet, wobei die ursprüngliche WireGuard-Quelladresse des Telefons verwendet wird 10.100.1.2. Sie müssen also die Adresse des Telefons zur AllowedIPsEinstellung in der WireGuard-Konfiguration für den Lan2-Gateway-Host hinzufügen:

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

Das Lan2-Gateway verwirft alle Pakete, die es von seiner WireGuard-Verbindung mit dem Lan1-Gateway empfängt, wenn die Quelladresse des Pakets nicht in dieser AllowedIPsEinstellung enthalten ist.

verwandte Informationen