
Bei fast jeder Aktion, die ich im Windows-Subsystem für Linux ausführe, erhalte ich die Benachrichtigung „So lösen Sie den Hostnamen auf“. Warum passiert dies bei jeder Neuinstallation und wie kann ich das Problem lösen?
Antwort1
- Überprüfen Sie, ob ein symbolischer Link und eine Datei resolv.conf vorhanden sind:
cd /etc
ls -lha
stat resolv.conf
Sie sollten einen symbolischen Link sehen, der auf Folgendes verweist:
File: resolv.conf -> ../run/resolvconf/resolv.conf
Size: 29 Blocks: 0 IO Block: 4096 symbolic link
Die Originaldatei in ../run/resolvconf/resolv.conf wird beim Booten in WSL Ubuntu neu erstellt und hat den folgenden Inhalt:
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:>
# [network]
# generateResolvConf = false
nameserver 172.23.0.1
die Nameserver-Adresse kann in Ihrem Fall abweichen
- Erstellen Sie eine wsl.conf-Datei im Stammordner etc. (möglicherweise benötigen Sie sudo):
sudo nano /etc/wsl.conf
- Fügen Sie die folgenden Zeilen in die Datei ein und beenden Sie das Speichern (Strg+X):
[network]
generateResolvConf = false
- Löschen Sie den symbolischen Link zur Datei resolv.conf
cd /etc
sudo rm resolv.conf
- Erstellen Sie eine neue resolv.conf-Datei in /etc
sudo nano resolv.conf
und fügen Sie den folgenden Inhalt ein und speichern Sie ihn mit (Strg+O und Strg+X):
# This file was automatically generated by WSL. To stop automatic generation of this file,
# add the following entry to /etc/wsl.conf:>
# [network]
# generateResolvConf = false
# nameserver 172.23.0.1
nameserver 8.8.8.8
Antwort2
Ich weiß nicht, warum das passiert (bitte verbessern Sie die Antwort mit einer Erklärung), hier ist eine funktionierende Lösung für dieses Problem:
1. Ausführen:
nano /etc/hostname
Geben Sie den Namen Ihres Computers in Großbuchstaben ein (z. B. DESKTOP-ETWAS). Löschen Sie alles außer Ihrem Computernamen.
Speichern und schließen.
2. Führen Sie dann Folgendes aus:
nano /etc/hosts
Stellen Sie dann sicher, dass die ersten beiden Zeilen der Datei wie folgt aussehen:
127.0.0.1 localhost.localdomain localhost
127.0.1.1 DESKTOP-SOMETHING
Speichern und schließen.
Antwort3
In meinem Fall war der hilfreiche Befehl:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
Antwort4
Um lokale Windows-Netzwerkhosts innerhalb von WSL2 aufzulösen, hat es bei mir funktioniert, die folgenden internen DNS-Auflösungseinträge (Nameserver) hinzuzufügen /etc/resolv.config
:
search <name-of-my-internal-ad-domain.net>
nameserver 10.0.xx.xxx # local WAN DNS server
nameserver 10.0.xx.xxx # local WAN DNS server
nameserver 1.1.1.1
sudo tee /etc/resolv.conf << EOF
search <name-of-my-internal-ad-domain.net>
nameserver 10.0.xx.xxx
nameserver 10.0.xx.xxx
nameserver 1.1.1.1