Tim*_*ong 3 domain-name-system windows-server-2008 web windows-sbs-2008 windows-sbs-2011
在 SBS 2008 中,首次安装或重新启动时,DNS 查询成功,但在大约 1 天后,用户报告他们无法访问某些网站。检查时,可能会注意到无法访问的网站位于 .uk 和 .eu 顶级域 (TLD) 或美国境外的某些其他 TLD。
如果放置几天,问题可能会自行解决,然后在一天左右后再次出现。
如果重新启动DNS服务器服务,或清除服务器上的DNS缓存,则问题暂时解决但一天左右后再次出现。
此问题的原因是,在欧盟国家(以及美国以外的某些其他 TLD)中,名称服务器记录通常会缓存超过 1 天。SBS2008 对允许缓存名称服务器记录的最长时间有一个上限,默认为 1 天。此默认值在美国工作正常,但是当 .uk 和 .eu 记录变得陈旧时,它们不会从缓存中删除,但不再作为有效记录返回。因此,它们有效地阻止了在这些 TLD 中的 DNS 查找成功,直到记录过期并从缓存中删除,或者重新启动 DNS 服务器服务。
修复方法是增加 DNS 服务器中的最大生存时间 (TTL) 设置,以便它识别早于 1 天的记录。经验表明,将该值设置为 4 天通常就足够了,但最大设置为 30 天。
此问题可以通过重新启动 DNS 服务器服务或清除 DNS 服务器上的 DNS 缓存来暂时解决。
永久解决方案包括 - 增加最大 DNS 缓存 TTL 值。- 重新配置 DNS 服务器以使用 DNS 转发器而不是依赖根提示。
对于永久解决方法,需要将 MaxCacheTTL 值更改为大于 TLD TTL 的值(默认值为 1 天,最大值为 30 天)。在 SBS2008 上没有负面影响,因为这是资源记录缓存的 TTL。这只是它将存储在 DNS 服务器上的最大值。如果实际 TTL 较短,则将使用较短的值。
在编辑菜单上,单击新建,单击 DWORD (32 位) 值,然后添加以下值:
值:MaxCacheTtl
数据类型:DWORD
数据值:0x69780(十进制的 432000 = 5 天)
单击“确定”。
作为额外的预防措施,请使用清除 DNS 解析器缓存
IPCONFIG /FlushDNS
Run Code Online (Sandbox Code Playgroud)
更改后,应监控服务器以检查问题是否再次发生。由于此值不会影响 SBS2008 上的正常行为,如果问题仍然存在,我们可以将此值增加到更大的值。
| 归档时间: |
|
| 查看次数: |
6882 次 |
| 最近记录: |