Kein Wireguard Tunnel unter Ubuntu - gleiche Konfig auf Android funktioniert problemlos
Hallo zusammen,
vorweg ein großes Dankeschön, dieses Forum hat mir schon oft bei Problemen und mit Tutorials geholfen.
Leider finde ich, trotz intensiver Sucher, bisher keine Lösung für ein Problem mit Wireguard.
Ich nutze seit längerem, ohne Probleme, Wireguard mit einem Android-Mobilgerät. Gegenstelle ist OPNsense mit entsprechend konfiguriertem Wireguard-Server-Plugin.
Nun versuche ich einen Debian-Laptop über den Tunnel zu verbinden, dies gelingt aber nur unter sehr speziellen Bedingungen.
Ich habe zunächst eine zweite Konfig erstellt und diese, nach den ersten erfolglosen Versuchen unter Debian, auf verschiedenen anderen Geräten getestet. Zwei mal mit anderen Androiden und einmal auf einer Windows11-Maschine. Das Test-Setup sah dabei immer gleich aus, ein WLAN-Hotspot Handy, dass via GSM zum WWW verbunden ist. Sowohl Handy-Handy also auch die Windows-Handy-Verbindung funktionieren, ich kann auf die entsprechenden Server hinter der FW zugreifen.
Aber aus irgend einem Grund kann ich weder mit einem Debian 12 Laptop, noch mit einem Ubuntu 22.04 Laptop den Tunnel erfolgreich starten.
Bizarr ist, dass ich den Tunnel auf diesen Geräten starten kann, wenn diese mit dem Lokalen Netzwerk gekoppelt sind.
Um den Tunnel auf zu bauen, nutze ich das "wg-quick" Kommando im CLI. Dabei ist mir aufgefallen, dass ich, wenn ich einen DNS Eintrag in der wg0.conf habe, der Aufbau mit dem Hinweis auf nicht vorhandenes "resolveconf" abbricht. Kommentiere ich DNS aus, läuft der Aufbau durch, es erfolgt aber kein in Osense sichtbarer Handshake und der Cliente sendet laut "wg" Kommando Daten, empfängt aber keine.
Ich habe dann den "resolveconf" Befehl recherchiert und alternative einmal den "systemd-networkd.service" aktiviert. Dabei habe ich festgestellt, dass meine DynDNS Adresse ohne aktiven "systemd-networkd.service" zu einer IPv6 Adresse aufgelöst wird (Tunnel klappt nicht), und bei aktivem "systemd-networkd.service" zu einer IPv4 Adresse, womit der Tunnel dann funktioniert...
Kann sich jemand hier dieses Fehlerbild erklären?
Was ich vor allem nicht verstehe, warum funktioniert die gleiche Konfig mit der WG App auf Android und in Windows11 problemlos und nur bei Debian/Ubuntu habe ich dieses Problem???
Gruß und Danke für eure Hilfe
Florian
vorweg ein großes Dankeschön, dieses Forum hat mir schon oft bei Problemen und mit Tutorials geholfen.
Leider finde ich, trotz intensiver Sucher, bisher keine Lösung für ein Problem mit Wireguard.
Ich nutze seit längerem, ohne Probleme, Wireguard mit einem Android-Mobilgerät. Gegenstelle ist OPNsense mit entsprechend konfiguriertem Wireguard-Server-Plugin.
Nun versuche ich einen Debian-Laptop über den Tunnel zu verbinden, dies gelingt aber nur unter sehr speziellen Bedingungen.
Ich habe zunächst eine zweite Konfig erstellt und diese, nach den ersten erfolglosen Versuchen unter Debian, auf verschiedenen anderen Geräten getestet. Zwei mal mit anderen Androiden und einmal auf einer Windows11-Maschine. Das Test-Setup sah dabei immer gleich aus, ein WLAN-Hotspot Handy, dass via GSM zum WWW verbunden ist. Sowohl Handy-Handy also auch die Windows-Handy-Verbindung funktionieren, ich kann auf die entsprechenden Server hinter der FW zugreifen.
Aber aus irgend einem Grund kann ich weder mit einem Debian 12 Laptop, noch mit einem Ubuntu 22.04 Laptop den Tunnel erfolgreich starten.
Bizarr ist, dass ich den Tunnel auf diesen Geräten starten kann, wenn diese mit dem Lokalen Netzwerk gekoppelt sind.
Um den Tunnel auf zu bauen, nutze ich das "wg-quick" Kommando im CLI. Dabei ist mir aufgefallen, dass ich, wenn ich einen DNS Eintrag in der wg0.conf habe, der Aufbau mit dem Hinweis auf nicht vorhandenes "resolveconf" abbricht. Kommentiere ich DNS aus, läuft der Aufbau durch, es erfolgt aber kein in Osense sichtbarer Handshake und der Cliente sendet laut "wg" Kommando Daten, empfängt aber keine.
Ich habe dann den "resolveconf" Befehl recherchiert und alternative einmal den "systemd-networkd.service" aktiviert. Dabei habe ich festgestellt, dass meine DynDNS Adresse ohne aktiven "systemd-networkd.service" zu einer IPv6 Adresse aufgelöst wird (Tunnel klappt nicht), und bei aktivem "systemd-networkd.service" zu einer IPv4 Adresse, womit der Tunnel dann funktioniert...
Kann sich jemand hier dieses Fehlerbild erklären?
Was ich vor allem nicht verstehe, warum funktioniert die gleiche Konfig mit der WG App auf Android und in Windows11 problemlos und nur bei Debian/Ubuntu habe ich dieses Problem???
Gruß und Danke für eure Hilfe
Florian
Please also mark the comments that contributed to the solution of the article
Content-Key: 21999580582
Url: https://administrator.de/contentid/21999580582
Printed on: May 13, 2024 at 09:05 o'clock
6 Comments
Latest comment
Moin,
Eventuell liefert der Namerserver der anderen Architekturen nur v4-Adresse oder dort ist voreingestellt, daß v4 verwendet werden soll.
Oder die v6-Adresse, die Du bekommst ist die falsche.
Prüfe also erstmal, ob die ip-adressen auch die sind, unter der Deine Xsense erreichbar ist.
lks
PS: stimmen die MTU's?
Eventuell liefert der Namerserver der anderen Architekturen nur v4-Adresse oder dort ist voreingestellt, daß v4 verwendet werden soll.
Oder die v6-Adresse, die Du bekommst ist die falsche.
Prüfe also erstmal, ob die ip-adressen auch die sind, unter der Deine Xsense erreichbar ist.
lks
PS: stimmen die MTU's?
Das hiesige Wireguard Tutorial hast du genau gelesen und umgesetzt, insbesondere das OPNsense Kapitel??
WAS sagt ein cat /etc/resolv.conf auf deinem Ubuntu? Welche DNS Server sind dort konfiguriert?
Bedenke auch das DNS Adressen in den Endpoint Parametern bei WG nur ein einziges Mal gelesen werden wenn der Daemon startet und sonst nicht mehr. Ist das eine DDNS Adresse und ändert sich diese Adresse rennt der WG Client Daemon ins Nirwana sofern er nicht neu gestartet wurde. Siehe dazu auch hier.
WAS sagt ein cat /etc/resolv.conf auf deinem Ubuntu? Welche DNS Server sind dort konfiguriert?
Bedenke auch das DNS Adressen in den Endpoint Parametern bei WG nur ein einziges Mal gelesen werden wenn der Daemon startet und sonst nicht mehr. Ist das eine DDNS Adresse und ändert sich diese Adresse rennt der WG Client Daemon ins Nirwana sofern er nicht neu gestartet wurde. Siehe dazu auch hier.
A.:
Generell verhalten sich da alle Betriebssysteme immer absolut gleich. In einem Dual Stack Setup wird IPv6 immer bevorzugt, hat also Vorrang. Wenn du also einen Hostnamen eingibst bei host oder auch nslookup wird dir bei Dual Stack immer die IPv6 Adresse angezeigt sofern das Ziel auch per IPv6 erreichbar ist!
B.:
Da musst du dann deinen DNS Provider fragen! Wie oben schon gesagt MUSS ein host <hostname> oder ein nslookup <hostname> immer auch die IPv6 Adresse zurückgeben. Passiert das nicht ist das ein fehlerhafter DNS Server.
Geht es nur um die IPv6 Erreichbarkeit des VPN Responders (Server) benötigst du keine IPv6 Adressen auf dem internen Wireguard Tunnelinterface!!
In der Beziehung kann es per sschon einmal kein "Weiterreichen" (was immer du damit meinst?!) von IPv6 zwischen FB und OPNsense geben wenn du gar keinen Dual Stack betreibst.
Wie gesagt, alles wild geraten ohne dein genaues WG Setup zu kennen. Das Tutorial beschreibt das IPv6 Handling.
Zu dem Thema ist das hier lesenswert mit kostenreier Lektüre:
https://danrl.com/ipv6/
Generell verhalten sich da alle Betriebssysteme immer absolut gleich. In einem Dual Stack Setup wird IPv6 immer bevorzugt, hat also Vorrang. Wenn du also einen Hostnamen eingibst bei host oder auch nslookup wird dir bei Dual Stack immer die IPv6 Adresse angezeigt sofern das Ziel auch per IPv6 erreichbar ist!
B.:
Da musst du dann deinen DNS Provider fragen! Wie oben schon gesagt MUSS ein host <hostname> oder ein nslookup <hostname> immer auch die IPv6 Adresse zurückgeben. Passiert das nicht ist das ein fehlerhafter DNS Server.
Es scheint also ein Thema beim weiterreichen von IPv6 zwischen FB und Osense zu geben...
Nein ganz sicher nicht solange du das sauber und korrekt konfiguriert hast. Leider machst du hier keinerlei hilfreiche Angaben zu deinem Setup was eine Kontrolle zulassen würde und folglich können wir dann auch nur im freien Fall raten und Kristallkugeln. Geht es nur um die IPv6 Erreichbarkeit des VPN Responders (Server) benötigst du keine IPv6 Adressen auf dem internen Wireguard Tunnelinterface!!
In der Beziehung kann es per sschon einmal kein "Weiterreichen" (was immer du damit meinst?!) von IPv6 zwischen FB und OPNsense geben wenn du gar keinen Dual Stack betreibst.
Wie gesagt, alles wild geraten ohne dein genaues WG Setup zu kennen. Das Tutorial beschreibt das IPv6 Handling.
Zu dem Thema ist das hier lesenswert mit kostenreier Lektüre:
https://danrl.com/ipv6/
Wenn es das denn nun war bitte deinen Thread dann auch als erledigt schliessen!
How can I mark a post as solved?
How can I mark a post as solved?