某些 XP 客户端间歇性地为 STATIC IP Server 获取错误的 IP

Mat*_*ish 0 domain-name-system dhcp ip windows-xp

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

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

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

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

在受影响的 PC 上,如果我这样做:

ping THEHOST
Run Code Online (Sandbox Code Playgroud)

我得到1.59

如果我做

nslookup THEHOST
Run Code Online (Sandbox Code Playgroud)

我得到2.5

所以看起来本地缓存有点奇怪。如果我重新启动 XP 机器,它会选择正确的 IP 地址,并且一切正常。故障是间歇性的,重启后无法重现。

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

Cat*_*nes 5

当 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 问题。

  • 你可以用这句话记住顺序:“我们可以买大硬盘吗?” Cache、Wins、broadcast、Lmhosts、Hosts、Dns (3认同)