À quelle fréquence le cache DNS se vide-t-il?

30

À quelle fréquence le cache DNS s'efface-t-il sur une machine Windows 7?

Harry
la source

Réponses:

34

Le cache DNS n'est jamais vidé, sauf si vous le lui dites explicitement ou si vous apportez une modification de configuration liée au DNS / réseau. Les enregistrements DNS ont une valeur Time To Live (TTL) qui leur est associée, qui indique à un cache DNS pendant combien de temps l'enregistrement particulier est bon. Les enregistrements dans le cache sont conservés pour leur TTL, puis interrogés à nouveau.

Sur une machine Windows, vous pouvez voir une liste de tous les enregistrements de votre cache avec leur TTL en exécutant la commande suivante à l'invite de commande:

ipconfig /displaydns

Vous pouvez forcer un vidage de tous les enregistrements DNS mis en cache à l'aide de la commande suivante:

ipconfig /flushdns

Pour plus d'informations:

lourd
la source
1
Quel genre de choses constitue un «changement de réseau»? Une nouvelle adresse IP, rejoindre un autre réseau wifi? ou vidage manuel du cache / définition du DNS
cutrightjm
2
Selon les autres réponses (et le bon sens), il semble qu'il existe en effet une durée de vie maximale pour les entrées DNS mises en cache dans Windows. Considérez le contraire: il serait alors trivial pour les sites Web de lancer une attaque par déni de service contre les visiteurs en déclenchant un grand nombre de requêtes DNS au fil du temps, jusqu'à ce que Windows soit à court de disque dur / RAM / CPU en raison du cache sans cesse croissant Taille. Cette réponse semble donc fausse.
Zero3
@ Zero3 Cela peut être expliqué via un TTL par entrée (qui peut avoir une valeur maximale telle qu'aucune entrée ne soit conservée pendant cette période; la réponse ne prétend pas qu'il ne peut pas y avoir de TTL maximum). Ainsi, la réponse peut être vraie, dans son affirmation qu'il n'y a pas de «vidage de cache [entier]» , tout en expliquant le comportement de contre-argument parce que les entrées sont «vidées» (expirées) individuellement par leurs propres entrées TTL. un peu de nettoyage des mots pourrait aider.
user2864740
10

D'après ce que j'ai pu trouver, Windows 7 ne définit pas de paramètre pour dnscache MaxCacheEntryTtlLimit .

La valeur par défaut de MaxCacheEntryTtlLimit est DWORD = 0x15180 = 86400 seconds = 1 day

  • si la zone DNS TTL <MaxCacheEntryTtlLimit, alors DNS TTL est utilisé
  • si la zone DNS TTL> MaxCacheEntryTtlLimit, alors MaxCacheEntryTtlLimit est utilisé
Darren Hall
la source
8

Selon: réduire le cache du client DNS dans Windows Server 2012 R2

Au lieu de MaxCacheEntryTtlLimitvous devez modifier maxcacheTTL. Cela fonctionne aussi pour Windows 8.

La description

Détermine la durée pendant laquelle le serveur DNS (Domain Name System) peut enregistrer un enregistrement d'une requête de nom récursif.

Si la valeur de cette entrée est 0x0, le serveur DNS n'enregistre aucun enregistrement.

entrez la description de l'image ici

SomeOne01
la source
Merci! Exactement ce que je cherchais. Une dernière chose à ajouter à partir de cette publication de blog net stop dnscache & net start dnscachepour que le réglage prenne sans redémarrage.
Lucas
Pour ce à quoi il ressemble, maxcacheTTL est pour le composant "serveur DNS" de Windows Server, pas pour le cache DNS.
Jeroen Landheer