michael11
Anmeldungsdatum: 27. Juli 2018
Beiträge: 14
|
Hallo - mein Problem (als Ubuntu-Laie): installiert ist Ubuntu 24.04 auf meinem Laptop Eingerichtet habe ich unter den Netzwerkeinstellungen eine VPN-Verbindung unter Nutzung von WireGuard von außerhalb in mein home-Netz hinter einer Fritzbox 7590. Die Verbindung funktioniert zu meinen internen Rechnern tadellos.
Mein Problem: Trotz der Tatsache, dass ich in den Einstellungen des Tunnels bei "AllowedIPs" 0.0.0.0/0 eingetragen habe, wird der komplette Internetverkehr nicht durch den Tunnel geroutet - was ich aber aus verschiedenen Gründen möchte. Es werden nur die IP-Adressen meines privaten Netzes geroutet. Vom Android-Handy funktioniert es aber - kann also wohl nicht an meiner Fritzbox liegen. Ich bin nun bei meinen "Forschungen" im Internet so weit gekommen, dass es an der Behandlung der Routingtabelle unter Linux liegt. Im Internet geben sie Lösungen für dieses Problem an, wenn man nicht den internen Netzwerkmanager für die Einstellung und das Starten des Tunnels nutzt sondern das Tool "wg-quick" (ist mir aber mit den vielen Scripten und Befehlen zu kompliziert für meinen Laienhorizont:-)).
Nun meine Frage: Gibt es eine Lösung für das Problem in den "Netzwerk-Einstellungen" bei der Einrichtung des "WireGuard-Tunnels", dass das komplette Routing des IP-Verkehrs über den Tunnel geht (der mich ja den Tunnel über WireGuard aussuchen läßt - in dem ich so wie in allen Beschreibungen zur Nutzung von WireGuard beschrieben bei "AllowedIPs" das 0.0.0.0/0 eintragen kann), die ich übersehe oder falsch nutze? Oder ist mit der Nutzung der Einrichtung des WireGuard-Tunnels unter "Netzwerk-Einstellungen" eine Änderung des Routings wie von mir gewünscht nicht machbar sondern nur mit Hilfe des separaten Tools "wg-quick"? Danke für jede Antwort
|
adelaar
Anmeldungsdatum: 23. November 2024
Beiträge: 439
|
Eingerichtet habe ich unter den Netzwerkeinstellungen eine VPN-Verbindung unter Nutzung von WireGuard von außerhalb in mein home-Netz hinter einer Fritzbox 7590. Die Verbindung funktioniert zu meinen internen Rechnern tadellos. Mein Problem: Trotz der Tatsache, dass ich in den Einstellungen des Tunnels bei "AllowedIPs" 0.0.0.0/0 eingetragen habe, wird der komplette Internetverkehr nicht durch den Tunnel geroutet - was ich aber aus verschiedenen Gründen möchte
Auch wenn dein Beitrag schon älter ist.
Konntest du das Problem lösen? Ich kann dir bestätigen, dass es mit der Fritzbox nichts zu tun hat. Es liegt an Ubuntu. Ich nutze zwar noch Ubuntu 22.04 (weil mein System voll verschlüsselt ist und ein direktes Upgrade auf 24.04 daher nicht möglich ist), aber ich habe ein ähnliches Problem festgestellt. Allerdings habe ich auch keine Fritte, sondern eine dedizierte Firewall (pfsense) mit Modem statt Router davor. Ich kann aber sagen, dass man das Problem nicht hat, besser umgehen kann, wenn man wg-quick nutzt. Und ich denke ich weiß warum der komplette Internetverkehr nicht durch den Tunnel geroutet wird, wenn man nicht wg-quick nutzt. Offenbar ignoriert der graphische Wireguard-Client den/die DNS-Servereinträge. Es werden keine Domain-Namen aufgelöst. Daher kann man zwar intern z.B. via ssh 192.168.xxx.xxx einen ssh-Server erreichen, aber eben nicht per Browser Google.com und man bekommt einen Timeout.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14248
|
michael11 schrieb: Mein Problem: Trotz der Tatsache, dass ich in den Einstellungen des Tunnels bei "AllowedIPs" 0.0.0.0/0 eingetragen habe, wird der komplette Internetverkehr nicht durch den Tunnel geroutet - ...
Wo (d. h. an welchem Internetanschluss) befindet sich dein Laptop, wenn Du diesen Test machst? Poste mal von deinem Laptop (Linux) die Ausgaben von:
ip r g 1.1.1.1
ip r
ip a
|
adelaar
Anmeldungsdatum: 23. November 2024
Beiträge: 439
|
Trotz der Tatsache, dass ich in den Einstellungen des Tunnels bei "AllowedIPs" 0.0.0.0/0 eingetragen habe, wird der komplette Internetverkehr nicht durch den Tunnel gerout
Also es es ist möglich den kompletten Internetverkehr durch den Tunnel zu routen und zwar auch mit dem GUI-Interface, wenn man in den Einstellungen des Tunnels bei "AllowedIPs" 0.0.0.0/0 eingetragen hat. Es gibt aber zwei Probleme die man beachten sollte: IPv6 - wenn man den Tunnel nicht auch für IPv6 konfiguriert hat geht nur der IPv4-Verkehr durch den Tunnel. Habe ich in dem primären Netzwerk (dem in dem sich mein Notebook befindet) aber IPv4 und IPv6 und rufe einen Webserver, etc. auf, der per IPv6 erreichbar ist, dann wird IPv6 bevorzugt und der Verkehr geht eben nicht durch den Tunnel, denn der kennt ja nur v4. Bei Android dürfte das im Prinzip auch nicht anders sein, jedoch ist bei Android ja meist IPv6 in den APN-Einstellungen deaktiviert, während es bei Ubuntu eben aktiv ist. die MTU - diese darf im GUI-Interface nicht bei automatisch belassen werden. Jedenfalls dann nicht wenn der Tunnel zwischen Notebook und dem Wirgeard-Server (in meinem Fall eine pfsense, keine Fritte) mittels IPv6 aufgebaut wird. Nach einigen Tests hat sich eine MTU = 1400 als funktionierend herausgestellt.
|
michael11
(Themenstarter)
Anmeldungsdatum: 27. Juli 2018
Beiträge: 14
|
Hallo - vielen Dank für die Antworten zu der Problematik!
Hier meine Aussagen zu den Fragen an mich: @adelaar:
Nein - das Problem ist nicht gelöst! Das es bei der Nutzung des Programms "wg-quick" nicht auftritt ist mir bekannt. Mein Wissensstand ist der, daß bei der Nutzung der Netzwerkeinstellungen unter dem Einstellungsmenü der Gnome-Oberfläche von Ubuntu zur Konfiguration eines wireguard-Tunnels bei Inbetriebnahme dieses Tunnels die in der Konfiguration festgelegten Einstellungen des Routings (egal ob nur das private Netzwerk oder der komplette Netzwerkverkehr) unten an die auf dem Computer im Betriebssystem festgeschriebene Routingtabelle angehangen wird. Das Betriebssystem liest diese Tabelle - der erste passende Eintrag wird berücksichtigt, wenn es keine konkreteren gibt. Da oben in der Tabelle schon die default-Route festgelegt ist auf das konkrete Netzwerkinterface, läuft alles was nicht konkreter IP-adressenmäßig für wireguard festgelegt wird, weiter darüber - das heißt, da es schon eine default-Route in der Tabelle gibt, wird die auch genommen!
Andere Betriebssysteme (andere LINUX-Systeme, Android, u.s.w.)legen bei der Nutzung von wireguard eine spezielle neue Routingtabelle an und hängen nicht wie UBUNTU in diesem Fall die neuen Routing-Festlegungen unten an die Tabelle an. Nur bei der Nutzung des Programms "wg-quick" kann man dieses Verhalten abändern und eine eigenständige Routingtabelle kreieren mit einer dann an erster Stelle stehenden neuen default-Route auf das neue virtuelle wireguard-Interface.
Deshalb gehen auch die DNS-Anfragen an die im Netzwerk hinterlegten DNS-Server. Ich habe bei mir als DNS-Server in der wireguard-Konfiguration die Fritzbox im Heimnetz eingetragen –→ darum gehen beim Einschalten des Tunnels die DNS-Abfragen an diese im home-Netz sich befindende Fritzbox und werden von dort weiter geleitet und Namen werden über den Tunnel aufgelöst, die im Netz der Telekom mit deren DNS-Servern z.Bsp. ansonsten nicht aufgelöst werden! IPv6 ist auf dem Laptop komplett überall abgeschaltet. @lubux:
Festgestellt habe ich dieses Verhalten bei der Nutzung von Gäste-WLANs in verschiedenen Hotels. Bei der Nutzung dieser Wlans über das Handy trat es nicht auf. Als Anhang die Ausgabe des Laptop auf die drei Befehle Danke für die Antworten! Euch allen ein frohes und ruhiges Weihnachtsfest!
- Bilder
|
adelaar
Anmeldungsdatum: 23. November 2024
Beiträge: 439
|
@michael11 Vorweg: ich finde deine Antwort etwas verwirrend. Kann also sein, dass ich da etwas falsch verstehe.
Ich habe bei mir als DNS-Server in der wireguard-Konfiguration die Fritzbox im Heimnetz eingetragen
So sollte es auch sein. Unter Netzwerkeinstellungen → Wireguard-Verbindung → IPv4-Einstellungen → Methode steht Manuell?
Die Einträge unter Netzwerk, Netzmaske und Gateway passen zur Fritte?
Fürs Routing an sich ist es aber egal, welchen DNS-Server in der wireguard-Konfiguration einträgst.
Ich nutze 9.9.9.9 und 149.112.112.112. Dar Routimg geht dennoch über meine pfsense und das obgleich das Routing üver eine pfsense noch komplizierte ist als über eine Fritte, die ja kein Transfernetz benutzt, sondern den Clients eine IP aus dem lokalen Netz der Fritte verpasst.
Übertragen auf deine Verhältnisse bedeutet das: Die Fritte hat am LAN das Netz 192.168.178.0/24 dann bekommen die Clients eine Adresse aus eben diesem Netz 192.168.178.0/24. Bei der sense jedoch aus einem anderen Netz, dem Transfernetz, also z.B. 192.168.180.0/24. Dadurch ist das Routing natürlich noch eine Ebene komplexer. Aber es klappt. Nochmal deutlich:
Ich habe es hinbekommen per GUI Network-Manager, und dort dann VPN-Wiregurad eine funktionierende Verbindung zu erstellen, bei der sämtlicher IPv4-Traffic durch den Wireguard-Tunnel geht. Ich verwende Ubuntu 22.04. Allerdings und das mag ein Unterschied zu 24.04 sein: bei mir gibt es im Hintergrund im Verzeichnis /etc/wireguard/ eine wg*.conf-Datei.
Wie seht denn dein Verzeichnis /etc/wireguard/ aus? Enthält es *.conf-Dateien? Noch eine Nachfrage:
Wie testest du denn deine Wiregurad-Verbindung, wenn du diese Zuhause bearbeitest?
Für Tests sollte sich das Notebook nicht im LAN/WLAN oder Gäste-WLAN der Fritte befinden, sondern den Hotspot eines Smartphones nutzen.
Wenn du dich mit der Friite per Wireguard verbindest und dann nach "meine IP-Adresse" googelst, dann finden sich da verschiedene Seiten die dir deine aktuelle fürs surfen genutzten IP-Adressen anzeigen. Läuft alles korrekt muss es die öffentliche IPv4 der Fritte sein, obwohl du ja eigentlich die des Smartpones nutzt.
|
michael11
(Themenstarter)
Anmeldungsdatum: 27. Juli 2018
Beiträge: 14
|
@adelaar Wieso ist der Eintrag des DNS-Servers aus dem privaten Netz verwirrend? Wenn ich einen öffentlich zugänglichen DNS-Server in Wireguard eintrage (zB. die IP-Adressen der DNS-Server aus der Schweiz (DoT-Server)), mußte ich feststellen, daß trotzdem von bestimmten Namen im Internet keine Auflösung (IP-Adressen) geliefert werden! Der Grund: Öffentlich zugängliche Adressen werden ja nicht über den Tunnel geroutet - die gehen über die default-Route und nicht über den Tunnel raus und es wird der mir per DHCP gelieferte DNS-Server genutzt! Und der löst halt nicht alle von mir gewünschten Namen in IP-Adressen auf. Darum die private Adresse der Fritzbox als DNS-Server in den wireguard-Einstellungen , da auf ihr die von mir genutzten DNS-Server (DoT) hinterlegt sind und ich so eine Namensauflösung aller im Internet vorhandenen Server mit IP-Adresse sicher verschlüsselt von ihnen bekomme. Deshalb diese Lösung! Ich habe schon fremde in jedem Falle WLANs, mit denen ich wireguard testen kann! Die Sache mit dem Routing ist mir halt nur in anderen Gegenden aufgefallen - wenn ich den Tunnel einschalte und beim Aufrufen einer Webseite wird mir als mein Standort der Hotelort angezeigt (mit der Hotelnetz-IP) und nicht meine heimatliche zugewiesene öffentliche IP-Adresse der Fritzbox - gleichzeitig ist der Zugriff auf mein privates Netz möglich, dann ist wohl mit 0.0.0.0/0 etwas nicht in Ordnung!
Wie es mit Ubuntu 22.4 funktioniert, weiß ich nicht. Früher hatte ich 20.4 und bin dieses Jahr auf 24.4 umgestiegen. Da ist es mir erstmalig aufgefallen! Das Verzeichnis /etc/wireguard existiert und ist leer.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14248
|
adelaar schrieb: Übertragen auf deine Verhältnisse bedeutet das: Die Fritte hat am LAN das Netz 192.168.178.0/24 dann bekommen die Clients eine Adresse aus eben diesem Netz 192.168.178.0/24.
Wass passiert wenn der TE sich mit seinem Laptop in einem Wlan (im Hotel) befindet, das auch das Subnetz 192.168.178.0/24 hat? Kann er dann das AVM-WireGuard-VPN, aus diesem Wlan noch benutzen?
|
adelaar
Anmeldungsdatum: 23. November 2024
Beiträge: 439
|
@michael11
Öffentlich zugängliche Adressen werden ja nicht über den Tunnel geroutet - die gehen über die default-Route und nicht über den Tunnel raus und es wird der mir per DHCP gelieferte DNS-Server genutzt
Das ist richtig. Aber wie ich bereits schrieb: mir gelingt es ja eine default-Route per Wireguard-GUI-Interface auf den Tunnel zu legen. Dann werden auch die Anfragen an die Ports 53/853 (DNS) über den Wireguard-Tunnel geroutet. Wie ich am 22. Dezember 2024 15:09 Uhr schrieb hatte ich zunächst Probleme mit der Auflösung der DNS. Der Grund war simpel: ich hatte vergessen in meiner pfsense Ports 53/853 (DNS) für das Wireguard-Transfernetz zu öffnen. Daher wurden alle DNS-Anfragen blockiert. Das beweist ziemlich deutlich, dass man es auch mit dem GUI-Interface hinbekommt alles durch den Tunnel zu routen, denn sonst hätte meine pfsense ja nicht die Anfragen an die DNS-Server blockieren können und diese wären direkt von Ubuntu ins Netz geleitet worden, statt durch den Tunnel zur pfsense.
|
adelaar
Anmeldungsdatum: 23. November 2024
Beiträge: 439
|
@lubux
Wass passiert wenn der TE sich mit seinem Laptop in einem Wlan (im Hotel) befindet, das auch das Subnetz 192.168.178.0/24 hat? Kann er dann das AVM-WireGuard-VPN, aus diesem Wlan noch benutzen?
Ich denke nicht. Netz zu Netz-Verbindungen mit identischem Subnetz (Beispiel beide Subnetz 192.168.178.0/24) gehen auf keine Fall. Client zu Netz-Verbindungen sollten demzufolge dann auch nicht gehen, denn der Client (Notebook, Smartphone, etc.) hätte dann ja im Zweifel zweimal die 192.168.178.1 als Default-Route, einmal im Wlan (z.B. Hotel) und dann nochmals auf der heimischen Fritte. Wie soll der Client da wissen was er wann wie genau routen soll? Um den Tunnel-Eingang im WLAN des Hotels zu erreichen benötigt er ja weiterhin die Route zum Router des Hotels. Am Tunnel-Ausgang wird die dann auch wieder benötigt. Das kann nicht klappen.
|
michael11
(Themenstarter)
Anmeldungsdatum: 27. Juli 2018
Beiträge: 14
|
@adelaar Schön, daß es mit Ubuntu 22.04 über das LAN-Einstellungsmenü klappt! Das ändert aber nichts an der Tatsache, daß unter der Ubuntu-Version 24.04 mit der Einstellung 0.0.0.0/0 im wireguard-Konfigurationsmenü, welches zu finden ist unter der Rubrik "Netzwerk - VPN" in der Version 46.4 der "Settings - the GNOME Project" es nicht klappt, den kompletten Netzverkehr über den Tunnel zu routen! Mit den gleichen wireguard-Einstellungen in anderen Betriebssystemen (andere Geräte) funktioniert es im gleichen Hotel-Wlan problemlos. Also muß das Problem wohl bei dem genutzten Ubuntu liegen!
Wie gesagt: Einstellungen von wireguard nicht mit Hilfe des Tools "wg-quick" sondern mit der in Ubuntu in den Netzwerkeinstellungen zu findenden Möglichkeit! Euch allen einen schönen Jahreswechsel!
|