DNS-Flush: So löschen Sie Ihren DNS-Cache

Wer sich im World Wide Web bewegt, hinterlässt eine Menge spuren – das dürfte mittlerweile auch vielen unerfahrenen Browser-Benutzern bekannt sein. Website-Betreiber nutzen Techniken wie Cookies oder JavaScript-Anwendungen, um das Verhalten der Besucher aufzuzeichnen. Die daraus gewonnen Daten werden zur Optimierung der Webpräsenz und zur Personalisierung der Inhalte verwendet, ohne dass die User aktiv persönliche Details preisgeben. Viele Nutzer greifen daher vermehrt auf Ad- und JavaScript-Blocker und Proxys zurück oder löschen Browserverlauf und Cookies, um der Datensammelei ein Ende zu setzen und die eigene Privatsphäre zu schützen.

Wohl den wenigsten Usern ist allerdings bewusst, dass auch das ein oder andere Betriebssystem Informationen über das Surfverhalten speichert: Der automatisch erzeugte DNS-Cache enthält beispielsweise temporäre Einträge über alle besuchten Websites. Was genau es mit diesem Zwischenspeicher auf sich hat und warum es aus gleich mehreren Gründen sinnvoll ist, den DNS-Cache regelmäßig zu löschen, erfahren Sie in den folgenden Abschnitten.

Was ist der DNS-Cache?

Damit sich Domain-Namen wie www.example.com in numerische Adressen umwandeln lassen, die von Computersystemen verarbeitet werden können, kommen sogenannte DNS-Server zum Einsatz. Diese „Nameserver“ werden standardmäßig bei jedem Aufruf der entsprechenden Projekte über den Browser kontaktiert, was deren Ladezeit geringfügig erhöht und bei einem hohen Besucheraufkommen auch zu einer Überlastung des DNS-Servers führen kann. Fehlermeldungen wie „Der DNS-Server antwortet nicht“ sind dann die häufige und unliebsame Folge.

Betriebssysteme wie Windows und macOS setzen aus diesem Grund auf einen eigenen Zwischenspeicher für aufgerufene und aufgelöste Adressen – den sogenannten DNS-Cache. Dieser speichert alle Informationen, die für die Namensauflösung relevant sind, wobei jeder Eintrag für eine gewisse Zeitspanne (TTL: Time to live) gültig ist. Innerhalb dieser Spanne werden entsprechende Anfragen direkt aus dem Cache beantwortet, ohne den Umweg über den DNS-Server gehen zu müssen.

Hinweis

Auch verschiedene Anwendungen wie Webbrowser sowie die Nameserver von Internet-Service-Providern haben einen eigenen DNS-Cache, um die Namensauflösung zu beschleunigen.

Welche Informationen enthält der DNS-Cache?

Die Informationseinheiten bzw. Einträge im DNS-Cache heißen Resource Records (RR) und werden im ASCII-Code (in komprimierter Form) dargestellt. Zu den verschiedenen – teilweise auch nur optionalen – Komponenten zählen dabei die folgenden:

  • Resource Data (rdata): Daten, die den Record beschreiben, z. B. die Adresse oder der Hostname
  • Record Type: Typ des erstellten Eintrags, z. B. „A“: IPv4- (dezimaler Wert: 1) oder „AAAA“: IPv6-Adresse (dezimaler Wert: 28)
  • Record Name (optional): Domänenname des Objekts, für den der DNS-Eintrag erstellt wurde
  • Time to live (optional): Gültigkeitsdauer des Resource Records in Sekunden
  • Class (optional): Protokollgruppe, zu der der RR gehört (hauptsächlich „IN“ für Internet)
  • Resource Data Length (optional): Wert für die Länge der Resource Data

Der DNS-Cache enthält also die IP-Adresse zu der jeweiligen Domain bzw. dem jeweiligen Host sowie einige zusätzliche Angaben, die diese spezifizieren – wie zum Beispiel die Gültigkeitsdauer des Records oder die passende Protokollgruppe. Ein Eintrag für die Domain www.example.com (IPv4: 172.27.171.106), der eine Stunde gültig sein soll, sieht beispielsweise folgendermaßen aus:

www.example.com.    3600  IN  A  172.27.171.106

Warum ist ein regelmäßiger DNS-Flush sinnvoll?

