一些 XP 客户端会间歇性地获取错误的静态 IP 服务器 IP

一些 XP 客户端会间歇性地获取错误的静态 IP 服务器 IP

我们有一台具有静态 IP 的服务器,假设为 xx2.5。我们有几个 WinXP(但不是全部),它们偶尔会将主机名解析为 xx1.59(xx1.x 是本地子网)。

路由器中的 DHCP 范围设置为 xx50-199,并且路由器已发出 1.59 的租约。

从理论上讲,可能存在具有相同主机名的某个主机。它响应 ping,但似乎没有在我们的 Windows DNS 服务器上注册自己(没有 1.59 的条目),因此我认为情况并非如此。

2.5 服务器的 DNS 是静态的,并且只出现一次(该服务器没有出现其他条目)。

在受影响的 PC 上,如果我执行以下操作:

ping THEHOST

我明白了1.59

如果我做

nslookup THEHOST

我明白了2.5

因此,本地缓存似乎有点问题。如果我重新启动 XP 计算机,它会获取正确的 IP 地址,一切正常。故障是间歇性的,重新启动后无法重现。

我们本地的 Windows 管理员都不知所措,我也是(但我不是 Windows 管理员,所以这并不奇怪)。有什么方法可以追踪这个疯狂的 IP?当它再次发生时,我应该检查什么?

答案1

当 Windows XP 尝试解析您正在使用的 NETBIOS 名称时,如果您没有提供带后缀的完整 DNS 名称,它会按以下顺序浏览以下资源

  1. NetBIOS 名称缓存
  2. WINS 服务器
  3. B节点广播
  4. LMHosts 文件
  5. 宿主文件
  6. DNS 服务器

使用 nslookup 会直接跳到第 6 项,这可能就是为什么在使用 nslookup 时看不到问题的原因。缓存中毒和恶意 WINS 服务器似乎不太可能,如果问题在重新启动时无法重现,则不是 HOST 或 LMHOST 文件问题。这使得 b 节点广播成为最有可能的问题来源。我猜您在与受影响的主机位于同一网络段上的计算机具有 NetBIOS 名称 THEHOST。判断它是否是 netBIOS 问题的一种方法是 ping THEHOST.DOMAIN,看看这是否会使问题消失,如果是,肯定是 NetBIOS,如果不是,那么您遇到了 DNS 问题。

答案2

我将检查hosts受影响服务器上的文件:

%SYSTEMDRIVE%\windows\System32\drivers\etc\hosts

并寻找 THEHOST 的恶意条目

原因是 nslookup 始终使用默认 DNS 服务器进行解析,但Ping会采用正常的 Windows 方法,即hosts在检查 DNS 之前检查文件,并且这可能会被缓存。

另一种方法是做一个ipconfig /flushdns,然后看看它是否能正确解决。

相关内容