Wireguard Site2Site mit Roadwarrior

marcel280685
Goto Top
Hallo zusammen,

ich hoffe es geht euch gut? Ich bin sicher, es gibt hier ein paar Leute, welche mir einen Tipp geben könnten.

Ich taste mich gerade in der Freizeit ein wenig an Wireguard heran. Habe auch schon ein paar "Teilerfolge" verbuchen können, hänge aber seit Tagen an einer kleinen, aber für mich wichtigen Sache.

Ich bin auf die "total tolle Idee" gekommen meinen Kleingarten (welcher via LTE angebunden ist) mit meinem Zuhause zu verbinden (DSL dyn IP).
Dafür hatte ich schön zwei Pi`s liegen, welche ich direkt mit WG betankt habe. Nachdem das auch geklappt hat, dachte ich mir, du kannst ja jetzt dein Notebook/Smartphone auch direkt mit WG anbinden und hast dann Zugriff nach Hause und in den Garten.
Doch da ist jetzt mein Problem, ich erreiche auf beiden Seiten alle Geräte in den Netzwerken, leider erreiche ich via Notebook/Smartphone von extern nur das Netzwerk zuhause.

Bilder sagen mehr als tausend Worte, hier mal ein grober Aufbau:

wireguard

Anbei noch die Konfig-Dateien von allen Seiten:

Pi Zuhause (192.168.15.1)
wg0


Pi Zuhause (192.168.15.1)
wg1


Pi Garten (192.168.50.1)
wg0


Roadwarrior (172.31.10.4)

Ich kann vom Garten ohne Probleme Richtung zuhause und umgekehrt.

Vom Smartphone via LTE komme ich per ping auf die IPs 192.168.10.0/24 + 192.168.15.1 + 172.31.0.1 + 172.31.10.1
Auf die 172.31.0.2 komme ich hingegen nicht, genau wie auf die 192.168.50.0/24 welche ich gerne hätte.
Ich habe schon unzählige Seiten auf Google mit verschiedenen Ideen angefasst, ich schaffe es einfach nicht die Daten vom Smartphone durch den Tunnel nach Hause und dann direkt weiter durch den Tunnel in Garten zu schieben. Ich habe sicher nur einen kleinen Denkfehler, aber dieser hält sich hart.

Wäre super, wenn einer einen Anstoß zur Lösung geben könnte.

Vielen Dank und einen sonnigen Tag wünsche ich.

Content-Key: 3133493086

Url: https://administrator.de/contentid/3133493086

Ausgedruckt am: 01.07.2022 um 17:07 Uhr

Mitglied: aqui
aqui 21.06.2022 aktualisiert um 15:28:32 Uhr
Goto Top
Du machst wie so häufig leider auch den fatalen Fehler innerhalb des Tunnels NAT/Masquerading (IP Adress Translation) zu machen, was völlig sinnfrei und auch kontraproduktiv (Performance) ist bei eigenen Netzen.

Damit hast du dann innerhalb des Tunnels eine routingtechnische Einbahnstrasse mit genau dem Problem was du oben schilderst weil du die dann damit laufende NAT Firewall wegen der fehlenden Sessiontable nicht überwinden kannst mit dem Resultat von oben.
Fazit: Lasse den Unsinn mit dem NAT und entferne das komplett dann kommt dein Wireguard VPN auch sofort zum Fliegen.
Alles Weitere erklärt dir im Detail, wie immer, das hiesige Wireguard Tutorial. 😉
Was übrigens auch eindringlich auf den NAT Fehler hinweist! Sofern man es denn einmal liest...

Ein weiterer Fehler ist im "Zuhause Pi" der ja als Server agiert. Warum sind dort ein wg0 und ein wg1 Interface? Das ist falsch. Es sollte nur ein wg0 geben mit den Peers auf den "Garten Pi" und das mobile oder die mobilen Endgeräte.

Gesamt gesehen auch ein eigentlich überflüssiges VPN Konzept, den die UBQT Routergurke bei dir ist VPN fähig und du hättest alles zentral damit lösen können ohne weiteren Hardware Overhead. Es sei denn du siehst das als Lern- und Spielprojekt um RasPis zu recyceln...
Mitglied: marcel280685
marcel280685 22.06.2022 aktualisiert um 09:34:28 Uhr
Goto Top
Hallo aqui, danke für deine Antwort.

Also ich sehe das wirklich nur als Lern- und Spielprojekt weil ich die Pi`s liegen habe und ich mich gerne mal damit beschäftigen wollte in Kombination mit Wireguard. Ich verbinde ja nur "nur" den Kleingarten mit Zuhause face-smile.
Das der Unifi einen VPN Server hat ist bekannt, aber wie oben schon geschrieben ... Lern- und Spielprojekt.

