无法从 Windows XP 虚拟机中 ping 我的 Windows 7 机器

无法从 Windows XP 虚拟机中 ping 我的 Windows 7 机器

我在家庭网络(无线)上的笔记本电脑上安装了 Windows 7 作为主要操作系统。

我正在使用 Microsoft Virtual PC 2007 SP1 运行 Windows XP SP3 的虚拟机,在其中我想要访问 Windows 7 实例,既可以浏览共享文件夹,也可以访问本地 Apache 服务器。

到目前为止,我可以 ping 我的 Windows 7 IP 地址(IPv4)并通过 HTTP 通过 Web 浏览器访问 apache 服务器。

但是使用我的机器名似乎总是不起作用。ping 它失败,我也无法使用它访问我的 Apache 服务器。

该问题似乎与我的机器名称在 IPv6 而不是 IPv4 下注册有关。

我不知道该怎么办。我应该尝试在虚拟机上设置 IPv6 吗?不确定该怎么做。或者我应该以某种方式让 Windows 7 上的机器名称与 IPv4 兼容?

虽然我认为它已经可以了,因为我可以从一个单独的盒子(运行 Ubuntu) ping 它,该盒子仅在 IPv6 下注册。

答案1

如果你没有设置 DNS 或 WINS 来进行名称解析,而你希望这台计算机能够通过名称进行 ping/解析,那么一个快速解决方法就是在你的hosts 文件(位于 %SystemRoot%\system32\drivers\etc)在指向 Windows 7 主机的 Windows XP VM 上。它看起来像:

192.168.1.5     mywin7hostname

编辑:好的,根据您对通过 DHCP 分配 IP 地址的回复,您仍然有几个选择。以下 TechNet 文章介绍了 Windows 主机名解析过程:http://technet.microsoft.com/en-us/library/bb727005.aspx

当您尝试 ping Windows 7 主机名时,它不在本地,您没有 DNS 服务器可以排除选项 2 和 3,您没有 WINS 服务器可以排除选项 4 和 5,这导致 NetBIOS 广播成为客户端定位 Windows 7 主机的唯一方式。进入 Windows 7 框上的防火墙,确保您已网络发现 (NB-Datagram-In)网络发现 (NB-Name-In)已为包含 Windows XP 框的网络配置文件启用。

替代文本 http://i.technet.microsoft.com/Bb727005.chp7hn01(en-us,TechNet.10).gif

或者(可能更简单),在网络 IP 范围内为 Win7 设备分配一个静态 IP(或使用路由器上的 DHCP 地址保留),并使用 Windows XP VM 上的 hosts 文件。即使在使用 DNS 和 WINS 的托管企业网络中,服务器也倾向于分配静态 IP 地址,原因也正是如此。

答案2

一种方法是允许 NetBIOS 广播,它将在本地 IPv4 子网上作为 Win7 框工作...缺点是,呃,你必须打开 NetBIOS。

我相信在 Vista/Win7 中您可以启用包含防火墙规则的“网络发现”。

然后,除非我上次这样做之后情况发生了变化,否则当网络堆栈放弃尝试在 DNS 中查找计算机名称时,它将对其进行广播并且 Win7 将会应答。

仅适用于短名称,即不是 mywin7hostname.myisp.com;只是 mywin7hostname。

答案3

尝试关闭路由器一段时间,然后再打开。对我来说,这个方法有效。不知何故,路由器丢失了计算机名称和 IP 地址之间的关系,重置路由器后,它又能发现这些计算机名称和 IP 地址。

相关内容