Linux: DNS kann nicht aufgelöst werden – Ursachen und Lösungen

Wenn unter Linux das Netzwerk grundsätzlich funktioniert, Webseiten aber nicht geöffnet werden können, liegt oft ein Problem mit der DNS-Auflösung vor. DNS übersetzt Domainnamen wie example.com in IP-Adressen. Fällt diese Funktion aus, ist die Internetverbindung scheinbar vorhanden, viele typische Netzwerkzugriffe funktionieren aber nicht mehr.

Typische Symptome

  • Der Browser meldet, dass der Server nicht gefunden werden kann
  • ping 8.8.8.8 funktioniert, ping google.com jedoch nicht
  • Paketmanager wie apt, dnf, yum oder pacman schlagen fehl
  • Es erscheint die Meldung Temporary failure in name resolution

Erst die Ursache eingrenzen

Zuerst sollte geprüft werden, ob das gesamte Netzwerk betroffen ist oder nur DNS.

ping -c 4 8.8.8.8
ping -c 4 google.com
ip addr
ip route

Wenn die Verbindung zu 8.8.8.8 funktioniert, aber nicht zu google.com, spricht das stark für ein DNS-Problem. Wenn auch direkte IP-Adressen nicht erreichbar sind, liegt die Ursache eher bei Netzwerkadapter, WLAN, Gateway oder Routing.

Häufige Ursachen

1. Fehlerhafte /etc/resolv.conf

Viele Linux-Systeme beziehen ihre DNS-Server aus der Datei /etc/resolv.conf. Fehlt dort ein gültiger nameserver, ist keine Namensauflösung möglich.

cat /etc/resolv.conf

Beispiel:

nameserver 8.8.8.8
nameserver 1.1.1.1

Ist die Datei leer oder zeigt auf einen falschen lokalen Resolver, schlägt DNS fehl. Auf modernen Systemen wird diese Datei jedoch oft automatisch von NetworkManager oder systemd-resolved erzeugt, sodass manuelle Änderungen überschrieben werden können.

2. Problem mit systemd-resolved

Auf Distributionen wie Ubuntu verwaltet systemd-resolved oft die DNS-Auflösung und verwendet 127.0.0.53 als lokalen Stub-Resolver. Wenn dieser Dienst nicht läuft, funktioniert DNS nicht mehr.

systemctl status systemd-resolved
resolvectl status

Bei Problemen hilft oft ein Neustart:

sudo systemctl restart systemd-resolved

3. Fehlerhafte DNS-Übernahme durch NetworkManager

Auf Desktop-Systemen übernimmt häufig NetworkManager die per DHCP gelieferten DNS-Informationen. Fehlerhafte Profile oder Verbindungsprobleme können dazu führen, dass keine gültigen DNS-Server gesetzt werden.

nmcli dev show | grep DNS
nmcli connection show

Bei Bedarf:

sudo systemctl restart NetworkManager

4. Einfluss von VPN, Proxy oder Firewall

VPN-Verbindungen können DNS-Anfragen in falsche Wege leiten. Firewalls können Port 53 blockieren. Dadurch funktioniert eventuell nur die Namensauflösung nicht, obwohl andere Teile des Netzwerks intakt sind.

5. Defekter oder veralteter DNS-Cache

Wenn der lokale Cache beschädigt oder veraltet ist, können einzelne Domains nicht mehr aufgelöst werden. In solchen Fällen hilft das Leeren des Caches.

sudo resolvectl flush-caches

Praktische Schritte zur Fehlerbehebung

Schritt 1: Direkt gegen einen öffentlichen DNS testen

nslookup google.com 8.8.8.8
dig google.com @8.8.8.8

Wenn dies funktioniert, liegt das Problem eher bei der lokalen Konfiguration als beim externen DNS-Dienst.

Schritt 2: Testweise öffentlichen DNS eintragen

sudo sh -c 'printf "nameserver 8.8.8.8\nnameserver 1.1.1.1\n" > /etc/resolv.conf'

Das ist nur eine temporäre Lösung. Nach Neustart oder Neuverbindung kann die Datei erneut überschrieben werden. Für eine dauerhafte Lösung müssen NetworkManager, netplan oder systemd-resolved korrekt konfiguriert werden.

Schritt 3: Netplan auf Ubuntu prüfen

sudo nano /etc/netplan/*.yaml

Beispiel:

nameservers:
  addresses: [8.8.8.8,1.1.1.1]

Danach anwenden:

sudo netplan apply

Schritt 4: DHCP-Daten neu anfordern

sudo dhclient -r
sudo dhclient

Wenn fehlerhafte DNS-Daten vom DHCP-Server kamen, kann dies das Problem beheben.

Nützliche Prüfkommandos

ping -c 4 8.8.8.8
ping -c 4 google.com
cat /etc/resolv.conf
systemctl status systemd-resolved
resolvectl status
nmcli dev show | grep DNS
nslookup google.com
dig google.com
journalctl -u systemd-resolved --no-pager | tail -n 50

Vorbeugung

  • Nicht nur direkt /etc/resolv.conf bearbeiten und es dabei belassen
  • Verstehen, ob DHCP, NetworkManager oder systemd-resolved DNS verwaltet
  • Nach VPN-Einrichtung die DNS-Konfiguration kontrollieren
  • Bei Servern feste DNS-Server bewusst definieren

Fazit

Wenn Linux keine DNS-Namen mehr auflösen kann, sollte zuerst geprüft werden, ob IP-Adressen noch erreichbar sind. So lässt sich schnell klären, ob wirklich nur DNS betroffen ist. Danach sollten /etc/resolv.conf, systemd-resolved, NetworkManager, DHCP und eventuelle VPN-Einstellungen systematisch überprüft werden. Wer versteht, welcher Dienst die DNS-Konfiguration tatsächlich verwaltet, kann das Problem nicht nur kurzfristig, sondern auch dauerhaft beheben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert