Fehlerbehebung: "Temporary failure in name resolution" unter Ubuntu und Debian
Hier ist ein ausführliches Tutorial, wie du den Fehler „Temporary failure in name resolution“ unter Ubuntu und Debian beheben kannst.
Dieser Fehler tritt auf, wenn das System einen Domainnamen (wie archive.ubuntu.com) nicht in eine IP-Adresse umwandeln kann. In den meisten Fällen liegt dies an fehlerhaften DNS-Einstellungen oder Problemen mit dem Netzwerkdienst.
Schritt 1: Überprüfe die Internetverbindung
Bevor du die Konfiguration änderst, stelle sicher, dass dein Server oder PC tatsächlich mit dem Internet verbunden ist. Teste dies, indem du eine bekannte IP-Adresse (nicht den Namen) anpingst:
ping -c 4 8.8.8.8
- Erfolg: Wenn du Antworten erhältst, funktioniert die Internetverbindung, aber der DNS (Namensauflösung) ist defekt.
- Fehlgeschlagen: Wenn hier „Network is unreachable“ steht, liegt ein generelles Netzwerkproblem vor (Kabel, WLAN oder Router prüfen).
Schritt 2: Die Datei /etc/resolv.conf bearbeiten
Die Datei /etc/resolv.conf enthält die IP-Adressen der Nameserver. Wenn diese Datei leer oder falsch konfiguriert ist, schlägt die Namensauflösung fehl.
- Öffne die Datei mit Root-Rechten:
sudo nano /etc/resolv.conf - Suche nach Zeilen, die mit
nameserverbeginnen. Falls keine vorhanden sind oder dort falsche IPs stehen, füge die öffentlichen DNS-Server von Google oder Cloudflare hinzu:nameserver 8.8.8.8 nameserver 1.1.1.1 - Speichere die Datei (
Strg+O,Enter) und schließe den Editor (Strg+X). - Teste nun, ob ein Ping auf die Ubuntu-Server funktioniert:
ping -c 4 archive.ubuntu.com
Schritt 3: Den systemd-resolved Dienst neu starten
Moderne Ubuntu-Versionen nutzen den Dienst systemd-resolved zur Verwaltung der DNS-Einstellungen. Manchmal hängt dieser Dienst.
- Starte den Dienst neu:
sudo systemctl restart systemd-resolved - Stelle sicher, dass der Dienst aktiv ist:
sudo systemctl status systemd-resolved
Schritt 4: Permanente Lösung über Netplan (für Ubuntu)
Unter Ubuntu werden manuelle Änderungen an der /etc/resolv.conf oft nach einem Neustart überschrieben. Um die DNS-Server dauerhaft zu speichern, solltest du Netplan verwenden.
- Gehe in das Verzeichnis der Netplan-Konfiguration:
cd /etc/netplan/ - Öffne die vorhandene
.yaml-Datei (der Name variiert, z.B.01-netcfg.yamloder50-cloud-init.yaml):sudo nano 01-netcfg.yaml - Füge die DNS-Server unter dem entsprechenden Interface hinzu (achte penibel auf die Einrückung mit Leerzeichen!):
network: version: 2 ethernets: eth0: # Dein Interface-Name dhcp4: true nameservers: addresses: [8.8.8.8, 1.1.1.1] - Wende die Änderungen an:
sudo netplan apply
Schritt 5: Überprüfung der Datei /etc/nsswitch.conf
Manchmal ist die Priorität der Namensauflösung falsch konfiguriert.
- Öffne die Datei:
sudo nano /etc/nsswitch.conf - Suche die Zeile, die mit
hosts:beginnt. Sie sollte idealerweise so aussehen:hosts: files dnsStelle sicher, dass
dnsin der Zeile steht.
Schritt 6: Firewall-Blockaden prüfen
Falls du eine Firewall wie ufw nutzt, stelle sicher, dass Port 53 (DNS) nicht blockiert wird.
Testweise kannst du die Firewall kurz ausschalten, um zu sehen, ob das Problem dort liegt:
sudo ufw disable
(Vergiss nicht, sie mit sudo ufw enable wieder einzuschalten, nachdem du die Regeln angepasst hast.)
Zusammenfassung
In 90 % der Fälle löst Schritt 2 (Hinzufügen von 8.8.8.8 zur /etc/resolv.conf) das Problem sofort. Wenn der Fehler nach einem Neustart wiederkehrt, ist Schritt 4 (Netplan) der richtige Weg für eine dauerhafte Lösung.