WSL ist großartig, aber Networking ist ein Chaos – so habe ich es behoben

/de/images/wsl-networking-mess.jpg

Wenn Sie jemand sind, der relativ häufig sowohl Linux als auch Windows verwenden muss, ist das Windows-Subsystem für Linux (WSL) wahrscheinlich ein Lebensretter für Sie. Es ist eine großartige Funktion, die es viel einfacher macht, diese beiden Dinge zusammenzubringen, und wenn Sie sie mit etwas wie X410 koppeln, verbessert sie das Linux-Erlebnis auf Ihrem Windows-PC wirklich.

Aber es ist nicht alles perfekt, und trotz aller Nützlichkeit von WSL haben erfahrenere Benutzer einige große Probleme bemerkt, wobei das Netzwerk ein großes Problem darstellt. Wenn Linux unter Windows läuft, kann die Verwaltung der Netzwerkverbindung für Host und Gast eine Herausforderung sein, zumindest im Auslieferungszustand.

Networking in der WSL kann ein Chaos sein

Lokale Dienste und VPNs verursachen Probleme

/de/images/ubuntu-networking-info.jpg

Die WSL ist großartig, aber wenn es um Networking geht, kann es etwas verwirrend werden, insbesondere weil die WSL seit ihrem Debüt ihr Verhalten ein wenig geändert hat. Ursprünglich verwendete WSL ein Setup, das es anderen Geräten in Ihrem Netzwerk ermöglichte, auf WSL-Anwendungen auf Ihrem Computer zuzugreifen, sofern sie Zugriff auf den Hostcomputer selbst hatten. Dies machte die Sache etwas reibungsloser, da Sie einfach die IP-Adresse des Host-Computers verwenden mussten, um eine Verbindung zu Ihren WSL-Apps herzustellen.

Bei WSL2 verwendet die Linux-Instanz jedoch einen virtuellen Netzwerkadapter, dem eine eigene IP zugewiesen ist. Daher müssen Sie bei der Standardkonfiguration möglicherweise einige zusätzliche Schritte ausführen. Die Netzwerkeinrichtung erschwert auch den Zugriff auf netzwerkbasierte Dienste in Windows über Ihren Linux-Rechner, sodass die Einrichtung nicht nur komplizierter, sondern auch fehleranfälliger ist. Und sobald VPNs ins Spiel kommen, kann es für Linux-Apps ein großes Durcheinander sein, überhaupt Netzwerke nutzen zu können, wenn das VPN von Windows gesteuert wird.

Beginnend mit Windows 11 Version 22H2 hat Microsoft einige Schritte unternommen, um einige dieser Probleme zu beheben. Es wurde eine neue Funktion namens DNS-Tunneling hinzugefügt, die es ermöglichte, DNS-Anfragen über eine Virtualisierungsschicht statt über ein Netzwerkpaket zu verarbeiten, was die Konnektivitätsunterstützung bei der Verwendung von VPNs erheblich verbesserte.

Es kann leicht zu beheben sein

Spiegelungsmodus zur Rettung

/de/images/wslconfig-file.jpg

Standardmäßig verwendet WSL eine NAT-basierte Architektur, die zu vielen der Probleme beitragen kann, die bei der Verwendung von Netzwerkfunktionen in WSL auftreten. Wenn Sie Ihr Netzwerkerlebnis verbessern möchten, verwenden Sie am besten den gespiegelten Netzwerkmodus. Diese Option wurde auch in Windows 11 Version 22H2 hinzugefügt, ist jedoch nicht standardmäßig aktiviert und versucht, die Netzwerkschnittstellen Ihres Windows-Hosts zu spiegeln, wodurch die Unterstützung weiterer Funktionen ermöglicht und die Kompatibilität mit anderen Tools verbessert wird.

Dazu gehört die Möglichkeit, IPv6 zu verwenden, über die Localhost-Adresse (127.0.0.1) eine Verbindung zu Diensten herzustellen, die auf dem Windows-Host ausgeführt werden, eine bessere Kompatibilität für VPNs und die Möglichkeit, direkt von anderen Computern in Ihrem lokalen Netzwerk aus eine Verbindung zu Ihren WSL-Diensten herzustellen, ähnlich wie bei WSL1. Das ist eine ziemlich lange Liste von Vorteilen, und sogar Microsoft empfiehlt, dies in Ihrem WSL-Setup auszuprobieren. Wie macht man das also?

