WSL2 kann unter Windows 11 nicht auf das Internet zugreifen

WSL2 kann unter Windows 11 nicht auf das Internet zugreifen

Ich habe eine Neuinstallation von Windows 11 mit Ubuntu 20.04, das in WSL2 installiert ist.

Wenn ich versuche, ein Update durchzuführen sudo apt updateoder sogar ping google.combekomme ich

Vorübergehender Fehler beim Auflösen von „archive.ubuntu.com“

Und

Vorübergehender Fehler bei der Namensauflösung

Fehler bzw.

Ich habe es versucht:

  • Erlaubte WSL durch den Windows Firefall mit „App durch die Firewall zulassen“ und AuswahlC:\Windows\System32\wsl.exe

  • Eingehende Regel in der Firewall für Port 3390 hinzugefügt

  • Netzwerkprofil auf „privat“ setzen (obwohl ich es lieber öffentlich lassen würde, wenn es eine Möglichkeit gibt, WSL am Laufen zu halten)

  • Ausführen New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Alloweiner Google-Suche

EDIT: An diesem Punkt habe ich jedes Google-Ergebnis ausprobiert und immer noch keine Lösung gefunden. r/windows11 lässt mich nicht posten, es sei denn, es ist Montag (dumm). Habe auch versucht, Ubuntu auf WSL neu zu installieren, aber ohne Erfolg.

Antwort1

Für dieses Problem gibt es mehrere Ursachen.

Der Artikel WSL2-Netzwerkprobleme und schneller Start von Win 10 empfiehlt, den Schnellstart in Windows zu deaktivieren:

Bildbeschreibung hier eingeben


Ein anderer Erläuterung ist, dass das Wechseln von Netzwerken (z. B. zwischen Arbeit und Zuhause) WSL verwirrt. Die Lösung besteht darin, eine Datei auszuführen .bat, die Folgendes enthält:

wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
netsh winsock reset
shutdown /r

Noch ein anderes Erläuterung ist, dass Windows automatisch eine resolv.confDatei mit einem falschen Nameserver generiert.

Um dies zu verhindern, führen Sie die folgenden Befehle aus:

sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf

Antwort2

Ich möchte nur alle daran erinnern, dass Win11 offenbar sehr pingelig ist, was den Administratorzugriff angeht, und beispielsweise sogar eine .bat-Datei auf C: ablegt.

Nachdem das gesagt ist, hat das Umschreiben von etc/resolv.conf auf 8.8.8.8 funktioniert, solange ich ALLES mit Administratorzugriff gemacht habe, einschließlich des Startens meiner WSL2 Kali CLI als Administrator über die Win11-Taskleiste.

Antwort3

Durch Hinzufügen dieser Einstellung zu Ihrer .wslconfigDatei (in Ihrem Windows-Basisverzeichnis) sollte die Netzwerkunterstützung in den virtuellen WSL-Maschinen aktiviert werden:

[wsl2]
networkingMode=mirrored

WSL sollte nach der Änderung gestoppt werden, .wslconfigdamit die Änderungen wirksam werden: Verwendung wsl --shutdownüber eine Windows-Eingabeaufforderung. Dies ist eine relativ neue Funktion (Update vom September 2023), die Build 22H2 erfordert (ich habe es nur unter Windows 11 getestet, aber es funktioniert möglicherweise unter dem aktuellen Windows 10). Details und andere zugehörige Konfigurationseinstellungen hier: https://learn.microsoft.com/en-us/windows/wsl/networking.

Um das neueste WSL2-Subsystem zu verwenden, wsl --updateist möglicherweise die Ausführung erforderlich.

Unter älteren Windows-Versionen war die einzige Lösung, die ich zuverlässig verwenden konnte und die auch funktioniert, wenn unter Windows VPN läuft, die Verwendung von 'wsl-vpnkit' (https://github.com/sakai135/wsl-vpnkit).

verwandte Informationen