我有一个仅包含一个 Active Directory(非冗余)的设置。应在客户端 PC 上配置什么才能确保最佳 DNS 解析?目前有人将 AD 的 IP 地址配置为主 DNS,将公共 DNS 配置为辅助 DNS(不是 Google DNS,而是提供商的 DNS)。
尽管在大多数用例中它似乎运行良好,但我不认为这是一个好的做法,而且我已经看到了两个问题:
1) 有一次,GPO 未在 PC 上应用。可能是 PC 尝试解析 SRV 记录,出于某种原因,DNS 请求可能已发送到辅助 DNS 服务器。辅助 DNS 服务器当然无法应答。我没有证据表明这是问题所在,但我怀疑是它。客户端是 Windows 7,服务器是 Windows Server 2012。
2) 还有一次,用户创建了一张票,因为他无法登录 LAN 应用程序(终端服务器)。错误消息与 DNS 解析错误有关。nslookup 或 ping 给出了正确的 DNS 解析。在 ipconfig/flushdns 之后,用户能够连接到终端服务器。结论:问题的原因可能是 PC 上缓存的负面 DNS 答案。
仅填写一个主 DNS 有一个很大的缺点,如果 AD 出现问题,用户将被完全阻止,无法上网、访问电子邮件等。
另一组用户已经实施的解决方案是部署一个小型 DNS 服务器 (dnsmasq),并设置一些规则,将所有 AD 域仅转发到 AD 服务器,其余 (公共 DNS) 转发到 AD + 其他服务器作为辅助服务器。通过该设置,用户可以在 AD 出现问题时继续浏览,并且所有 AD (本地查询) 仅发送到 AD DNS 服务器。
在 AD 服务器本身上,最佳做法是什么?默认情况下,Windows Server 将其主 DNS 配置为 127.0.0.1。我们可以设置辅助(公共/ISP DNS)吗?
所以我正在寻找最佳做法,并希望看到您的反馈,因为我可能不是唯一遇到这种情况的人。复制 AD 当然会更好,但这样做会付出代价,并不是每个客户都愿意支付。
答案1
这里只有一个最佳实践解决方案:你需要安装了 Active Directory DNS 服务的附加域控制器。然后,您应该在 DNS 中配置转发器以使用您首选的提供商。
然后,您就拥有了 Active Directory 和 DNS 的完全冗余。
然后,您应该配置您的客户端(理想情况下通过 DHCP),以使用一个作为主客户端,另一个作为辅助客户端。
答案2
是的。
我认为你有几个选择
- 让所有客户端计算机的 DC 都处于主 DNS 状态,让辅助 DNS 为空,但在 DNS 服务器中设置 DNS 转发以使用您的公共 DNS 服务器(ISP/Google/等)。这将为您提供本地解析和互联网解析,您必须记住,如果 DNS 服务器在大约 2 秒内没有响应,它将尝试另一个源,您已将其设置为辅助源,这反过来会影响本地解析。如果您的 DC 不能满足工作要求,请不要敷衍了事,除非您准备好破解解决方案。
- 我不喜欢这个,但这是一个选项,你可以编辑本地主机文件全部网络上的机器为它们提供所有本地设备的条目。然后,您可以将主服务器保留为 DC,然后将辅助服务器保留为外部源。您必须记住在主机文件中的任何 IP 地址发生变化时更新它们。这将为您提供始终本地的解析,但管理时间成本很高。
- 获取另一个 DC 或 Hyper visor 来运行多个 DC。如果您的本地 DNS 无法响应,则您必须解决更大的问题。ADDS 依赖于 DNS,没有本地 DNS = 问题。只需调查 DNS 解析失败的原因并从那里开始。