我们有一个活动目录networking,包含Windows DNS和Linux BIND服务器,并且希望使用OpenDNS作为我们的外部DNS提供者。
我想知道什么是build立这些服务器的最佳方式 (关于转发,recursion等)?
Active Directory是我们域的主要内部DNS,并有3个冗余服务器。 DHCP和我们所有的服务器使用这些作为他们的DNS服务器。 然后,我们有一个老式的AD服务器,这个旧的networking对许多域仍然具有权威性。 我的邮件filter运行BIND的caching实例,最后,我们有一些Linux绑定服务器,这些服务器对于我们托pipe的一堆网站具有权威性。
我们的主要AD服务器应该指向我们的传统AD服务器,它指向我们的BIND服务器之一,它指向另一个BIND服务器,最终指向openDNS? 还是应该我们的主要AD服务器直接指向所有这些? – 还是有更好的select?
如果一个域名被列在两个地方,会发生什么 ? DNS是否按顺序处理转发器?
那么根服务器怎么样?如果我想使用OpenDNS作为其他所有服务器,只要把它们列为最后一个转发器,并从我所有的DNS服务器中删除根服务器?
recursion如何工作 – 在这种情况下,我应该使用recursion还是不?
面向Internet的DNS服务器应该禁用recursion,并且只能用于托pipe区域。
如果一台DNS服务器上有一个区域,它认为自己对该区域具有权威性,所以当一个请求被发送给它所在的区域中的一个logging时,它会明确地回答(包括如果不存在则说'没有这样的logging'本地 – 它不会转发该请求)。 由于这个原因,您不希望在多个服务器上拥有相同的区域。 当然,如果一个服务器是主服务器,而另一个服务器接收来自主服务器的区域传输,则可以在多个服务器上安装该服务器,但是您提到问题的方式听起来像是您已经或正在考虑configuration多台服务器作为您不想要的同一区域的主要部分。
是的,你会列出OpenDNS作为最后的转发。 您实际上并不需要删除根服务器 – 只要转发到位,您的DNS服务器就会遵守该configuration。
很难回答这个问题,因为你的DNSconfiguration听起来稍微复杂一些。 我想我会build议简化一些东西,并让AD服务器直接转发到OpenDNS,然后如果有必要的话,您可以将其他转发器放在本地托pipe的区域。 我不确定你是否获得了所有的转发。
一般来说,你应该从提供内部recursion的服务器中分离出主要面向互联网的区域的服务器(并且禁止在这些服务器上recursion)。 这会让事情变得更简单。
假设一切都是内在的…
理想情况下,你将有一些被指定为parsing器(例如,一些BIND服务器),其余的就像内部区域的权威一样。 那些是货代的将是:
说到DNS,一致性是关键! 尽量避免使用不同的方式configuration不同的服务器,让不同的人有一百万个不同的设置。 我会避免权威的内部服务器(即AD服务器)作为parsing器,如果可以帮助的话,不要把他们的IP直接交给客户端。 如果必须 ,只需将它们设置为转发给parsing器。
不要让指定的主服务器和从服务器互相转发:如果客户端发送的内部查询内容没有被caching,它将通过转发链中的每一台服务器,这将是非常不理想的。