Eingangs ist bereits zur Sprache gekommen, dass es sinnvoll ist, den DNS-Cache regelmäßig zu leeren. Von selbst geschieht dies nämlich nicht: Die Einträge verbleiben solange im Zwischenspeicher bis die definierte TTL abgelaufen ist. Insbesondere drei Gründe sprechen dafür, selbst aktiv zu werden und das DNS-Register unabhängig von der eigentlichen Gültigkeitsdauer der einzelnen Records durch einen DNS-Flush auf null zu setzen:

  1. Surfverhalten verbergen: Auch wenn das Tracking des Nutzerverhaltens im World Wide Web vor allem durch Cookies, JavaScript und Co. erfolgt, bietet der DNS-Cache dennoch ein potenzielles Ziel für alle Datensammler. Anhand der verzeichneten Adressen inklusive der zusätzlichen Informationen wie Gültigkeitsdauer (sofern angegeben) kann man nämlich einen ungefähren Überblick über Ihren Seitenverlauf erhalten. In jedem Fall verrät Ihr Adressspeicher, welche Projekte Sie immer wieder oder über einen längeren Zeitraum hinweg aufrufen. Je umfangreicher die Sammlung zwischengespeicherter Adressen ist, desto mehr geben Sie von sich Preis.

  2. Sicherheit gegen Manipulation: Auch aus Sicherheitsgründen sollten Sie ab und zu den DNS-Cache löschen. So praktisch die Informationen aus dem Zwischenspeicher bei der Auslieferung von Webprojekten sind – in den falschen Händen werden sie schnell zu einer gefährlichen Waffe. Wenn sich Cyberkriminelle Zugriff auf den DNS-Zwischenspeicher verschaffen, sind sie nämlich in der Lage, die Einträge zu manipulieren und Sie beispielsweise auf falsche Websites umzuleiten. Mit diesem sogenannten DNS-Poisoning oder auch DNS-Spoofing sollen oft sensible Log-in-Daten abgegriffen werden, beispielsweise beim Onlinebanking. Mit einem DNS-Flush entledigen Sie sich mit minimalem Aufwand auch solcher manipulierter Records.

  3. Technische Probleme lösen: Der DNS-Flush unter Windows, macOS und Co. ist zudem oft auch eine wirksame Lösung, wenn technische Probleme beim Aufruf von Webanwendungen auftreten. So ist es beispielsweise möglich, dass aufgrund veralteter Einträge eine falsche Version der aufgerufenen Website angezeigt wird. In solch einem Fall ist der Domainname wahrscheinlich im Zwischenspeicher mit der falschen bzw. alten IP-Adresse verzeichnet, was sich durch das Löschen des DNS-Caches beheben lässt. Infolgedessen wird die Anfrage wieder an den zuständigen DNS-Server weitergeleitet und nicht aus dem Cache beantwortet. Mit den nun aktualisierten Adressinformationen funktioniert auch der Verbindungsaufbau zum Webprojekt wieder wie geplant.
Tipp

Sie können sich den aktuell auf Ihrem System gespeicherten DNS-Cache jederzeit anzeigen lassen. Unter Windows öffnen Sie hierfür beispielsweise einfach die Eingabeaufforderung und geben den Befehl „ipconfig /displaydns“ ein.

DNS-Cache löschen: So funktioniert’s

Es gibt keine Regel, mit der sich der perfekte Moment für einen DNS-Flush bestimmen lässt – außer es besteht gerade ein akutes technisches Problem, das sich durch das Leeren des Zwischenspeichers lösen lässt. Ferner sollten Sie den DNS-Cache sofort leeren, wenn Sie feststellen, dass Sie auf eine Seite umgeleitet werden, die Sie nicht aufgerufen haben. Dabei muss es sich zwar nicht zwangsläufig um einen Spoofing-Angriff auf Basis eines manipulierten DNS-Eintrags handeln, doch da ein solcher Angriff prinzipiell nicht auszuschließen ist, ist ein DNS-Flush in solchen Fällen dringend anzuraten.

Hinweis

Unabhängig davon, ob Sie den DNS-Cache aus einem bestimmten Anlass oder lediglich präventiv löschen, brauchen Sie sich im Übrigen keine Sorgen zu machen, dass dies einen spürbaren Effekt auf Ihr Web-Erlebnis hat: Lediglich der jeweils erste Aufruf eines Webprojekts nach dem Reset des Zwischenspeichers dürfte ein bisschen länger als gewöhnlich dauern, sofern dieses zuvor auf Basis gespeicherter Resource Records geladen wurde.