Ich habe deinen Rat angenommen und habe auf beiden Seiten die Zeilen in den .conf entfernt und natürlich auch das Tutorial von oben gelesen. Also das mit dem NAT habe ich in so vielen Anleitungen dazu gelesen, daher habe ich es auch aktiviert. War dann ein Fehler von mir. Warum auf dem Pi Zuhause zwei wg Interface sind, ist auch aus googlen entstanden. Dort hieß es, es sei sinnvoll die site2site und die Roadwarrior zu trennen und dafür ein wg1 erzeugen.
Werde das auch anpassen wenn die Site2Seite wieder richtig läuft, dazu komme ich jetzt.

Die Konfig bei den beiden Pi`s für die site2site sieht jetzt so aus:

Pi Zuhause (192.168.15.1)
wg0


Pi Garten (192.168.50.1)
wg0


Ich habe auf der UBQT Routergurke statische Routen eingetragen:

Auf der Kiste im Garten auch

Ich erreiche jetzt von 192.168.10.0/24 & 192.168.15.0/24 per Ping ohne Probleme 192.168.50.10 (GW Garten) & 192.168.50.1 (Pi Garten). Den NAS und die Kameras im Garten erreiche ich per ping manchmal ja, manchmal nein. (EDIT: Gerade nochmal getestet, geht nicht)

Umgekehrt ist es auch so, ich erreiche von 192.168.50.0/24 per ping 192.168.10.10 & 192.168.15.10 & 192.168.15.1, den Rest in den Netzwerken allerdings auch nur sporadisch. (EDIT: Gerade nochmal getestet, geht scheinbar doch, aber erst nach x Ping-Versuchen)

Stelle ich die Pi`s wieder auf NAT, dann erreiche ich wieder alle, aber mit dem NAT ist es ja falsch. Wo ist da der Fehler?

Hier die Kommunikation von beiden Seiten, da läuft was falsch.

Site2Site Verbindung im Tunnel
2

Verbindung zur GW der Gegenseite
3

Verbindung zum NAS auf der Gegenseite
1

Verbindung von Pi zu Pi
4

iptables
5

ip r
6


Besten Dank
Mitglied: aqui
aqui 22.06.2022 aktualisiert um 10:01:51 Uhr
Goto Top
Also das mit dem NAT habe ich in so vielen Anleitungen dazu gelesen, daher habe ich es auch aktiviert.
Bedeutet aber nicht das das immer richtig ist!
Dort hieß es, es sei sinnvoll die site2site und die Roadwarrior zu trennen
Warum sollte das sinnvoller sein und wo genau läge da der Vorteil? Wireguard unterscheidet konfigtechnisch da ja gar nicht zwischen Client VPN und S2S.
Irgendwo fehlt da etwas in deiner Konfig. Richtig wäre:
Pi Zuhause (Server):
Server intern=.1 WG Client IPs dann ab .100. .101=1ter Client=Garten, .102=2ter Client=Mobilgerät
[Interface]
Address = 172.31.0.1/24
ListenPort = 51820
PrivateKey = Privater Server Key

