我在 Windows Server 2003 上运行 VirtualBox 4.2,并尝试从 Windows 主机 ping 客户虚拟机的 IP 地址(ICMP 未被阻止)。
客户机的 IP 是 192.168.0.1,主机位于不同的子网 192.168.1.100。虚拟机的网络设置如下:
主机网络配置如下:
我为上面屏幕截图中显示的主机 NIC 添加了辅助 IP 地址 192.168.0.2,但无法从主机 ping 192.168.0.1。我发现“VirtualBox Bridged Networking Driver”复选框未选中(这是 VirtualBox 安装后的默认设置),这很奇怪,所以我检查了它,但遇到了同样的问题。
作为测试,我随后更改了客户机的网络设置,使用仅主机适配器,如下所示:
在主机上,我编辑了“VirtualBox 仅主机网络”适配器的设置,使其在 192.168.0.x 网段上拥有一个 IP 地址,如下所示:
但还是无法ping通。 注意:如果我将主机网络适配器的主地址更改为 192.168.0.x 网段,那么我是能够 ping 通 192.168.0.1 来宾。但我仍然需要主机位于其原始网络上。
有什么想法吗?
答案1
所以您要将具有 192.168.0.x ip 的 VM NIC 桥接到运行 192.168.1.* 的 LAN?
这当然是行不通的。
当您桥接虚拟机网卡时,它会与同一 LAN 上的主机网卡“并行”工作。
这意味着两台机器(主机和客户机)都位于同一个子网中,并且应该使用该范围内的 IP 地址。
您可以让它使用不同的 IP 范围,但在这种情况下您必须重新配置路由器。它必须在每个子网中都有一个 IP 地址,并在同一 L2 LAN 上的 2 个 L3 子网之间路由。
并且两台机器都需要使用该路由器(路由器自己子网的 IP 地址)作为其默认网关。
请注意,在同一 L2 LAN 上叠加 2 个子网可能会产生一些不良副作用。许多设备不喜欢这样。它还可能导致您的 DHCP 服务器出现一些问题(例如,如果它是 Microsoft DHCP 服务器,则需要正确设置超级作用域)。
答案2
尝试在 Windows 主机上添加路由以使用正确的源 IP(即来自虚拟机所在子网的 IP):
route add 192.168.0.0 mask 255.255.255.0 192.168.0.2
答案3
如果你要使用桥接网络,你需要对待客人确切地与网络上的物理计算机相同,即它需要在同一个子网上有一个 IP 地址。