DNS缓存多久清除一次?


Answers:


34

DNS缓存不会刷新,除非您明确告知它或进行与DNS /网络相关的配置更改。DNS记录具有与之关联的生存时间(TTL)值,该值告诉DNS缓存特定记录适用的时间。缓存中的记录将保留其TTL,然后重新查询。

在Windows计算机上,可以通过在命令提示符处执行以下命令来查看缓存中所有记录的列表以及它们的TTL:

ipconfig /displaydns

您可以使用以下命令强制刷新所有缓存的DNS记录:

ipconfig /flushdns

有关更多信息:


1
什么样的事物构成“网络变化”?一个新的IP地址,加入了另一个wifi网络?或手动刷新缓存/设置DNS
— cutrightjm 2015年

2
根据其他答案(和常识),Windows中似乎确实存在缓存DNS条目的最大生存期。考虑相反的情况:网站随时间触发大量的DNS查询,从而对访问者执行拒绝服务攻击很简单,直到Windows由于高速缓存不断增加而用完HDD / RAM / CPU为止尺寸。因此,这个答案似乎是错误的。
— Zero3

@ Zero3可以通过每个条目的TTL来解释(该TTL的最大值可能导致在这段时间内没有任何条目被保留;答案并不表示不能存在最大的TTL)。因此,答案可以是真实的,在它的论断,即没有“[全部]缓存刷新”,因为条目是“刷新”,同时还解释了反驳行为(过期)分别通过自己的TTL项..批出的,一点措词清理可能会有所帮助。
— user2864740

10

根据我的发现,Windows 7并未为dnscache MaxCacheEntryTtlLimit设置参数。

MaxCacheEntryTtlLimit的默认值为 DWORD = 0x15180 = 86400 seconds = 1 day

  • 如果DNS区域TTL <MaxCacheEntryTtlLimit,则使用DNS TTL
  • 如果DNS区域TTL> MaxCacheEntryTtlLimit,则使用MaxCacheEntryTtlLimit

8

根据:减少Windows Server 2012 R2中的DNS客户端缓存

而不是MaxCacheEntryTtlLimit您应该修改maxcacheTTL。它也适用于Windows 8。

描述

确定域名系统(DNS)服务器可以保存递归名称查询记录的时间。

如果此项的值为0x0,则DNS服务器不会保存任何记录。

在此处输入图片说明


谢谢!正是我想要的。从该博客文章运行中可以添加的另一件事是net stop dnscache & net start dnscache无需重新启动即可进行设置。
— 卢卡斯2014年

从外观上看,maxcacheTTL用于Windows Server的“ DNS服务器”组件,而不用于DNS缓存。
— Jeroen Landheer
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.