Anleitung: DNS-Cache leeren auf allen Systemen

Alle paar Wochen stolpere ich wieder über das gleiche Thema: “Wie ließ sich noch mal der DNS-Cache löschen?” Ich gebe zu, den DNS-Cache zu leeren, ist keine tägliche Aufgabe, aber wenn es dann mal so weit ist, hat man die Befehle meist vergessen. Deswegen gibt es nachfolgend kurze Anleitung, wie man den DNS-Cache in diversen Betriebssystemen und Browsern entleert.

Bevor wir zu den einzelnen Lösungen kommen, möchte ich schnell noch einmal erklären, wofür der DNS-Cache überhaupt dient und wann man ihn flushen (das ist der englische Begriff) sollte.

Was ist der DNS-Cache und wann sollte man ihn leeren?

Das Domain Name System (DNS) ist ein wesentlicher Dienst innerhalb von IP-basierten Netzwerken, wie auch dem Internet. Stellt ein Nutzer über ein Programm eine Anfrage an einen Server und nutzt dazu eine Domain wie z.B. “code-bude.net”, dann stellt das Programm zuerst eine Anfrage an einen Nameserver, der dann die entsprechende IP-Adresse zur Domain ermittelt und diesem dem Programm mitteilt. Mittels der Kenntnis über die IP-Adresse stellt das Programm dann die eigentliche Anfrage. Das “Programm” kann hierbei z.B. ein Webbrowser, ein Spiel, das Betriebssystem selbst oder jede andere Anwendung die über das Netz kommuniziert sein.

Windows DNS-Cache leerenDa die Anfragen an den Nameserver jedoch Zeit kosten und sich die IP-Adresse, die der Domain hinterlegt ist, im Normalfall nicht häufig ändert, betreiben Betriebssysteme und teils auch Anwendungen einen sogenannten DNS-Cache. In diesem lokalen Zwischenspeicher werden die IP-Adressen zu Domains für eine gewisse Zeit vorgehalten. Bei einer erneuten Anfrage mit einem Domainnamen wird erst im Cache geschaut, ob bereits ein Eintrag existiert. Dies bringt in der Praxis eine Zeitersparnis. Der Zeitraum, wie lange ein Eintrag im Cache erhalten bleibt, wird vom Nameserver selbst festgelegt.

Wann sollte man nun proaktiv den Cache leeren? Sinn macht das nur, wenn sich die IP-Adresse, die einer Domain hinterlegt ist, geändert wurde, im Cache aber noch ein alter vorhanden Eintrag ist. Dies ist zumeist dann der Fall, wenn man den Eintrag einer eigenen Domain geändert hat. Aber auch, wenn Dritte die Einträge ihrer Domain geändert haben und eine Webseite scheinbar nicht mehr erreichbar ist, kann es sinnvoll sein den DNS-Cache zu leeren, bevor man auf weitere Fehlersuche geht.

DNS-Cache in Windows löschen

Die einfachste und schnellste Möglichkeit den DNS-Cache in Windows zu leeren, ist die Eingabe eines kurzen Befehls in der CMD. Öffnet hierzu die Kommandozeile (Windows-Taste + R, “CMD” eingeben, Enter drücken.)

Innerhalb der CMD reicht das Absetzen folgenden Befehls, um den DNS-Cache zu flushen:

ipconfig /flushdns

DNS-Cache in OSX leeren

Unter Mac OSX ist es nicht ganz so simpel wie unter Windows, da es für nahezu jede OSX-Version einen anderen Befehl gibt. Eines haben aber alle Methoden gleich – sie werden alle in den Terminal eingegeben.

Um den DNS-Cache in OSX zu löschen, muss also zuerst der Terminal geöffnet werden. (Entweder über: cmd+Leertaste, “Terminal” eingeben, Enter drücken oder über das Applikationsmenü.) Der einzugebende Befehl hängt von der OSX-Version ab.

OSX >= 10.10.4

sudo dscacheutil -flushcache;
sudo killall -HUP mDNSResponder;

OSX >= 10.10

sudo discoveryutil mdnsflushcaches;
sudo discoveryutil udnsflushcaches

OSX 10.9

dscacheutil -flushcache;
sudo killall -HUP mDNSResponder

OSX >= 10.7

sudo killall -HUP mDNSResponder

OSX >= 10.5

sudo dscacheutil -flushcache

OSX <= 10.4

lookupd -flushcache

DNS-Cache unter Linux leeren

Unter Linux verhält es sich in gewisser Hinsicht ähnlich wie unter Mac OSX. Auch hier gibt es verschiedene Befehle, die zum Ziel führen können. Dabei ist die Wahl des Befehls von den verwendeten DNS-Softwarekomponenten abhängig. Wenn einer der unten stehenden Befehle nicht funktioniert, sollte noch einmal überprüft werden, ob gegebenenfalls ein alternativer DNS-Server/Cache wie BIND zum Einsatz kommt.

