我希望这不会让你太头疼。
两台服务器,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 请求,服务器 1 将查找转发到服务器 2,服务器 2 向服务器 1 做出答复,服务器 1 将答复返回给客户端。
按照上述逻辑,如果服务器 2 发出 DNS 请求,它会询问服务器 1(!),服务器 1 将请求转发给服务器 2(!!),服务器 2 将答案发送回服务器 1(!!!),服务器 1 再将其发送回服务器 2(!!!)。
在我的测试实验室中,每个 DNS 服务器(我有两台)都使用自己的 IP 地址作为首选 DNS 服务器。我倾向于从每台(服务器 1、服务器 2)服务器的设置中删除备用 DNS 服务器地址,并将首选 DNS 服务器设为自己的地址(服务器 2 的首选 DNS 服务器为 .100.22,服务器 1 的首选 DNS 服务器为 .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
答案1
我假设 Server1 和 Server 2 是域控制器?
如果是这样:
Server1 和 Server2 应该将 DNS 指向它们自己
内部客户端计算机应指向 Server1 和 Server2 的 DNS
应将 Server1 和 Server2 设置为将无法解析的请求转发到外部 DNS 服务。Server1 不应将查询转发到 Server2 或反之亦然。
答案2
这是不正统的做法,但并非错误……或有缺陷。每个 DNS 服务器都指向自己作为主 DNS 是一种普遍接受的做法,但这不是要求。Server1 和 Server2 上的 DNS 客户端设置适用于服务器上的 DNS 客户端组件,而不是 DNS 服务器组件。DNS 客户端和 DNS 服务器组件彼此独立。当 DNS 客户端向 Server1 上的 DNS 服务器组件发送查询时,它会被转发到 Server2 上的 DNS 服务器组件,然后后者使用其配置的转发器或根提示来解析查询。
Server2 上的 DNS 客户端组件使用 Server1 作为其主 DNS,这一事实会影响来自 Server2 上的 DNS 客户端组件的 DNS 查询,但不会影响 Server2 上的 DNS 服务器组件的操作。因此,您将得到如下结果:
Server2 DNS 客户端组件向 Server1 DNS 服务器组件询问 google.com---> Server1 DNS 服务器组件将请求转发到 Server2 上的 DNS 服务器组件---> Server2 上的 DNS 服务器组件使用其配置的转发器或根提示来解析 Server1 上的 DNS 服务器组件的查询,然后将答案返回到 Server2 上的 DNS 客户端组件。