Wie man den DNS-Cache unter Linux leert [Terminal-Anleitung]
Hier ist ein kompaktes Tutorial, wie du den DNS-Cache unter Linux über die Kommandozeile leeren kannst.
Der DNS-Cache speichert die IP-Adressen von besuchten Webseiten, um den nächsten Aufruf zu beschleunigen. Manchmal ist dieser Cache jedoch veraltet oder fehlerhaft, was zu Verbindungsproblemen führen kann. In diesem Fall hilft ein „Flush“ (Leeren) des Caches.
Da Linux keinen einheitlichen DNS-Dienst nutzt, hängt der Befehl von deiner Distribution und dem verwendeten Dienst ab.
1. Prüfen, welcher DNS-Dienst aktiv ist
Bevor du startest, kannst du prüfen, ob ein lokaler Cache-Dienst läuft:
sudo lsof -i :53
Falls du dort systemd-resolved oder dnsmasq siehst, weißt du, welchen Abschnitt du unten wählen musst.
2. DNS leeren mit systemd-resolved
Die meisten modernen Distributionen (wie Ubuntu, Debian, Fedora, Arch Linux) nutzen standardmäßig systemd-resolved.
Verwende diesen Befehl, um den Cache zu leeren:
sudo resolvectl flush-caches
Alternative für ältere Versionen: Sollte der obige Befehl nicht funktionieren, versuche es mit:
sudo systemd-resolve --flush-caches
Erfolg überprüfen: Du kannst dir die Statistiken anzeigen lassen, um zu sehen, ob der Cache geleert wurde:
sudo resolvectl statistics
3. DNS leeren mit nscd (Name Service Cache Daemon)
Einige ältere Systeme oder Server nutzen den Dienst nscd. Um diesen Cache zu leeren, muss der Dienst neu gestartet werden:
sudo systemctl restart nscd
Oder falls dein System kein systemctl nutzt:
sudo service nscd restart
4. DNS leeren mit dnsmasq
dnsmasq wird oft auf Routern, in lokalen Netzwerken oder auf Desktops eingesetzt, die als DNS-Server fungieren. Um den Cache zu leeren, musst du den Dienst neu starten:
sudo systemctl restart dnsmasq
5. DNS leeren mit BIND (Named)
Falls du einen eigenen DNS-Server mit BIND betreibst, kannst du den Cache mit folgendem Befehl leeren:
sudo rndc flush
Um nur eine bestimmte Domain zu leeren, tippe:
sudo rndc flushname example.com
6. Zusätzlicher Hinweis: Browser-Cache
Manchmal liegt das Problem nicht am Betriebssystem, sondern am Browser (Chrome, Firefox, Edge), da diese einen eigenen internen DNS-Cache besitzen.
- Google Chrome / Brave / Edge: Gib
chrome://net-internals/#dnsin die Adresszeile ein und klicke auf den Button "Clear host cache". - Firefox: Tippe
about:configin die Adresszeile, suche nachnetwork.dnsCacheExpirationund setze den Wert kurzzeitig auf0.
Zusammenfassung
In 90 % der Fälle auf modernen Linux-Systemen ist dieser Befehl die Lösung:
sudo resolvectl flush-caches