Nun, es ist ziemlich einfach. Wenn Sie WSL2 ausführen, finden Sie in Ihrem Startmenü eine App namens „WSL-Einstellungen“, mit der sich die globalen Einstellungen für alle Ihre WSL-Distributionen ändern lassen. Starten Sie es und gehen Sie dann zur Registerkarte „Netzwerk“ auf der linken Seite der App.

/de/images/wsl-settings-1.jpg

Der Netzwerkmodus ist die erste Option auf der Seite. Ändern Sie ihn also einfach in „Gespiegelt“ und schließen Sie die App.

/de/images/wsl-settings-networking.jpg

Damit Ihre Einstellungen wirksam werden, müssen Sie möglicherweise WSL neu starten. Sie können dies tun, indem Sie ein Terminal öffnen und den Befehl wsl–shutdown eingeben, um die virtuelle WSL2-Maschine auszuschalten. Starten Sie Ihre Distribution erneut, um sie wieder hochzufahren. Alternativ sollte auch ein Neustart Ihres PCs funktionieren.

Wenn Sie die GUI nicht verwenden möchten, können Sie die WSL-Konfigurationsdatei manuell erstellen und ändern. Sie müssen eine Datei mit dem Namen.wslconfig in Ihrem Benutzerordner (C:\Benutzer) erstellen, falls Sie dies noch nicht getan haben, und sie im Editor bearbeiten. Um den gespiegelten Netzwerkmodus zu aktivieren, müssen Sie der Datei die folgenden Zeilen hinzufügen und dann Ihre Änderungen speichern:

wsl2

networkingMode=gespiegelt

Darüber hinaus möchten Sie möglicherweise den folgenden PowerShell-Befehl ausführen, um die Hyper-V-Firewall so zu konfigurieren, dass sie eingehende Verbindungen auf Ihrem WSL-Computer zulässt:

Set-NetFirewallHyperVVMSetting-Name ‘{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'-DefaultInboundAction Allow

Sobald dies erledigt ist, sollten Ihre Netzwerktools über WSL viel besser funktionieren.

Dies sollte die Standardeinstellung sein

Warum überhaupt die weniger funktionelle Methode verwenden?

/de/images/truenas-in-firefox-in-wsl.jpg

Das Interessante am gespiegelten Netzwerkmodus in WSL ist, dass Microsoft diese Methode immer noch nicht als Standard für neue WSL-Konfigurationen verwendet, obwohl er seit etwa drei Jahren verfügbar ist. Den Unterlagen des Unternehmens zufolge gibt es bei diesem Aufbau keine offensichtlichen Einschränkungen, es ergeben sich jedoch zahlreiche Vorteile. Das Unternehmen bittet die Benutzer zwar, Feedback zu allen aufgetretenen Problemen zu senden, aber wenn man bedenkt, dass das Problem bereits seit drei Jahren besteht und in der Dokumentation keine spezifischen Probleme erwähnt werden, könnte man davon ausgehen, dass es zuverlässig genug ist, um das Standardverhalten zu sein. Vor allem, wenn das Unternehmen ausdrücklich angibt, dass es empfehlenswert ist, den gespiegelten Netzwerkmodus auszuprobieren.

In jedem Fall ist die Verwendung von Linux innerhalb von Windows etwas, was die meisten nur für ganz bestimmte Zwecke tun werden, und die Vernetzung wird wahrscheinlich ein wesentlicher Grund dafür sein, warum Sie dies überhaupt tun möchten. Einige selbst gehostete Dienste müssen möglicherweise unter Linux ausgeführt werden oder auf der Plattform besser funktionieren, und diese Netzwerkprobleme machen die Erfahrung weitaus frustrierender, als sie sein müsste. Die oben genannten Schritte sollten dabei helfen, aber im Idealfall wird Microsoft in naher Zukunft einfach das Standardverhalten ändern, um die Dinge für alle besser zu machen.

*️⃣ Quelllink:

war wahrscheinlich ein Lebensretter für Sie. Kombinieren Sie es mit etwas wie