我有一个双控制器 AD 域,并且所有加入域的 PC 都将其地址作为主 DNS 服务器和辅助 DNS 服务器。
我想知道我是否应该配置三级公共 DNS。原因是许多 PC 位于较小的远程网络中,它们通过中央 VPN 隧道到达两个域控制器。如果 VPN 隧道发生故障,两个都DC 将不可用,远程 PC 将无法解析任何地址,阻止他们上网、查看电子邮件等。
在每个网络中添加一个 DC 是不可能的(它们由 5/10 台 PC 组成),并且从远程网络到辅助 DC 站点创建直接 VPN 隧道也是如此(由于硬件容量)。
第三级公共 DNS 服务器可以防止这种情况发生,但我想知道它是否会导致问题(即:如果由于某种原因,它被选为首选 DNS,则 PC 将与域“断开连接”。
所以:在已加入域的 PC 上使用三级公共 DNS 可以吗?否则会出问题吗?有什么需要注意的吗?
答案1
为了正确实现域功能,Windows 计算机需要能够针对用于 AD 的 DNS 区域执行查找。
如果客户端指向的服务器不能为该 AD 区域提供正确答案,那么这些系统可能会在某个时候崩溃。
重要的是要理解,如果客户端_gc._tcp.yourdomain.example.org
针对该第三台外部服务器对类似记录或其他一些仅限内部使用的记录进行 DNS 查找,则该服务器将响应未找到错误。您的客户端不会针对您的域控制器重试该查询。未找到答案完全有效。
如果您希望外部站点的 DNS 具有更多冗余,我会查看运行该 VPN 的任何设备,或充当路由器/防火墙的设备。看看这些设备中是否有一个可以充当缓存 DNS 服务器。也许您可以让它将内部 DNS 请求转发到 DC,并将非内部请求转发到外部。或者在云中的某个地方运行 DNS 服务器,将所有内部请求转发到您的 DC,并使用任何递归方法处理其他请求。
答案2
我在我们的网络(许多小型办公室,都以星型结构连接到我们的中央 DC)上所做的是在每个办公室配备一对小型廉价 Raspberry Pi 服务器。我使用两个服务器来提高弹性。这些服务器从主 DNS/AD 服务器辅助我们的 AD DNS 域,但也知道如何在不经过 DC 的情况下访问世界其他地方的 DNS。
如果办公室 VPN 断线,Pi 服务器将继续提供 DNS 服务,只有通过 VPN 的内部系统会暂时无法访问。其他一切都不会受到影响。
答案3
使用 DC 作为主要来源、公共 DNS 作为辅助来源的缓存 DNS 可能还不够,因为它仍将使用公共 DNS 进行所有递归,NXDOMAIN
当站点之间没有连接时,使用非缓存的内部地址进行回复。这就是为什么 @roaima 的解决方案(无论是 Raspberry Pi、任何转换为 BIND 服务器的工作站还是 VPN 路由器上的内置 DNS 服务器)都是理想的选择:我建议将完整区域传输到所有站点。对于此服务器,公共 DNS 可以作为其余服务器的转发器,但我永远不会将其直接推送到客户端。
这不仅仅是将本地 DNS 作为 AD 域的解析器。
如果您的站点到站点 VPN 必须在两个方向上工作,则拆分可能会暂时阻止动态 DNS 更新。本地 DHCP 是否能够缓存这些更新或如何安排,因为拆分结束后客户端计算机不会自动重新注册其 DNS 名称。
正确的 Windows 防火墙配置文件(域 / 私有 / 公共)取决于与域控制器进行身份验证的能力。如果在拆分期间启动客户端,则在下次重新连接或重新启动之前,它可能具有错误的配置文件,这可能比问题更糟糕
NXDOMAIN
。如果远程站点与主站点的连接几乎不受限制,则拆分隧道通常会使您的网络易受攻击,除非您的 VPN 路由器也是高级防火墙/UTM。明智地选择路由器实际上可能会使配置 DNS 变得更容易,因为此类解决方案更有可能内置功能齐全的 DNS 服务器。此外,与从头开始构建的设置相比,这些设置更容易在站点之间部署。