无法从主机ping通本地虚拟机

20

我的工作笔记本属于一个域(操作系统是Windows 8)。在笔记本上本地创建了一个新的虚拟机(使用内置的Hyper-V)。DHCP由域提供,并且所有IP地址都由DHCP分配,包括主机和虚拟机。虚拟机不是域成员,只是工作组的成员。尝试从主机ping本地虚拟机。使用计算机名称ping无法工作,但通过IP地址可以正常工作。主机操作系统和虚拟机都在同一子网上。

每次我将笔记本连接到办公网络时,IP地址都会更改。我想避免一直使用不同的IP地址的麻烦。

有没有什么我可以做的来使名称解析工作?将虚拟机添加到域不是一个选项。


我不是网络大师,但你的DNS服务器可能只允许有效域成员更新名称记录。这将防止你的虚拟机告诉其他机器它的名称。这是检查清单:保护您的DNS服务器中的一个设置选项:对所有DNS区域仅允许安全动态更新。这确保只有经过身份验证的用户可以使用安全方法提交DNS更新,从而帮助防止攻击者劫持受信任主机的IP地址。 - chue x
8个回答

44

我知道这是一个旧帖子,但我在我的虚拟机中遇到了同样的问题。登录虚拟机并转到“控制面板”>“系统和安全”>“Windows防火墙”>“允许的应用程序”。然后选中所有与“文件和打印机共享”相邻的框以启用文件共享。这样就可以ping通虚拟机。下面的截图来自2016年的Windows Server,但相同的方法也适用于旧版本。

enter image description here


在VirtualBox6.1.4上运行,通过桥接到我的物理以太网适配器,也在Win10Pro上为我工作。 - Or Hirshfeld
我已经尝试了上述方法并更改为桥接适配器,但仍然没有成功。后来发现我的工作 VPN 由于某种原因在干扰,如果你遇到同样的问题,最好关闭它。 - JonnyRaa
1
谢谢@JonnyRaa,这对我很有帮助。关闭VPN或切换到“分隧道”模式可以使我的ping工作。 - aampere

36
问题可能是虚拟机通过NAT连接到网络。您需要将虚拟机的网络适配器设置为桥接连接,以便虚拟机在实际网络中获得自己的IP地址,而不是在主机的局域网上获得IP地址。

6
如果有人无法理解,VM设置 -> 网络 -> 依附于 [从下拉菜单中更改为桥接适配器] - Teshan Shanuka J
1
如果这样做后仍然无法正常工作,请转到VM设置->网络->附加到,然后从下拉菜单中选择Bridgie适配器。然后单击高级以打开高级部分,然后单击混杂模式,然后从下拉菜单中选择允许所有。 - karim samir

7

我有类似的问题。如果在VMware的网络选项中使用NAT设置,则外部设备无法ping通虚拟机。我改用桥接连接,这样客户虚拟机就可以获得自己的IP地址,然后我添加了一个第二个适配器,并将其设置为NAT,以便客户访问Internet。


OP 询问的是 Hyper-V 网络,而不是 VMware。配置有些不同。 - Dush

2

尝试关闭笔记本电脑上的防火墙,看是否有所不同。也许你的笔记本电脑防火墙阻止了一些广播,这会影响本地网络名称解析。


2
尝试过了,没有起到帮助作用。 - user2690101
我可以从桥接模式下的虚拟机中ping主机,但无法从主机ping虚拟机。关闭虚拟机防火墙后问题得到解决。 - AndyD273

1
除了使用桥接连接外,我还需要在VM的Windows Server 2012控制面板网络设置中打开“查找设备和内容”。希望这能帮助一些人,因为其他答案都无法ping通VM机器。

0

尝试关闭所有防火墙,包括虚拟机和笔记本电脑上的防火墙,或在防火墙中添加允许ping的规则。


0

我曾经遇到过同样的问题。通过在我的主机上添加一个静态路由到我的VMnet8适配器,我解决了这个问题:

route ADD VM_addr MASK 255.255.255.255 VMnet8_addr

正如之前提到的,您需要建立一个桥接连接。


OP 询问的是 Hyper-V 网络,而不是 VMware。配置有些不同。 - Dush

0

可能你的VMnet8 IP不在同一网络段,例如,我的虚拟机IP是192.168.71.105,我可以ping通虚拟机中的Windows系统,但无法ping通Windows系统中的虚拟机,这时你需要检查一下VMnet8是否配置正确。 IP:192.168.71.1


OP 询问的是 Hyper-V 网络,而不是 VMware。配置有些不同。 - Dush

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接