我需要在我的办公室中基于子网实现Split-Horizon 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地址上犯了一个错误.固定.
解决方法
我假设srv01.extra.company.com是您自己公司的服务器,因此您的名称服务器负责它.
你是对的,你不能真正使用存根区域或条件转发器,因为为此目的设置的名称服务器只会看到由AD DC发起的查询.
但是,一个常见的误解是Active Directory必须将DC设置为名称服务器,或者客户端需要通过DC来解析.
在这种特殊情况下,您需要设置一个适当的BIND,干净地解决所有问题(包括您的AD!).在验证了正确的操作后,您可以将一个区域extra.company.com添加到此服务器(有效地屏蔽真实的子域).在那里,您可以根据自己的喜好覆盖记录.
请注意,当此BIND提示时,您的整个AD将停止,因为您的客户的所有查询都通过此服务器.因此设置相应(故障转移,备份,备用等).
1从技术上讲,这并不适用于所有情况:如果客户端的解析器能够跟踪引用,则权威名称服务器将看到源自客户端的查询.但是,由于几乎所有操作系统解析器都是存根解析器,因此这并不适用.
2您甚至可以安全地将AD的权威NS设置为BIND服务器,但它确实不是一种即兴发挥的解决方案,它需要一些工作;例如,添加特定记录并允许您的DC更新这些记录.微软有这方面的文档,请参考this article in Microsoft’s Technet开始.我通常完全避免这种情况,而是通过BIND服务于company.com,并将子域ad.company.com委托给AD.我不认为在现有广告中这样做的麻烦是值得的,就像你的情况一样.