Wie oft wird der DNS-Cache geleert?

30

Wie oft wird der DNS-Cache auf einem Windows 7-Computer gelöscht?

Harry
quelle

Antworten:

34

Der DNS-Cache wird niemals geleert, es sei denn, Sie teilen dies ausdrücklich mit oder nehmen eine Änderung der DNS- / Netzwerkkonfiguration vor. Mit DNS-Einträgen ist ein TTL-Wert (Time To Live) verknüpft, der einem DNS-Cache mitteilt, wie lange der jeweilige Eintrag gültig ist. Datensätze im Cache werden für ihre TTL gespeichert und dann erneut abgefragt.

Auf einem Windows-Computer können Sie eine Liste aller Datensätze in Ihrem Cache mit ihrer TTL anzeigen, indem Sie den folgenden Befehl an der Eingabeaufforderung ausführen:

ipconfig /displaydns

Mit dem folgenden Befehl können Sie ein Leeren aller zwischengespeicherten DNS-Einträge erzwingen:

ipconfig /flushdns

Für mehr Information:

heavyyd
quelle
1
Was ist ein "Networking Change"? Eine neue IP-Adresse, die einem anderen WLAN-Netzwerk beitritt? oder manuelles Leeren des Cache / Einstellen von DNS
cutrightjm
2
Den anderen Antworten (und dem gesunden Menschenverstand) zufolge scheint es in der Tat eine maximale Lebensdauer für zwischengespeicherte DNS-Einträge in Windows zu geben. Betrachten Sie das Gegenteil: Es wäre dann für Websites trivial, einen Denial-of-Service-Angriff gegen Besucher durchzuführen, indem im Laufe der Zeit eine große Anzahl von DNS-Abfragen ausgelöst werden, bis Windows aufgrund des ständig wachsenden Caches keine Festplatte / RAM / CPU mehr hat Größe. Diese Antwort scheint also falsch zu sein.
Zero3
@ Zero3 Dies kann durch eine TTL pro Eintrag erklärt werden (die einen Maximalwert haben kann, sodass in dieser Zeit kein Eintrag gespeichert wird; die Antwort behauptet nicht, dass es keine maximale TTL geben kann). So ist die Antwort kann wahr sein, darin Behauptung ist , dass es kein „[gesamte] Cache - Flush“ , während immer noch das Gegenargument Verhalten zu erklären , weil Einträge „gespült“ sind (abgelaufen) einzeln durch ihre eigenen TTL Einträge .. gewährt, ein ein bisschen Wortlautbereinigung könnte helfen.
user2864740
10

Nach allem, was ich finden konnte, legt Windows 7 keinen Parameter für dnscache MaxCacheEntryTtlLimit fest .

Der Standardwert für MaxCacheEntryTtlLimit ist DWORD = 0x15180 = 86400 seconds = 1 day

  • Wenn die DNS-Zone TTL <MaxCacheEntryTtlLimit ist, wird die DNS-TTL verwendet
  • Wenn die DNS-Zone TTL> MaxCacheEntryTtlLimit ist, wird MaxCacheEntryTtlLimit verwendet
Darren Hall
quelle
8

Entsprechend: Reduzieren Sie den DNS-Clientcache in Windows Server 2012 R2

Stattdessen MaxCacheEntryTtlLimitsolltest du modifizieren maxcacheTTL. Es funktioniert auch für Windows 8.

Beschreibung

Legt fest, wie lange der DNS-Server (Domain Name System) einen Datensatz einer rekursiven Namensabfrage speichern kann.

Wenn der Wert dieses Eintrags 0x0 ist, speichert der DNS-Server keine Datensätze.

Bildbeschreibung hier eingeben

SomeOne01
quelle
Vielen Dank! Genau das, wonach ich gesucht habe. Eine weitere Sache, die Sie aus diesem Blog-Post-Lauf hinzufügen müssen, net stop dnscache & net start dnscachedamit die Einstellungen ohne Neustart übernommen werden.
Lucas
Wie es aussieht, gilt maxcacheTTL für die Komponente "DNS-Server" von Windows Server, nicht für den DNS-Cache.
Jeroen Landheer