一些 DHCP 客户端最终会得到错误的 DNS 服务器

一些 DHCP 客户端最终会得到错误的 DNS 服务器

场景:

  • 运行 Windows Server 2008 R2 的 DC 提供 DNS + DHCP
  • Cisco 1811 路由器作为网关
  • LAN 上的 30 个 Windows XP DHCP 客户端

问题:

  • 一些工作站会自发切换到错误的 DNS 服务器。具体来说,ipconfig /all它们开始使用网关作为 DNS 服务器。
  • 这种情况每天会在各种计算机上发生大约 5-10 次,有时一天会发生多次。

解决方法:

  • 修复 XP 客户端上的连接总是修复问题,获取正确的DNS服务器地址。

一周前,我们的主要 DNS/DHCP 机器坏了,不得不将这台机器作为备用机器上线。从那时起,我们就一直遇到这个问题。新旧服务器上的 DHCP 租约配置为“有线”(8 天)期限。LAN 上肯定没有其他 DHCP 服务器处于活动状态。到目前为止,尚不清楚哪些客户端会出现此问题,或者何时会出现此问题。

当我运行它时DCDIAG /test:DNS,它返回了干净的结果。手动检查 DNS 区域显示所有记录都按预期显示,其中没有上一台机器的痕迹。

2 月 27 日更新:添加了屏幕截图。

这是 2008 R2 服务器上 DHCP 范围选项的屏幕截图。 http://nicwaller.com/screens/dhcpscope.png

这是ipconfig /all在健康主机上运行的屏幕截图。目前我没有任何故障主机,但下次发生这种情况时我会截取屏幕截图。 http://nicwaller.com/screens/ipconfigall.png

2 月 28 日更新:更多截图。

这是在修复本地连接时,健康客户端的 DHCP 和 DNS 流量的屏幕截图。肯定只有一个服务器响应,但协商发生两次似乎很奇怪。我将在下周尝试从一台有问题的机器上获取类似的截图。 http://nicwaller.com/screens/dhcprenew_screen.png

3 月 1 日更新:发现错误的 ipconfig。

以下是一位遇到此问题的客户的截图ipconfig /all。它显示租约是今天早上发出的,但甚至没有我昨天设置的辅助 DNS 的条目。修复连接时,两个 DNS 服务器都被发现正确。 http://nicwaller.com/screens/bad_dns.png

3 月 1 日更新:它甚至得到了系统管理员的认可!

今天早上,这个问题终于影响到了我的个人工作站。不幸的是,我刚刚重启,当时没有运行数据包转储。我昨天设置了一个辅助服务器,并将所有 DNS 流量记录到该服务器。我的机器已经半个多小时没有联系过辅助 DNS,所以这说明它只是自发地恢复到网关,甚至没有先故障转移到辅助 DNS。

今天我交换了 DHCP 中 DNS 服务器的顺序,因此辅助服务器是主服务器,反之亦然。一旦我知道情况如何,我会再次更新。

答案1

我会在其中几个盒子上运行数据包转储,直到它发生。看看你是否能找到任何与网络相关的内容。也许你会看到一些数据包,让你知道如果不是这样的话。

Windows 中的组策略可以设置 DNS 服务器吗?也许域中应用了奇怪的 GP?

更新:
我从来没有这样做过,但既然你似乎有点绝望,为什么不把当前的 DHCP 数据库删除呢?这些说明说明了如何备份 mdb 文件,所以也许将它移动到其他地方会让 DHCP 在重新启动后创建一个新的。这可能会解决问题……

我心里不明白的是:-),如果客户端的租约尚未到期并且尚未重新启动,为什么他们会获得新信息...这是正在发生的事情吗?

答案2

检查您的路由器,确保它不提供任何类型的 DHCP 服务。如果您通过 telnet 进入路由器,并且配置中有以“ip dhcp”开头的行,则它正在提供某种 DHCP 响应。

答案3

如果主 DNS 没有及时响应,客户端将从主 DNS 更改为辅助 DNS,并且直到租约续订后才会切换回来。思考如果辅助服务器没有响应,DNS 就会失败,也就是说。我不认为他们会切换到网关,但这是可能的。这可以很容易地进行测试。

我能想到的选项:
-范围实际上具有错误的 IP 作为 DNS 选项。损坏的 DHCP 范围,删除并重新创建或发布屏幕截图或导出 DHCP 范围选项。-
有另一个 DHCP 服务器正在运行。Ipconfig /all 列出了客户端从其获得租约的 DHCP 服务器的 IP 以及获得租约的时间戳。-
在客户端上,在静态或备用配置下设置了 DNS 服务器。-
客户端在有线和无线之间切换,并在无线网络上获得不同的租约。

如果 IPConfig 显示列出的 DNS 服务器,并且 DHCP 服务器的 IP 也符合预期,则表明该 IP 上的某些内容发出了错误/意外的租约。

正如 Kyle 所建议的,服务器上的 wireshark/netmon 将确认租约是否确实来自具有错误信息的服务器。

答案4

我知道这是一篇旧帖子,但我想发送更新,因为这刚发生在我们最近迁移到 2012 时。根本原因是我们从旧的 2003 服务器导入了 dhcp 数据库。最初一切都很好,但一旦我们需要更改范围,特别是对于 dns 选项,客户端就会开始遇到所描述的问题。他们最初会有正确的 dns 设置,但会突然恢复到旧的 dns 设置。更新或重新启动总能解决问题,但只是暂时的。

希望这可以帮助

相关内容