给定一个配置为公司公共 DNS 域的子域的 Microsoft Active Directory 域,例如:
- 公共域 contoso.com
- Active Directory 域 inside.contoso.com
四个站点中有五个域控制器 (DC)。它们都是配置了 contoso.com 和 inside.contoso.com 作为单独的 AD 集成区域的 DNS 服务器。其中三个 DC 运行 Server 2008R2,另外两个运行 Server 2012。
现在令人恼火的是,一个名为“inside”的文件夹不断出现在区域 contoso.com 中,其中包含部分或所有 DC 的 A 记录。如果我删除所有这些记录,文件夹就会消失,几分钟后又会重新出现,其中有一个 DC 的 A 记录,而其他 DC 的 A 记录逐渐添加。看起来,当 DC 在 DNS 中注册自己时,条目被添加到区域 contoso.com 而不是它们所属的 inside.contoso.com。
简单的问题:为什么?
注意 1:所有 DC 也正确列为区域 intern.contoso.com 中的 A 记录。不过,我不知道这些条目是否是手动添加的。
注意 2:inside.contoso.com 区域中的任何其他主机条目都不会复制到 contoso.com 区域的内部文件夹中。
当某些东西(包括 DC 在内)尝试注册
.inside.contoso.com
以您的 DNS 服务器结尾的 DNS 记录时,该请求会匹配两个区域,因此会在这两个区域中注册,因为服务器不知道它们是相关的。这里缺少的是
inside.contoso.com
区域中contoso.com
区域的代表团;这将告诉服务器inside.contoso.com
确实是 的子域contoso.com
,因此该区域中的记录只应在该处注册。您需要创建一个委托并将所有 DC 列为委托。
问题:
解决方案:
因此,几个月前我在做一个虚拟实验室时遇到了同样的问题,如果我没有记错的话,发生这种情况的简短原因是因为您为 contoso.com 手动创建的区域已集成到您的内部。 contoso.com 域,并复制到 inside.contoso.com 区域中的 DC,这就是您看到该文件夹的原因(类似于其他域中存在的 _msdcs 子域文件夹)。因为它们是 contoso.com 知道的主机并且是子域的一部分,所以会创建具有子域名称的文件夹,并且还会自动创建 DC 的主机记录,但 internal.contoso.com 中的其他主机记录它无论如何都不知道也不具有权威性,因此不会像 DC 那样自动创建记录。
这样做的问题(有一个解决方案),我来发现,当您为面向外部的命名空间创建区域时,您必须维护该区域中所有设备的记录,而不仅仅是您想要的设备创建记录以便于解决您的内部主机(记住这个区域是权威的)
这是使用子域进行内部域设计 (Active Directory) 与脑裂域设计的妥协之一。但是,它仍然是最好的,因为您将拥有一个有效的子域来为 inside.contoso.com 和外部 DNS 命名空间颁发第三方证书而不会出现问题。
前面提到的解决方案:因此,要解决需要区域来为内部客户端解析外部服务器(或任何原因)的问题,就是做一些与您现在正在做的事情非常相似的事情,只是在手册上,一个一种规模,称为“Pinpoint DNS”。您在这里所做的是为您希望允许解析的每个服务器创建一个区域。这听起来可能很乏味,但是如果您有很多服务器需要内部解决,也许您可能只想使该区域非广告集成和权威(我没有这方面的经验,也许有人可以插话)
Pin-Point DNS 指南:查看下面的链接以帮助您创建这些手动的单区域条目,以正确解析内部客户端的外部服务器,而不是整个外部域的权威: http: //exchangenerd.com/2014/03/ pin-point-dns-split-dns-alternative/
Active Directory 命名指南(回答了许多评论者的问题):有关为什么将子域用于内部 AD 域设计和其他原因的出色信息,请参阅 Maxmahem 编写的以下指南的链接(许多评论都在询问您为什么要以这种方式进行设置和下面的指南以及微软自己的 AD 命名最佳实践也说明了这些原因):
https://docs.google.com/document/d/16xl2j-2Ns_JuQvFLG61Gw5iabz62LnTUKpCYtYn4f08/edit#heading=h.vw1qd8ol95y1