Da sich die Durchführung eines DNS-Flushs von System zu System unterscheidet, haben wir in den folgenden Abschnitten verschiedene Anleitungen für die einzelnen Betriebssysteme zusammengetragen.

 

Windows 7: DNS-Flush-Anleitung

Als Nutzer von Windows 7 können Sie einen DNS-Flush über die Eingabeaufforderung durchführen. Um diese zu nutzen, klicken Sie auf den Windows-Home-Button und tippen „cmd“ in die Suche ein. Anschließend starten Sie das Kommandozeilentool, indem Sie die Eingabe- bzw. Enter-Taste drücken.

Geben Sie folgenden Befehl ein:

ipconfig /flushdns

Nutzen Sie ein weiteres Mal die Enter-Taste, löscht Windows den DNS-Cache. Sie erhalten eine entsprechende Erfolgsmeldung, dass der Zwischenspeicher erfolgreich geleert wurde.

Windows 8: So führen Sie einen DNS-Flush durch

Die Eingabeaufforderung ist auch unter Windows 8 Ihr Werkzeug für einen DNS-Flush. Öffnen Sie zunächst das Startmenü über den Home-Button und anschließend die Suche über das Lupensymbol. Suchen Sie nach „cmd“ und wählen Sie anschließend die Eingabeaufforderung per Linksklick aus.

Um den DNS-Cache zu löschen, geben Sie nun noch folgenden Befehl ein:

ipconfig /flushdns

Danach starten Sie den Löschprozess durch Betätigen der Enter-Taste. Eine Kommandozeilen-Nachricht informiert Sie über den Erfolg des DNS-Flushs.

Windows 10: So leeren Sie den DNS-Cache

Die Eingabeaufforderung funktioniert auch in Windows 10 nach dem bekannten Muster und unterscheidet sich kaum von der Vorgehensweise bei Windows 7 und 8: Sie nutzen im ersten Schritt die Suchfunktion, um nach der Kommandozeilen-Anwendung cmd zu suchen.

Mit dem Befehl „ipconfig /flushdns“ leeren Sie nun den DNS-Cache:

Wenn der Vorgang wie gewünscht funktioniert hat, meldet die Eingabeaufforderung den Erfolg des Löschprozesses.

DNS-Flush unter Linux durchführen: So funktioniert‘s

Linux-Systeme haben keinen standardmäßigen DNS-Cache. Erst durch den Einsatz von entsprechenden Anwendungen wie nscd (Name Service Caching Daemon), pdnsd, dns-clean oder dnsmasq bieten die verschiedenen Distributionen eine Funktion, um DNS-Informationen lokal zwischenzuspeichern. Falls Sie also einen dieser Dienste für das Caching nutzen, müssen Sie ihn über das Terminal ansteuern, um den Zwischenspeicher zu leeren.

Für pdnsd gibt es einen konkreten Löschbefehl:

sudo pdnsd-ctl empty-cache

Um den DNS-Cache von dnsmasq, dns-clean oder nscd zu löschen, startet man den jeweiligen Service hingegen komplett neu:

sudo /etc/init.d/dnsmasq restart
sudo /etc/init.d/nscd restart
sudo /etc/init.d/dns-clean restart

So funktioniert ein DNS-Flush auf dem Mac

macOS hat wie Windows von Werk an einen integrierten DNS-Cache, der automatisch DNS-Informationen sammelt und deshalb regelmäßig geleert werden sollte. Anders als bei den Microsoft-Systemen variiert der Befehl zum Zurücksetzen des Zwischenspeichers jedoch von Version zu Version. Was Sie in das Terminal eingeben müssen, um das DNS-Register auf null zu setzen, hängt also von der Edition ab, mit der Sie arbeiten:

macOS 10.12.0 (Sierra):

sudo killall -HUP mDNSResponder

OS X 10.10.4 (Yosemite) und 10.11.0 (El Capitan):

sudo dscacheutil -flushcache;
sudo killall -HUP mDNSResponder

OS X 10.10.1 bis 10.10.3 (Yosemite):

sudo discoveryutil mdnsflushcache
sudo discoveryutil udnsflushcaches

OS X 10.9.0 (Mavericks):

sudo dscacheutil -flushcache;
sudo killall -HUP mDNSResponder

Auf dem Laufenden bleiben?

Jetzt zu unserem Newsletter anmelden und
gratis Online-Marketing Whitepaper
sichern.