如何将 Active Directory 与水平分割 DNS 结合使用?

pep*_*uan 3 domain-name-system active-directory bind

我进退两难。

我需要基于子网在我的办公室中实施 Split-Horizo​​n DNS 。例如:

  • 10.170.0.0/16 用户需要将“srv01.extra.company.com”解析为10.170.0.5 10.25.0.170
  • 10.180.0.0/16 用户需要将“srv01.extra.company.com”解析为10.180.0.5 10.25.0.180
  • 10.0.0.0/8 中的其他人需要将 "srv01.extra.company.com" 解析为 10.25.0.5

现在,这很容易使用 BIND 实现。不幸的是,我的网络基于 Active Directory;我不可能将所有工作站的 DNS 服务器更改为仅指向 BIND 服务器,可以吗?他们需要指向域控制器。

我一直在考虑使用存根区域条件转发器的想法,但根据我的理解,这些方法将使域控制器自己执行 DNS 解析,而不是让工作站联系相关的名称服务器。

你有什么建议可以帮助解决这个水平分割问题?


附加信息:

  • AD FQDN 实际上是id.company.com,而不是 company.com。
  • 我在上面的 IP 地址上犯了一个错误。固定的。

Rom*_*man 5

你几乎自己得到了你的解决方案。

我假设这srv01.extra.company.com是您自己公司的服务器,因此您的名称服务器负责它。

您是对的,您不能真正使用存根区域或条件转发器,因为为此目的设置的名称服务器只会看到由您的 AD DC 发起的查询。1

但是,一个常见的误解是 Active Directory 必须将 DC 设置为它的名称服务器,或者客户端需要通过 DC 的. 2

在这种特殊情况下,您需要设置一个正确的 BIND 来干净地解析所有内容(包括您的 AD!)。在您验证了正确的操作之后,您将向extra.company.com该服务器添加一个区域(有效地屏蔽了真正的子域)。在那里,您可以根据自己的喜好覆盖记录。

但是请注意,当此 BIND 结束时,您的整个 AD 将停止,因为您的客户端的所有查询都通过此服务器。因此进行相应的设置(故障转移、备份、备用等)。

1从技术上讲,这并不适用于所有情况:如果客户端的解析器能够跟踪引用,权威名称服务器将看到来自客户端的查询。但是,由于几乎所有操作系统解析器都是存根解析器,因此这实际上并不适用。

2您甚至可以安全地将您的 AD 的权威 NS 设置为 BIND 服务器,但这肯定不是什么即发即忘的解决方案,它需要一些工作;例如添加特定记录并允许您的 DC 更新这些记录。Microsoft 对此有详细记录,请参阅Microsoft Technet中的这篇文章开始。我通常完全避免这种情况,而是company.com由 BIND 提供服务,并将子域委托ad.company.com给 AD。我认为在现有 AD 中这样做并不值得,就像你的情况一样。