我最近在公司买了一台新电脑,但无法从其他电脑连接到这台电脑。我可以从这台电脑访问其他电脑,但反过来却不行。我检查了所有常见的问题:防火墙、AV 等。一切正常。
经过一段时间的故障排除后,我偶然发现了一个不寻常的 IP 问题。我从另一台机器上按名称 ping 我的计算机,结果解析到的 IP 地址与计算机使用 IPConfig 报告的 IP 地址不同。我使用 arp 进一步挖掘,发现与正在 ping 的 IP 地址关联的 MAC 地址与我计算机上任何网络设备的 MAC 地址都不匹配(除了一个之外,其他所有设备都被禁用了)。我请同事 ping 我的机器以确认我的发现。结果相同。
这让我想到网络上某处还有另一台计算机与我的计算机同名。我以前的计算机也有相同的机器名,但现在它处于关闭状态,放在 IT 部门的办公桌上,等待他们为它安排的命运。我从来没有遇到过这个问题。无论如何,从我过去的经验来看,我本以为任何同名的机器都会用名称冲突的消息来烦扰用户。
我向 IT 部门提出了我的问题。他们对域控制器、DHCP 和 DNS 服务器念了几遍咒语,然后告诉我刷新 DNS 缓存并在我使用的机器上更新 IP 地址,但毫无效果。目前,我只是在等他们进一步调查此事。
我确实有几个应用程序可能会干扰网络设备。VMWare、VirtualBox 和 VPN 应用程序,所有这些应用程序目前都处于休眠状态。我的旧机器上安装了所有相同的应用程序,但从未遇到过这种问题,所以我认为不是它们中的任何一个。
我还能做些什么来找出该问题的根源吗?
更新
我拿了辛基尔的建议,并尝试强制进行 DNS 更新。等待 15 分钟后,我刷新了机器上的 DNS 缓存,并再次尝试 ping。我之前没有提到过……如果解析到离线主机,ping 不会像您预期的那样超时。我得到了一个回应来自神秘机器。无论如何,ping 给我的结果与以前相同。我决定尝试使用两台机器的 IP 地址进行 tracert(尝试将 IP 地址解析为主机名)。它们都解析为同一个主机名。
答案1
这是 DNS 问题。您的 IT 部门说的没错。您的旧机器的名称已被网络上的其他机器缓存。换句话说,以前其他机器会访问您的 DNS 服务器并询问与该名称匹配的机器的 IP 地址。服务器会响应当时的正确 IP,PC 会将其存储起来以供将来参考。此本地缓存副本通常会在一段时间后丢弃。您可以通过使用 cmd 在您正在 ping 的机器上执行 ipconfig /flushdns 来强制清除缓存信息。
如果这不起作用,则 DNS 服务器上的 DNS 记录可能尚未更新。您可以从新机器执行 ipconfig /registerdns 来尝试强制更新。等待 15 分钟,转到记录了错误 IP 的旧机器,再次刷新 DNS 记录并尝试再次 ping。
如果这不起作用,请问以下问题,让您的 IT 团队大吃一惊:“大家好!请问您能检查一下 DNS 服务器上 (machinename) 的 A 记录吗?我怀疑它是 (oldIP) 而不是 (newIP)。如果不是,我认为您的 DHCP 服务器上的动态 DNS 更新无法正常工作。您能检查一下并回复我吗?”
更新
@Kenneth 针对您的更新,DNS 中完全有可能存在两个针对同一计算机名称的 A 记录。虽然旧机器的记录可能仍指向旧机器的名称,但旧机器的 DHCP IP 地址可能已分配给其他人。在这种情况下,名称将解析为错误的 PC。您可以做的是在 cmd 中键入 nslookup,然后键入响应的机器的 IP(而实际上不应该响应)。这应该检查反向 DNS 条目而不是 A 记录,并且应该会为您提供机器的真实名称。
无论哪种情况,您都可以要求 IT 团队手动破解 DNS 来解决问题。这是一项非常非常简短且简单的工作。他们应该不会花超过 5 分钟的时间来解决问题。
答案2
您不能在同一个域中拥有 2 台同名的机器。您的旧机器应该已从域中退出,或者在加入新域之前重置帐户。如果这样做了,可能是因为有一个过时的 DNS 条目卡在那里。请让您的网络团队手动将其删除,或者等待 24 小时。
答案3
我知道这是一个老话题,但我想分享我遇到这个问题的经验。就我的情况而言,出于某种原因,有人在 HOSTS 文件中为旧 IP 地址设置了一个静态名称。我只需删除该行即可。