我在 Windows 主机上运行了两个虚拟机,每个虚拟机都有一个仅主机网络,IP 在 192.168.56.XXX 范围内。其中一个虚拟机正在运行 Apache,并提供一些我想从 Windows 主机访问的内容。
但是,Windows 主机根本无法访问 Apache 服务器。服务器在 192.168.56.103 上运行。Windows 中的 ipconfig 显示 Virtual Box 接口的 IP 是 169.254.143.37。我尝试使用 route add 来路由 192.168.56.XX 流量,但我尝试的所有方法都不起作用,我可能使用错了。
关于如何实现这个功能你有什么想法吗?
答案1
如果您想与 IP 为 192.168.56.XXX 的虚拟机进行通信,则需要主机 Virtual Box 接口具有同一范围内的 IP。您的接口没有 (169.254)。
在全新安装的 VBox 3.1.8 中,它会创建一个名为“VirtualBox Host-Only Network”的新接口,其静态 IP 地址为:192.168.56.1/24。
您的接口很可能配置错误,无法使用 DHCP。将其更改为使用 192.168.56.1 和 255.255.255.0 网络掩码,它应该可以正常工作。
答案2
我可以通过为服务器提供一个静态地址来解决这个问题192.168.56.11
。然后,我就可以从主机 ping 通我的客户操作系统了。我还在主机上添加了一个主机文件条目,以便于访问。
我仍然无法从客户机 ping 通主机...不确定为什么。
答案3
您的虚拟机正在获取 169.* 之类的 IP,因为它们的 DHCP 客户端找不到 DHCP 服务器来为它们提供租约。因此,主机的 IP 和虚拟机的 IP 无法相互访问。静态路由并不能真正解决这个问题。您需要找出虚拟机未获取 IP 租约的原因,或者您可以尝试手动将 IP 地址设置为主机所在的同一私有 C 类 (192.168.56.*)。
答案4
在 Windows 主机上找到、安装并启动仅主机适配器后,如果仍然无法连接到虚拟机,请尝试关闭该适配器的 Windows 防火墙。
如果有效,您可以保留原样,或者使用 Windows 防火墙打开正确的端口等。