域控制器作为内部 DNS 服务器

域控制器作为内部 DNS 服务器

我们的公司环境正在快速发展,我正在升级我们的域控制器,但在此之前,我想做一个快速的健全性检查,以确保我仍然以最好的方式做所有事情。

以我的主要总部站点为例,我有 3 个域控制器(2 个虚拟,1 个物理),全部运行 Windows Server 2008 R2。我希望迁移到 Windows Server 2012 R2。我不相信“升级”Windows,我总是更喜欢“迁移”以保持服务器/环境没有升级痕迹。

这两个虚拟 DC 为我的所有工作站和成员服务器提供所有 DNS 服务。工作站通过 DHCP 选项获取 DNS 地址,而所有成员服务器的 DNS 服务器 IP 均配置为静态。

问题: 使用域控制器作为所有工作站和服务器的 DNS 解析器是否仍然正常,还是应该创建新的专用 DNS 服务器?

问题: 使用工作站和服务器上的域控制器的真实 IP 作为 DNS 解析器是一种好的做法吗?还是应该使用虚拟 IP/负载平衡?

答案1

使用域控制器作为所有工作站和服务器的 DNS 解析器是否仍然正常,还是应该创建新的专用 DNS 服务器?

我的公司有 2000 多个客户端和 4 个域控制器。其中 2 个还充当 DNS 服务器,4 年来没有出现任何问题。

使用工作站和服务器上的域控制器的真实 IP 作为 DNS 解析器是一种好的做法吗?还是应该使用虚拟 IP/负载平衡?

再次,对于 2000 多个客户端,我使用真实的 DNS 解析器 IP,没有任何问题。

我提供这些指标作为一种“参考”。根据您的客户端数量,DNS 负载可能会更高,我的拓扑可能不适用于您……但恕我直言,您可以安全地使用 DC+DNS

正如微软所述:

通常,你会在所有域控制器上安装 DNS 服务器

但我让你在这里阅读全文

答案2

使用 DC 作为 DNS 服务器是相当合理的。另外,您无法真正隐藏它们,因为很多事情都需要与它们直接通信。

您不想将它们用作 DNS 服务器的唯一原因是,DNS 负载过高,并且许多查询都针对相同的名称,此时您需要使用缓存内容的中间解析器,或者您想使用 DNS 执行一些更适合 BIND 之类的操作。如果您以后需要更改,您可以随时更改 DNS 选项,如果您有两个以上的域控制器,您还可以在每个子网上更改 DNS 服务器以帮助平衡负载。

像这样使用 DC 的安全风险几乎为零。

答案3

作为一个数据点,我在金融服务行业的财富 200 强企业工作,并担任了大约一年的企业 DNS 主机管理员。我们过去使用内置的 Microsoft DNS 解决方案(以及用于 IP 任播的 F5 LTM,用于 SOA 中的解析器地址和名称服务器),虽然有效,但我们认为它不适合我们的目的。

有利因素

  • 作为 Active Directory 的一部分免费
  • 基本使用效果很好
  • 自动注册 DHCP 客户端的 DNS 记录(如果客户端是 Windows 客户端;Mac、Linux 和 SunOS 则不然)

我们需要更多的原因

  • 为了做到宽容,它并没有严格遵循规范,允许输入不正确甚至不可能的信息(包括区域顶点的 CNAME,对此有一个未经批准的 RFC 提议,但更糟糕的是,记录名称或响应值中都有空格,这让基于 BIND 的任何东西都感到困惑)
  • 保持相关 A、TXT、SRV、PTR 记录同步的机制不够完善,我们花费了大量时间进行手动协调
  • 集成的 DHCP 守护程序需要分割范围来实现 HA,这意味着在故障情况下,一半的可用池会丢失,而不是标准轨道(用于基于 ISC 的解决方案)DHCP 故障转移(https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html
  • 没有一种现成的机制可以根据 PTR 记录轻松地可视化 IP 耗尽/可用性/密度

我们最终实施了顶级集成 DHCP+DNS+IPAM 解决方案,并且没有回头(包括让它执行动态区域同步和 IP Anycast)。

当然,有一个警告:要使 SRV 记录注册适用于 Active Directory 服务发现,并且要使 Windows Cluster Server 记录注册和注销工作正常,您必须创建一个包含所有域控制器和 MS Cluster Server 框的 ACL,并允许它们执行动态 DNS 更新。为了确保数据的完整性和健全性,对于所有其他主机和所有其他记录,您应该只允许它们通过 DHCP 守护程序或通过 GUI/API 进行更新(换句话说,禁止所有非白名单框进行动态 DNS 更新和 AXFR)。

相关内容