我希望这不是太令人头痛的事情。
两台服务器,server1(Windows Server 2003,IP 192.168.100.25)和server2(Windows Server 2008,IP 192.168.100.22)。
server2是DHCP服务器和DNS服务器。 server1是DHCP服务器选项中设置的首选DNS服务器(首选192.168.100.25,192.168.100.22是备用)。 服务器使用静态IP。
server1正在将DNS请求转发到server2。 (我不知道为什么,但是,是什么购买了我们。)
server1的首选DNS服务器本身(.100.25); server2首选的DNS服务器是server1, 本身就是备用的 。
我读到这样的方式,客户端向服务器1发送DNS请求,将请求转发给服务器2,服务器2以对服务器1的答复作出响应,服务器1向客户端返回答案。
遵循上面的逻辑,如果server2发出一个DNS请求,它会要求server1(!)把请求转发到server2(!!),然后把答案发回给server1(!!!),然后把它发送回server2(! )。
在我的testing实验室,我有每个DNS服务器(我有两个)使用它自己的IP地址作为首选的DNS服务器。 我倾向于从每个(server1,server2)服务器的设置中删除备用DNS服务器地址,并使首选DNS服务器自己的地址(server2的首选DNS服务器将是.100.22,server1将是.100.25)。
这里是我在server2上运行nslookup:
C:\Users\administrator.yournamehere>nslookup Default Server: UnKnown Address: ::1 > www.google.com Server: UnKnown Address: ::1 Name: www.l.google.com Addresses: 74.125.226.20 74.125.226.19 74.125.226.16 74.125.226.18 74.125.226.17 Aliases: www.google.com
我假设Server1和Server 2是域控制器?
如果是这样:
Server1和Server2应该指向自己的DNS
内部客户端机器应指向DNS的Server1和Server2
Server1和Server2应设置为将不能parsing的请求转发到外部DNS服务。 Server1不应将查询转发到Server2,反之亦然。
这是非正统的,但没有错误…或破碎。 每个DNS服务器都指向主DNS,这是一种普遍接受的做法,但这不是必需的。 Server1和Server2上的DNS客户端设置用于服务器上的DNS客户端组件,而不用于DNS服务器组件。 DNS客户端和DNS服务器组件是相互独立的。 当DNS客户端向Server1上的DNS服务器组件发送查询时,它将被转发到Server2上的DNS服务器组件,Server2将使用它configuration的转发器或根提示来parsing查询。
Server2上的DNS客户端组件使用Server1,因为它的主要DNS会影响来自Server2上的DNS客户端组件的DNS查询,这与Server2上的DNS服务器组件的操作没有关系。 所以你会有这样的事情:
Server2 DNS客户端组件要求Server1 DNS服务器组件为google.com —> Server1 DNS服务器组件将请求转发到Server2上的DNS服务器组件—> Server2上的DNS服务器组件使用它的configuration转发器或根提示解决Server1上DNS服务器组件的查询问题,该问题将答案返回给Server2上的DNS客户端组件。