SBS 2008 DNS在美国以外的.uk,.eu和其他一些顶级域名(TLD)在1天后停止工作

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

如果放置数天,问题可能会自行解决,然后在一天左右后重新发生。

如果DNS服务器服务重新启动,或者服务器上的DNScaching被清除,则问题暂时得到解决,但在一天左右后会重新发生。

导致这个问题的原因是,在欧盟国家(以及美国之外的某些其他顶级域名),域名服务器logging通常被caching超过1天。 SBS2008有一个上限,它将允许名称服务器logging被caching,默认为1天。 这个默认在美国工作正常,但是当.uk和.eulogging变旧时,它们不会从caching中删除,而是不再作为有效logging被返回。 因此,它们可以有效地防止这些TLD中的DNS查找成功,直到logging过期并从caching中删除,或者DNS服务器服务重新启动。

解决方法是增加DNS服务器中的最大生存时间(TTL)设置,以便识别超过1天的logging。 经验表明,将价值设定为4天通常就足够了,但最高设置为30天。

解决方法

通过重新启动DNS服务器服务或清除DNS服务器上的DNScaching,可以暂时解决此问题。

永久解决scheme包括 – 增加最大的DNScachingTTL值。 – 重新configurationDNS服务器以使用DNS转发器,而不是依赖根提示。

对于永久变通,MaxCacheTTL值需要更改为大于TLD TTL的值(默认值为1天,最大值为30天)。 在SBS2008上没有负面影响,因为这是资源loggingcaching的TTL。 这只是将其存储在DNS服务器上的最大值。 如果实际的TTL较短,则使用较短的值。

  1. 启动registry编辑器(Regedit.exe)。
  2. find以下registry项:
    HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ DNS \参数
  3. 在编辑菜单上,单击新build,单击DWORD(32位)值,然后添加以下值:

    值:MaxCacheTtl
    数据types:DWORD
    数据值:0x69780(十进制中的432000 = 5天)

  4. 点击OK。

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

作为一个额外的预防措施,使用清除DNSparsing器caching

IPCONFIG /FlushDNS 

更改之后,应该监视服务器以检查问题是否再次发生。 由于这个值不会影响SBS2008的正常行为,如果问题依然存在,我们可以将这个值增加到一个更大的值。

也可以看看

  • Windows Server 2008 DNS服务器可能无法parsing某些顶级域的查询
  • 无法parsing某些顶级域名(如.co.uk)中的名称