无线网络导致虚拟机无法被外界访问

无线网络导致虚拟机无法被外界访问

我目前有两个在 Windows 7 主机上运行的 Ubuntu 14.04 虚拟机。虚拟机配置为使用桥接网络适配器。

当主机硬连接到互联网时,虚拟机能够 ping 通外界,并且可被外界 ping 通。

当宿主机处于无线网络中时,虚拟机无法ping通外界,外界也无法ping通虚拟机。

当连接到无线网络时,从虚拟机 ping 到外部或从外部 ping 到虚拟机时,收到“目标主机不可达”错误。

值得注意的是,这些虚拟机是在 VirtualBox 中运行的。这里可能适用的是,VirtualBox 手册第 6.5 节状态:

桥接到无线接口与桥接到有线接口的方式不同,因为大多数无线适配器不支持混杂模式。所有流量都必须使用主机无线适配器的 MAC 地址,因此 VirtualBox 需要替换传出数据包以太网报头中的源 MAC 地址,以确保将回复发送到主机接口。当 VirtualBox 看到传入数据包的目标 IP 地址属于虚拟机适配器之一时,它会将以太网报头中的目标 MAC 地址替换为 VM 适配器的 MAC 地址并将其传递。VirtualBox 检查 ARP 和 DHCP 数据包以了解虚拟机的 IP 地址。

我不确定是什么原因导致了这个问题。在我的情况下,在网络之间切换时需要从外部世界访问这些虚拟机。有什么想法可以解释一下可能发生了什么吗?

提前感谢你的帮助!

答案1

只是为了给那些将来可能偶然发现这个问题的人提供一些价值:这个问题的根源来自 virtualbox 中的设置。打开 virtualbox,在“设置”>“网络”>“适配器”页面下,有一个名称字段。如果尝试通过有线连接连接到虚拟机,请选择主机的以太网适配器。如果尝试通过无线连接连接到虚拟机,请选择主机的无线适配器。希望这对某些人有所帮助!

相关内容