这是我的设置:
我的机器(Mac OS,Snow Leopard)上运行着一个本地服务器。我可以通过浏览器访问它,方法是:
本地主机:3000
我有一台使用 Virtual Box 运行 Windows XP 的虚拟机。如果我尝试使用 localhost:3000 进行访问,则会失败。如果我使用 Mac 机器的 IP,情况也是如此。
虚拟机可以访问互联网。
如何在虚拟机中访问本地服务器?
答案1
如何在虚拟机中设置网络?
听起来你可能使用 NAT 进行设置。在这种情况下,如果你的主机 (Mac) 有一个不可路由的 (私有) IP 地址,例如 192.168.xx,你将无法从虚拟机内访问主机。你无法从客户机访问主机的原因是你实际上是在设置 2 个独立的私有网络。你的 Mac 电脑在一个 (192.168.xx) 上,你的虚拟机在另一个 (可能是 10.xxx) 上,它们之间实际上有一个路由器。由于路由器不会路由私有 IP,因此这两个网络永远无法直接相互通信。
如果您希望主机和客户机能够通信,您可能需要将 VirtualBox 网络适配器设置为连接到“桥接适配器”。这将与虚拟机共享您的互联网连接,并允许您的客户机与主机通信。在这种情况下,您实际上是将您的 VM 作为附加节点添加到您的 Mac 已经所在的本地网络。
答案2
根据虚拟机的网络设置,您可能需要向主机操作系统添加一个额外的 IP,该 IP 与虚拟机位于同一子网中,以便它们可以通信。您的虚拟机可能有一个 192.168.xx 地址,因此请向 Mac 计算机添加一个类似的地址:
例如,如果虚拟机有 192.168.1.99 和子网掩码 255.255.255.0,您可以对主机执行以下操作:
ifconfig eth0:0 192.168.1.199 网络掩码 255.255.255.0 启动
您可能还需要重新启动适配器。
答案3
我也遇到了完全相同的问题,只是我是以 Windows 7 为客户机来使用。
我所做的是开始->运行->cmd
调出命令行。
ipconfig
显示连接详细信息。查找类似 10.xxx 的地址,这就是您的 Mac。
现在,使用它连接到 Mac 上的本地服务器。
对我来说,通常是这样的http://10.0.2.2:80/blah