如何在没有主机互联网访问的情况下访问客户机上的 Web 服务器?

如何在没有主机互联网访问的情况下访问客户机上的 Web 服务器?

我已经设置了 VirtualBox,这样我就可以使用桥接网络从主机访问客户机上的 Web 服务器。据我了解,使用桥接网络,客户机可以像主机一样访问互联网 - 例如,通过从路由器获取 IP...

我的问题是,我发现自己想在旅行时工作(例如:在火车上),但在旅行时我可能无法访问互联网。如果没有互联网访问,桥接网络就会崩溃。

似乎应该有一种方法可以设置 Virtual Box,这样我就可以使用一些完全虚构的网络,而不需要真正的网络。我尝试过“内部网络”和“仅主机适配器”,它们似乎应该可以完成工作,但它们要么不能满足我的要求,要么我误解了如何使用它们。

tl;dr:即使主机没有互联网访问,有没有办法我可以访问我的客户机的 Web 服务器(和/或其他网络服务)?

答案1

有趣的是,我今天在我的 Dell Mini 9 上做了同样的事情。主机操作系统是 Windows 7,客户机是 Ubuntu Lucid (10.04) - 一切都运行良好,主机通过桥接网络连接客户机上的 R 服务器。但在火车上远离我的网络时,我无法连接。

最终通过使用仅主机网络、客户机上的静态 IP 和在 VirtualBox 主机适配器上设置静态 IP 使其正常工作,现在无论是否连接到网络都可以正常工作。唯一的问题是我无法从网络的其余部分连接到客户机。我不需要。(我真的不想使用 NAT,因为我的家庭网络使用 192.168.. IP 范围)

通过桥接虚拟盒主机适配器和真实网络接口进行更新,并再次在桥上设置固定 IP 地址,我可以从我的网络连接到客户机。

答案2

毫无疑问,NAT 是最佳选择(Lord Peter 在上面的建议)。该解决方案的优点在于,当您有外部连接时,您可以从 VM 访问互联网。离线时,您可以在 VM 内访问 VM Web 服务器。缺点是外部机器无法访问您的 VM,因为它将与您的笔记本电脑进行 NAT;您可以通过在笔记本电脑上使用反向代理或切换回网络上的桥接配置来纠正此问题。

如果你正在使用 LAMP 进行 Web 开发,你是否看过可以直接安装在 USB 棒或笔记本电脑上的 LAMP Web 开发堆栈。更多信息见下文

http://www.apachefriends.org/en/xampp.html

答案3

NAT 是可行的方法。NAT 网络使用 10.0.0.0/8 范围并自动为访客分配一个 IP 地址。唯一的技巧是您需要通过虚拟 NAT 转发端口(80?)。一旦一切设置完毕,您所要做的就是将 10.0.0.x/8 地址插入浏览器即可访问该网站。

这里(“使用 NAT 配置端口转发”下)获取有关如何设置转发端口的说明,以及 VBox 网络模式的正式定义。

相关内容