SBS 2008 DNS 1 天后停止对 .uk、.eu 和美国境外的一些其他 TLD 提供服务

SBS 2008 DNS 1 天后停止对 .uk、.eu 和美国境外的一些其他 TLD 提供服务

在 SBS 2008 中,首次安装或重新启动时,DNS 查询成功,但大约 1 天后,用户报告他们无法访问某些网站。检查后,可能会发现无法访问的网站位于 .uk 和 .eu 顶级域名 (TLD) 或美国境外的某些其他 TLD 中。

如果放置几天,问题可能会自行解决,然后过一天左右再次出现。

如果重新启动DNS服务器服务,或者清除服务器上的DNS缓存,那么问题会暂时得到解决,但大约一天之后又会再次出现。

答案1

导致此问题的原因是,在欧盟国家(以及美国以外的某些其他 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 更短,则将使用更短的值。   

  1. 启动注册表编辑器 (Regedit.exe)。
  2. 找到以下注册表项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
  3. 在“编辑”菜单上,单击“新建”,单击“DWORD(32 位)值”,然后添加以下值:

    值:MaxCacheTtl
    数据类型:DWORD
    数据值:0x69780(十进制 432000 = 5 天)

  4. 单击“确定”。

  5. 退出注册表编辑器。
  6. 重新启动 DNS 服务器。

作为额外的预防措施,使用以下方法清除 DNS 解析器缓存

IPCONFIG /FlushDNS

更改后,应监控服务器以检查问题是否再次发生。由于此值不会影响 SBS2008 上的正常行为,因此如果问题仍然存在,我们可以将此值增加到更大的值。

也可以看看

相关内容