Nic*_*ckG 4 domain-name-system windows-server-2003
我正在努力解决基于 Windows 的 LAN 上的 DNS 缓存问题。
我注意到,如果我更改由 3rd 方名称服务器托管的域上的 DNS 记录,我似乎总是最后一个看到更改发生的人。我经常可以使用像 www.whatsmydns.net 这样检查世界范围内传播的服务来查询域,但我通常发现所有其他 DNS 服务器都是正确的,只有我自己的服务器拥有旧 IP - 即使是 8-12 小时后. 这对我们来说是一个问题,因为我们是网站开发人员并且经常对 DNS 记录进行更改,因此这些巨大的延迟令人沮丧。
这似乎是因为我们 LAN 上的主域控制器服务器(+Active Directory 和 DNS)(这也是我们的本地 DNS 服务器)缓存了 AGES 的记录(远远超出了它发布的 TTL)。如何阻止 Windows DNS 服务器缓存,或将缓存减少到一个小时左右?
如果我正确理解您的情况,那就是您对 DNS 服务器对外部记录的缓存不满意。您可能希望在 DNS 服务器(因为它有自己的缓存)和最终用户工作站上试验这些设置。更改注册表后重新启动 DNS 客户端服务。
使用注册表控制缓存时间
缓存肯定或否定响应的时间长度取决于以下注册表项中条目的值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
Run Code Online (Sandbox Code Playgroud)
正面响应的 TTL 是以下值中的较小者:
笔记
如果您不希望缓存否定响应,请将 MaxNegativeCacheTtl 注册表设置设置为 0。
要在客户端计算机上设置缓存时间:
在注册表中找到并单击以下项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
在“编辑”菜单上,指向“新建”,单击“DWORD 值”,然后添加以下注册表值: 值名称:MaxCacheTtl
数据类型:REG_DWORD 默认值:86400 秒 数值数据:如果将客户端 DNS 缓存中的最大 TTL 值降低到 1 秒,这会显示客户端 DNS 缓存已被禁用。
值名称:MaxNegativeCacheTtl
数据类型:REG_DWORD 默认值:900 秒数值数据:如果您不想缓存否定响应,请将值设置为 0。
键入要使用的值,然后单击“确定”。
退出注册表编辑器。
归档时间: |
|
查看次数: |
16460 次 |
最近记录: |