我想按照以下方式在 OS X 上使用 Virtualbox 设置 Linux 虚拟机:
- 我想使用虚拟网络,我的物理机充当更广泛的互联网/其他网络的 NAT。因此,我的虚拟机应该有一个从我的物理机可见的 IP 地址(我可以浏览到http://172.something/并看到虚拟机上运行的 Web 服务器),但是物理网络上的其他机器应该看不到虚拟机。
- 我希望虚拟机能够看到“外部”——它应该能够访问我的网络其余部分和整个互联网上的资源。
我对桥接网络(虚拟机在我的物理网络上获取 IP 地址)不感兴趣。我经常切换网络,并将在笔记本电脑上运行此网络,因此如果我从以太网切换到 WiFi 或再次切换回来,任何中断都是不好的。
我尝试了 Virtualbox 中几乎所有的网络设置组合,但还是没能同时实现上述两个要点 - 我可以在 NAT 后面设置一个私有网络,但虚拟机却无法访问互联网。我可以让虚拟机访问互联网,但我似乎没有获得我的物理机可以用来访问虚拟机上运行的服务器的 IP 地址。
我已经设法使该设置在 VMWare Fusion 和 Parallels 中顺利运行 - 有什么想法可以使它在 Virtualbox 中运行吗?
答案1
请参阅以下提出的问题:端口转发至虚拟机
简而言之,您需要将 VM 网络适配器配置为 NAT 模式,然后发出以下管理命令:
VBoxManage setextradata VM_NAME "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/HostPort" 8888
VBoxManage setextradata VM_NAME "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/GuestPort" 80
VBoxManage setextradata VM_NAME "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/Protocol" TCP