dns-clean und networking DNS flushen

sudo /etc/init.d/dns-clean restart
sudo /etc/init.d/networking force-reload

dnsmasq DNS-Cache leeren

sudo /etc/init.d/dnsmasq restart

nscd DNS-Cache löschen

sudo /etc/init.d/nscd restart

BIND DNS leeren

sudo /etc/init.d/named restart

pdnsd DNS-Cache löschen

sudo pdnsd-ctl empty-cache

Chrome DNS-Cache löschen

Um den DNS-Cache in Googles Chrome Browser zu leeren, muss eine spezielle Url aufgerufen, die eine Seite mit browserinternen Informationen öffnet. Die Seite ist unter folgender Adresse erreichbar:

chrome://net-internals/#dns

Gibt man die Url in der Adresszeile ein, gelangt man zur Übersichtsseite des Chrome-internen DNS-Cache. Hier kann man sich zum einen alle vorgehaltenen Einträge ansehen und zum anderen mit einem Klick auf den “Clear host cache”-Button den internen DNS-Cache flushen.

DNS-Cache in Firefox leeren

In Firefox muss man, ähnlich dem Vorgehen in Chrome, ebenfalls eine spezielle Adresse in die Adresszeile des Browsers eingeben. Mit folgender Url öffnet man die erweiterten Einstellungen des Firefox-Browsers. Der Warnhinweis beim Aufrufen der Seite kann ignoriert werden, da wir ja aus gutem Grund und bei vollem Bewusstsein die Einstellungen öffnen.

about:config

Innerhalb der Einstellungen muss der Eintrag namens “network.dnsCacheExpiration” gesucht und auf den Wert 0 gesetzt werden. Sollte der Eintrag nicht existieren, so muss er erstellt werden. Durch das Setzen auf 0 wird der Cache geleert. Danach sollte der Wert wieder erhöht werden. (z.B. auf 3600, um die Cache-Einträge für eine Stunde zu erhalten.)

DNS-Cache in Opera löschen

In Opera gibt es keine Möglichkeit den Cache auf eigenen Wunsch zu löschen. Nach Aussagen des Senior-Entwicklers Yngve Nysæter Pettersen werden die Cache-Einträge automatisch alle 10 Minuten ungültig und somit neu angefordert. Wer nicht so lange warten will, kann den Opera-Browser auch einmal komplett schließen. Beim nächsten öffnen, ist der DNS-Cache ebenfalls geleert.

Internet Explorer DNS-Cache leeren

Der Internet Explorer hat keinen eigenen DNS-Cache. Er nutzt den Windows eignen DNS-Cache mit. Um den DNS-Cache des Microsoft Internet Explorers zu löschen, genügt es also die Schritte durchzuführen, die nötig sind, um den Windows-weiten DNS-Cache zu flushen. (Die einzelnen Befehle finden sich am Anfang des Artikels.)

DNS-Cache unter iOS auf iPhone und iPad leeren

Unter iOS gibt es drei Möglichkeiten den DNS-Cache zu löschen. Variante 1 ist das Aktivieren und anschließenden Deaktivieren des Flugmodus. Teilweise kann es jedoch sein, das permanente Einträge im DNS-Cache nicht korrekt entfernt werden. In diesem Fall bleiben die Varianten 2 und 3. Variante 2 sieht das Löschen der Netzwerkeinstellungen vor. Dies geht über “Einstellungen–>Allgemein–>Zurücksetzen–>Netzwerkeinstellungen”. Variante 3 ist ein kompletter Neustart des iOS-Geräts.

Android DNS-Cache löschen

Unter Android gibt es ebenfalls 3 Möglichkeiten den DNS-Cache zu flushen. Soll nur der DNS-Cache des Chrome-Browser geleert werden, so kann derselbe Befehl wie im obigen Abschnitt zum Chrome-Browser genutzt werden. Soll der systemweite DNS-Cache gelöscht werden, kann entweder das Gerät neugestartet werden oder, falls Shell-Zugriff und Root vorhanden ist, folgender Befehl im Terminal abgesetzt werden.

ndc resolver flushdefaultif

Anleitung: DNS Cache leeren auf allen SystemenÜber den Autor: Dieser Artikel, sowie 363 andere Artikel auf code-bude.net, wurden von Raffael geschrieben. – Seit 2011 blogge ich hier über Programmierung, meine Software, schreibe Tutorials und versuche mein Wissen, so gut es geht, mit meinen Lesern zu teilen. Zudem schreibe ich auf derwirtschaftsinformatiker.de über Themen meines Studiums.  //    •  • Facebook  • Twitter


3 Kommentare

  1. Eine sehr gute Anleitung, vielen Dank!

  2. Danke für die ausführliche Liste zu OSX, ist gebookmarked :-)

  3. Danke nach so einer Anleitung habe ich gesucht!

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Sie dient nur dem Spamschutz.