[Peer]
PublicKey = Öffentlicher Garten Key
AllowedIPs = 172.31.0.101/32, 172.31.0.102/32, 192.168.50.0/24
PersistentKeepalive = 25

[Peer]
PublicKey = Öffentlicher Client Key
AllowedIPs = 172.31.0.102/32, 192.168.50.0/24

2 Peers einmal der Garten und einmal der mobile Client

Pi Garten:
[Interface]
PrivateKey = Privater Garten Key
Address = 172.31.0.101/24

[Peer]
PublicKey = Öffentlicher Server Key
Endpoint = wireguard.xxxxx-xxxxx.net:51820
AllowedIPs = 172.31.0.1/32, 172.31.0.102/32, 192.168.15.0/24


Mobiler Client:
[Interface]
PrivateKey = Privater Client Key
Address = 172.31.0.102/24

[Peer]
PublicKey = Öffentlicher Server Key
Endpoint = wireguard.xxxxx-xxxxx.net:51820
AllowedIPs = 172.31.0.1/32, 192.168.15.0/24, 192.168.50.0/24


Dein Fehler ist einmal die falsche IP Adresse .10.0/24 auf dem Garten Pi (das IP Netz existiert nirgendwo) und vermutlich deine Key Verteilung. Letzteres ist aber unklar weil du alles fälschlicherweise mit "Mein Key" bezeichnest was den Verdacht nahelegt das das überall der gleiche ist und es dann natürlich in die Hose geht.

Route auf der UBQT Gurke ist richtig. Bedenke das du zusätzlich am Gartenrouter ebenso eine statische Route ins Zuhause Netz .15.0/24 via Pi eingeben musst ansonsten geht der Traffic fürs Zuhause Netz logischerweise ins LTE Nirwana! Steht auch im Tutorial. face-wink
Mitglied: marcel280685
marcel280685 22.06.2022 aktualisiert um 11:33:26 Uhr
Goto Top
Danke nochmal, dass du dir die Zeit nimmst zu helfen.

So, ich habe das mal genau so gebaut, wie du gesagt hast (hoffe ich).
Ich kann aus dem Zuhause den Garten nicht wirklich erreichen, der Tunnel steht aber, die Tunnel IPs gehen, daher komme ich über die Tunnel IP vonm PI im Garten auch noch via SSH drauf von Zuhause aus.

Das Notebook kann von extern auf Zuhause, kommt aber nicht in den Garten.


