我在 Windows 7 上运行 VirtualBox,客户虚拟机操作系统是 Ubuntu Server,并且它的设置方式使我可以从主机上访问它192.168.56.101
。
本地网络内的主机IP为192.168.16.100
。
我希望 Ubuntu Server 的服务器(Apache 等)也能从网络中的其他计算机访问。其中一些运行 Mac OS,一些运行 Android。运行 Mac OS 的计算机的 IP 是192.168.16.102
。
这可能吗?
答案1
你说的主机IP地址是这样的:
- 主机操作系统(Windows 7):
192.168.16.100
- 客户操作系统(Ubuntu):
192.168.56.101
- 苹果系统:
192.168.16.102
如果您的客户操作系统设置为192.168.56.x
子网,则在 Virtual Box 中这将是一个仅主机适配器。这是一个很棒的设置,但对于您要实现的目标来说并不是那么好。您可以尝试做的最简单的事情是将该适配器从仅主机模式更改为桥接模式。
在桥接模式下,客户操作系统将连接到您的网络路由器,因此它将位于192.168.16.x
子网或大型 LAN 所属的任何子网中。如何分配地址取决于您,但如果您的路由器支持 DHCP,您可以为此客户操作系统机器分配一个保留的 IP 地址(通过基于 MAC 地址的 DHCP 静态分配)。或者——如果可能的话——看看您是否可以安全地分配静态 IP 地址,而不会给客户操作系统带来太多麻烦。
话虽如此,如果我是你,我更愿意做以下事情:保留主机专用适配器原样,但在 VirtualBox 中创建一个新的第三个网络适配器,作为桥接适配器。这样,你的客户操作系统会保留主机专用适配器连接192.168.56.101
,但你会获得一个属于192.168.56.x
子网的额外桥接适配器。这样就可以两全其美。
答案2
最简单的方法是将网络适配器设置为桥接 - 这意味着虚拟机将直接连接到主机子网范围内192.168.16.x
。从那里,确保您可以通过名称 ping 它以完成设置。
为了在网络外部访问它,您现在可以设置端口转发 - 尽管这超出了该特定问题的范围。