我目前正在运行一个本地 DNS 服务器,它配置了一个域控制器,有一堆域,这些域具有任何子域的所有通配符条目。我还启用了 WINS 以方便文件浏览。
我目前遇到的问题是这些域和子域似乎在一段时间后无法正常工作(无法 ping 通它们);但是,当我在客户端计算机上执行 ipconfig -release & -renew 时,我能够再次连接到(子)域一段时间。
这可能是因为我已将 Google DNS 设置为除我的本地域之外的所有内容的辅助 DNS 服务器吗?
我在 Windows Server 2008 R2 服务器上运行 DNS 服务器,在单独的 Windows Server 2003 服务器上运行 IIS,该服务器具有与域关联的实际网站。
我还想指出,我似乎也遇到了与https://serverfault.com/questions/508571/dns-cache-in-windows-client-not-updating相同的问题,也许这与此有关问题?
DNS 被设计为使用一个单一的、全球唯一的命名空间。如果您仅在内部名称服务器上设置了通配符子域,而没有设置来自公共命名空间的委托,则您无法为公共名称服务器配置客户端并期望它们解析您的仅内部域。
DNS 解析的工作方式是,客户端将其请求发送到名称服务器,只要它收到任何有效响应(即使响应是“没有这样的名称”),就会使用该响应的数据。如果最初查询的名称服务器在超时期限内根本无法产生响应,则只会查询其他名称服务器。这也是您可能看到的情况 - 您的客户开始查询错误的(公共)DNS 服务器,其中可以检索的关于您的内部子域的唯一信息是“没有这样的域”。重新申请 IP 地址会重置 DNS 客户端状态,并再次查询内部服务器,返回您的名称查询所需的地址。
因此,您应该做的是将您的 AD 名称服务器配置为域内所有客户端和服务器的唯一名称服务器。此外,如果您想使用 Google 的名称服务器作为转发器,请在您的 AD DNS 服务器设置中配置转发器。另外,请务必阅读文档。您的案例明确包含在官方 Technet 文档以及有关 Active Directory 安装的众多指南中。