wg0.conf von beiden Seiten (letzten zwei Zeichen von den Key`s sind unkenntlich gemacht)
config

ip r
ipr

mtr
mtr zu pi

ping zwischen pi`s
ping zwischen pi

Ping zum Roadwarrior
ping von pi zu roadwarrior

Roadwarrior Konfig
roadwarrior

Ping vom Roadwarrior
ping vom roadwarrior

route print vom Roadwarrior
route rw

wg
wg

Besten Dank
Mitglied: aqui
aqui 22.06.2022 aktualisiert um 15:27:13 Uhr
Goto Top
Die wg Adresse deines Roadwarriors ist falsch!! Als eigene Adresse gibt man immer die Maske des verwendeten IP Netzes an also /24! Das gilt auch für die Pi Clients.
Nur in den "Allowed" IP bestimmst du mit der Maske welcher Traffic in den Tunnel geroutet wird. Eine /32 ist eine Hostmaske und lässt dann explizit nur diesen Traffic durch. /24 dann z.B. das gesamte Netz.
Das solltest du also korrigieren.

Nur nochmal nebenbei gefragt: Das Aktivieren IPv4 Forwarding in den Raspberries mit Auskommentieren von net.ipv4.ip_forward=1 in der /etc/sysctl.conf und einem anschliessenden Reboot hast du gemacht??

Wenn du mit einem Client im lokalen Server Netz .15.0 bist kannst du dann:
  • die interne WG Server IP 172.31.0.1
  • die interne WG Garten IP 172.31.0.101
  • die lokale Garten IP .50.1
pingen ?
Mitglied: aqui
Lösung aqui 22.06.2022 aktualisiert um 20:09:56 Uhr
Goto Top
Damit das Drama hier mal ein Ende hat...

back-to-topTestsetup

wgtest

back-to-topServer Setup "Zuhause"

back-to-topClient Setup "Garten"

back-to-topSetup mobiler Windows Client

back-to-topStatische Routen

FritzBox simuliert deine UBQT Gurke (Zuhause)
Mikrotik simuliert LTE Router (Garten)
wg1
wg2

back-to-topWG und Ping Checks Server (Zuhause)

back-to-topWG und Ping Checks Client (Garten)

back-to-topWG und Ping Checks mobiler Client (Windows)

win

back-to-topFazit

Works as designed ! 👍 😉
Mitglied: marcel280685
marcel280685 22.06.2022 um 20:04:52 Uhr
Goto Top
Zitat von @aqui:

Die wg Adresse deines Roadwarriors ist falsch!! Als eigene Adresse gibt man immer die Maske des verwendeten IP Netzes an also /24! Das gilt auch für die Pi Clients.
Nur in den "Allowed" IP bestimmst du mit der Maske welcher Traffic in den Tunnel geroutet wird. Eine /32 ist eine Hostmaske und lässt dann explizit nur diesen Traffic durch. /24 dann z.B. das gesamte Netz.
Das solltest du also korrigieren.
Ist korrigiert


Nur nochmal nebenbei gefragt: Das Aktivieren IPv4 Forwarding in den Raspberries mit Auskommentieren von net.ipv4.ip_forward=1 in der /etc/sysctl.conf und einem anschliessenden Reboot hast du gemacht??
Jap, war die erste Amtshandlung bei der Erstinstallation

Wenn du mit einem Client im lokalen Server Netz .15.0 bist kannst du dann:
  • die interne WG Server IP 172.31.0.1
  • die interne WG Garten IP 172.31.0.101
  • die lokale Garten IP .50.1
pingen ?
Ich erreiche
172.31.0.1
172.31.0.101

.50.1 erreiche ich nicht
von 50.0
erreiche ich
172.31.0.1
172.31.0.101
192.168.15.1
192.168.15.10

Wenn sonst nichts hilft, werde ich am Wochenende alles nochmal neu machen müssen.
Mitglied: aqui
aqui 22.06.2022 aktualisiert um 20:41:02 Uhr
Goto Top
Mit der o.a. Anleitung dürfte dann sicher garantiert nix mehr schiefgehen... face-wink
Mitglied: marcel280685
marcel280685 22.06.2022 um 20:52:15 Uhr
Goto Top
Ich werde berichten, Danke
Mitglied: aqui
aqui 22.06.2022 um 21:53:27 Uhr
Goto Top
...und wir sind gespannt! face-big-smile
Mitglied: marcel280685
marcel280685 24.06.2022 um 08:26:20 Uhr
Goto Top
..ich glaube ich schmeiß es hin...

Ich habe deine Anleitung 3x auf frischen Pi`s auf beiden Seiten installiert und bekomme immer das gleiche Ergebnis.

Garten kann Zuhause komplett erreichen
Roadwarrior kann Zuhause komplett erreichen

Roadwarrior kann im Garten nur den Pi und die Gateway (LTE Router) erreichen, keine Clients im restlichen Netz
Zuhause kann im Garten nur den Pi und die Gateway (LTE Router) erreichen, keine Clients im restlichen Netz





Mitglied: aqui
aqui 24.06.2022 aktualisiert um 10:23:04 Uhr
Goto Top
Roadwarrior kann im Garten nur den Pi und die Gateway (LTE Router) erreichen, keine Clients im restlichen Netz
Sind das Windows Rechner?? Und...was meinst du genau mit "Erreichen". Ping??
Wenn das Windows Rechner sind bedenke 2 Dinge:
  • Die lokale Win Firewall blockt generell den Zugang aus fremden IP Netzen. Das ist bei dir ja der Fall wenn du von Roadwarrior oder Zuhause Netz zugreifst. Ggf. musst du also die Firewall anpassen. (Firewall mit erweiterter Sicherheit)
  • Ping nutzt ICMP als Protokoll. Die Windows Firewall blockt generell ICMP im Default. Siehe HIER. Also auch hier ggf. anpassen
Der Roadwarrior taucht im Gegensatz zum Zuhause Netz an den Garten Geräten dort mit einer internen VPN Absender IP auf (172.31.0.x).
Es ist möglich das du am LTE Router dort die statische Route in das 172.31.0.0 /24 Netz mit Gateway=Pi IP vergessen hast und/oder diese Route nicht greift wegen Tippfehler, falscher Maske usw.
Den Symptomen nach spricht vieles dafür.
Im Zweifel immer strategisch vorgehen und mit apt install tcpdump einen Paket Sniffer auf dem Pi installieren und einmal an dessen LAN Port checken ob dort die vom VPN kommenden Pakete an die Endgeräte im Garten rausgehen.
Dann auch auf einem der Endgeräte die nicht erreichbar sind mit einem Wireshark oder tcpdump checken ob die Roadwarrior Pakete dort eingehen und auch beantwortet werden.
Ist das der Fall kann es nur noch an der fehlerhaften statischen Route auf dem LTE Router liegen oder eben der lokalen Firewall an diesen Geräten.
Mitglied: marcel280685
marcel280685 24.06.2022 aktualisiert um 13:56:29 Uhr
Goto Top
Mit Clients sind eigentlich meist nur Kameras, NAS oder IoT Geräte gemeint, welche ich PINGE und auf die dortigen Dienste zugreife, meiste die WebGUI. Daher fällt die Windows Firewall aus.

Hier nochmal die jetzige Konfig

Pi Garten

Route auf LTE im Garten
2022-06-24 11_57_39-window


Pi Zuhause

Route auf Unifi Zuhause
2022-06-24 11_58_54-window

Roadwarrior


Wenn du auf Basis der Daten jetzt keinen Fehler siehst, dann ignoriere ich Wireguard jetzt 3 Tage und geh entspannt wieder dran mit tcmpdump & Co.

Habe auch beim NAS im Garten oder dem Kameras geschaut, ob die ein Ping aus einem fremden Netz misstrauen, aber die GUI`s gehen halt leider auch nicht.

Danke dir aber trotzdem sehr für deine Geduld, ich hoffe ich war nicht zu akribisch und habe dadurch einen Fehler übersehen.
Mitglied: aqui
aqui 24.06.2022 aktualisiert um 12:34:10 Uhr
Goto Top
Pi Garten
Da fehlen ja deine Zuhause IP Netze in den Allowed IPs des Garten Pis!! Das lokale .10er VLAN dort hattest du ja auch erlaubt. Zumindestens also der .15er mit dem Server fehlt und dann ist klar warum es scheitert weil der Server ja dein zentraler Zugangspunkt ist und er OHNE diese Einträge diese IP Netze unereichbar macht fürs Gartennetz!
Richtig im Garten Pi ist also:
Da warst du wohl schon etwas betriebsblind vor lauter Verzweiflung, oder?! face-wink
Mitglied: marcel280685
marcel280685 24.06.2022 um 13:54:32 Uhr
Goto Top
Sorry, mein Fehler, da ist beim Copy & Paste ins Forum was falsch gelaufen

Die Konfiguration vom Pi Garten sieht die ganze Zeit so aus, die IPs sind bzw. waren drin und es klappt nicht.

Mitglied: aqui
aqui 24.06.2022 aktualisiert um 17:39:36 Uhr
Goto Top
Sie sind schon wieder NICHT drin oder welchen tieferen Sinn hat es das du hier immer und immer wieder sinnfrei die FALSCHE Konfig für den Garten postest?! face-sad
Wie gesagt:
  • Allowed IPs (Garten) zwingend korrigieren
  • Statische Route (Garten) checken
  • Pakete im Gartennetz sniffern

Du kannst das alternativ wasserdicht checken indem du eines der Gartenendgeräte (Kamera, etc) einmal das Default Gateway testweise direkt auf den Pi setzt. Dann müssen diese nicht über die statische Route geroutet werden.
Wenn es dann immer noch nicht gehen sollte hast du ein generelles Problem irgendwo, denn das Setup rennt ja nachweislich fehlerlos wie du oben selber sehen kannst.
Mitglied: marcel280685
marcel280685 25.06.2022 aktualisiert um 14:06:07 Uhr
Goto Top
Sie sind schon wieder NICHT drin oder welchen tieferen Sinn hat es das du hier immer und immer wieder sinnfrei die FALSCHE Konfig für den Garten postest?!

Sorry, aber was meinst du? Im Garten auf dem Pi ist in der wg0.conf die ganze Zeit das:


2022-06-25 14_01_27-window

Ich habe oben ausversehen aus Putty falsch kopiert...es aber korrigiert im Post. Im Pi wars immer so.
Mitglied: marcel280685
marcel280685 25.06.2022 um 14:14:26 Uhr
Goto Top
Du kannst das alternativ wasserdicht checken indem du eines der Gartenendgeräte (Kamera, etc) einmal das Default Gateway testweise direkt auf den Pi setzt.

Wenn ich dem NAS als GW die IP vom PI Garten gebe, dann kann ich diesen von Zuhause erreichen.
Mitglied: aqui
aqui 25.06.2022 um 15:26:39 Uhr
Goto Top
Dann hast du doch deinen phösen Buhmann!!
Es ist dann entweder der LTE Router der nicht richtig routet oder wo die Zuhause und WG Routen falsch eingetragen sind. Letzteres kann man aber ausschliessen wenn der Screenshot von oben noch stimmt, denn da ist es korrekt.
Oder das NAS hat einen fehlenden oder falschen Gateway Eintrag gehabt.
Eins von beiden muss es ja sein?!
Mitglied: marcel280685
marcel280685 25.06.2022 aktualisiert um 16:00:23 Uhr
Goto Top
Es ist dann entweder der LTE Router der nicht richtig routet

Ich vermute auch den LTE Router, alles andere kann ich jetzt echt ausschließen denke ich. Ich stehe auch kurz davor auf den LTE Router OpenWRT zu installieren (lese aber vorher noch ein wenig darüber), dann habe ich vielleicht Ruhe. Eine neue FW gibt es leider nicht für die billige LTE Kiste. Ich habe zumindest bei dem ganzen viel über WG gelernt dank deiner Geduld. Dafür besten Dank


Oder das NAS hat einen fehlenden oder falschen Gateway Eintrag gehabt.

Passt aber, die Kameras verhalten sich auch so, ändere ich die GW auf den PI, habe ich Ping von Zuhause in den Garten, stell ich es zurück, geht der Ping nicht mehr.
Mitglied: aqui
aqui 25.06.2022 aktualisiert um 16:14:37 Uhr
Goto Top
Du kannst den Gateway Eintrag der Gartengeräte auch allesamt auf den Pi umstellen.
Der hat ja selber wiederum eine Default Route auf den LTE so das es dann wieder passt.
So kannst du zumindestens ohne großen Aufwand das Problem umschiffen. face-wink
Mitglied: marcel280685
marcel280685 25.06.2022 um 17:58:32 Uhr
Goto Top
Ich habe auf den LTE Router jetzt OpenWRT installiert und bumm, es geht.
Der verdammte LTE Router hat das Routing mit der Stock FW nicht korrekt gemacht.
Mitglied: aqui
aqui 26.06.2022 um 12:23:47 Uhr
Goto Top
👏 👍 Glückwunsch!