DNS-Cache unter macOS leeren (Sequoia, Sonoma, Ventura)

Erfahren Sie, wie Sie den DNS-Cache auf macOS mit einem Terminal-Befehl leeren. Behebt veraltete DNS-Einträge nach Domain-Änderungen, fehlerhafte Weiterleitungen und seltsame Auflösungsprobleme.

DNS-Cache-Probleme sind leicht falsch zu diagnostizieren. Sie aktualisieren die Einträge einer Domain, warten auf die Propagierung und öffnen dann einen Browser – doch die alte Website lädt immer noch. Oder eine Website, die früher funktionierte, verweigert plötzlich die Verbindung. Der Server ist in Ordnung. Ihr Internet ist in Ordnung. Das Problem ist, dass Ihr Mac eine veraltete DNS-Antwort gespeichert hat und sie immer noch ausliefert.

Den DNS-Cache zu leeren weist macOS an, diese gespeicherten Antworten zu vergessen und von vorne anzufangen. Es dauert einen Befehl und etwa fünf Sekunden.

Warum Ihr Mac DNS-Einträge zwischenspeichert

Jedes Mal, wenn Sie eine Website besuchen, muss Ihr Mac den Domainnamen (wie example.com) in eine IP-Adresse übersetzen. Diese Übersetzung läuft durch einen Prozess: Ihr Mac prüft zuerst seinen lokalen DNS-Cache, fragt dann einen DNS-Resolver (normalerweise den Ihres Internetanbieters oder einen öffentlichen wie 1.1.1.1), und wenn keiner die Antwort hat, kontaktiert der Resolver den autoritativen Nameserver für diese Domain.

Caching ist normalerweise eine gute Sache. Es macht das Surfen schneller, weil Ihr Mac die gesamte Lookup-Kette für kürzlich besuchte Websites überspringt. Das Problem tritt auf, wenn sich DNS-Einträge ändern und die gecachte Antwort Ihres Macs noch auf das alte Ziel verweist. Der TTL (Time to Live) eines DNS-Eintrags teilt Resolvern mit, wie lange er gecacht werden soll, aber macOS hält sich nicht immer genau daran.

Wann ein DNS-Flush tatsächlich hilft

Nicht jedes Netzwerkproblem ist ein DNS-Cache-Problem. Ein Flush hilft, wenn:

  • Sie gerade die DNS-Einträge einer Domain geändert haben und Ihr Mac noch auf die alte IP auflöst
  • Eine Website zur falschen Stelle weiterleitet, obwohl die DNS-Änderung überall sonst propagiert wurde
  • Sie von einem VPN oder einer benutzerdefinierten DNS-Einrichtung gewechselt haben und einige Domains nicht korrekt auflösen
  • Eine Domain, die definitiv existiert, auf Ihrem Computer „Server nicht gefunden" zurückgibt, aber anderswo korrekt auflöst

Wenn eine Website einfach langsam ist, Verbindungen zeitüberschreiten oder Sie TLS-Fehler erhalten, wird ein DNS-Flush wahrscheinlich nicht helfen. Das sind andere Probleme.

Der Befehl zum Leeren des DNS-Cache unter macOS

Der Befehl ist für aktuelle macOS-Versionen derselbe. Öffnen Sie das Terminal (zu finden unter Programme > Dienstprogramme oder mit Spotlight suchen) und führen Sie aus:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden. Das Terminal zeigt keine Zeichen während der Eingabe, was normal ist. Sie sehen keine Bestätigungsausgabe, wenn es erfolgreich ist, was ebenfalls normal ist.

Dieser Befehl funktioniert auf:

  • macOS Sequoia (15.x)
  • macOS Sonoma (14.x)
  • macOS Ventura (13.x)

Er funktioniert auch auf Monterey und Big Sur, wenn Sie noch diese Versionen verwenden.

Der Befehl tut zwei Dinge. dscacheutil -flushcache leert den Directory-Services-Cache, der DNS enthält. killall -HUP mDNSResponder sendet ein Signal an den DNS-Responder-Prozess von macOS und weist ihn zum Neuladen an. Sie benötigen beides. Nur dscacheutil auszuführen reichte früher in älteren macOS-Versionen, genügt aber seit Jahren nicht mehr.

Das Präfix sudo ist erforderlich, da dies Operationen auf Systemebene sind. Ohne es scheitern beide Befehle still oder geben einen Berechtigungsfehler zurück.

Überprüfen, ob der Flush funktioniert hat

Öffnen Sie nach dem Leeren einen neuen Browser-Tab und besuchen Sie die Domain, mit der Sie Probleme hatten. Wenn das Problem an veralteten Daten lag, sollten Sie jetzt die korrekte Website sehen.

Für eine eindeutigere Prüfung können Sie einen DNS-Lookup durchführen und bestätigen, dass die IP-Adresse, die Sie erhalten, mit Ihren Erwartungen übereinstimmt. Das DNS-Lookup-Tool von NetUtil macht das schnell: Öffnen Sie die App, gehen Sie zu DNS-Lookup, geben Sie die Domain ein und führen Sie die Abfrage aus. Das Ergebnis zeigt den A-Eintrag (IPv4-Adresse) oder AAAA-Eintrag (IPv6), zu dem Ihr Mac jetzt auflöst. Wenn die IP mit Ihrem aktualisierten DNS-Eintrag übereinstimmt, hat der Flush funktioniert und der neue Eintrag wird aufgelöst.

Wenn Sie noch die alte IP sehen, liegt das Problem nicht an Ihrem lokalen Cache. Es propagiert wahrscheinlich noch durch vorgelagerte Resolver, oder die DNS-Änderung ist noch nicht vollständig wirksam. Warten Sie in diesem Fall ein paar Minuten und versuchen Sie es erneut.

Sie können auch das Terminal direkt mit nslookup example.com oder dig example.com verwenden, um die aufgelöste IP zu prüfen.

Einmal leeren, fertig

Den DNS unter macOS zu leeren ist ein einzeiliger Befehl, der Sekunden dauert. Das Ergebnis bleibt nicht in einer sichtbaren Form bestehen, es löscht einfach veraltete gecachte Antworten, sodass Ihr Mac neu anfängt. Wenn die DNS-Änderung, auf die Sie warten, propagiert wurde, lösen Sie sofort danach korrekt auf. Wenn nicht, schadet der Flush trotzdem nicht, und Sie können ihn erneut ausführen, sobald die Propagierung abgeschlossen ist.

NetUtil enthält ein DNS-Lookup-Tool neben Ping, Traceroute, Whois, Port-Scan und Netstat. Es ist eine kostenlose macOS-App, die das Network Utility ersetzt, das Apple in macOS Big Sur entfernt hat.