如何从外部访问在VirtualBox中运行的Ubuntu服务器


44

我已经通过VirtualBox在笔记本电脑上安装了Ubuntu Server 12.04 LTS。我已经安装了LAMP,OpenSSH,邮件服务器。

登录时,我跑了ifconfig。它给我的Inet地址为192.168.0.3。

那么,这应该是我应该能够访问服务器的地址吗?但是我无法通过浏览器访问它。服务器一直在VirtualBox上运行-但仍然不能在其他浏览器或我的手机上运行。我必须怎么做才能使公众可以使用它?

Answers:


58

默认情况下,VirtualBox中的来宾计算机配置为使用所谓的NAT网络-来宾的网络适配器的IP在“虚拟”子网中,该子网包括来宾和充当网关的父VirtualBox应用程序。对于来宾来说,它看起来像是通过普通的DSL调制解调器访问互联网,但是无法从任何地方访问来宾,就像您无法从Internet访问本地网络中的计算机一样,除非专门配置调制解调器以允许此类访问。访问。

VirtualBox文档包含以下网络模式列表:

八个网络适配器中的每一个都可以分别配置为以以下方式之一运行:

未附上

在这种模式下,VirtualBox会向来宾报告存在网卡,但是没有连接-好像没有以太网电缆插入网卡。这样,可以“拉出”虚拟以太网电缆并中断连接,这对于通知来宾操作系统没有可用的网络连接并强制进行重新配置很有用。

网络地址转换(NAT)

如果只需要浏览Web,下载文件并查看guest虚拟机中的电子邮件,则此默认模式对您来说已经足够了,您可以放心地跳过本节的其余部分。请注意,使用Windows文件共享时有某些限制(有关详细信息,请参阅“ NAT限制”一节)。

桥接网络

这是为了满足更高级的网络需求,例如网络模拟和在来宾中运行服务器。启用后,VirtualBox会连接到已安装的网卡之一并直接交换网络数据包,从而规避了主机操作系统的网络堆栈。

内部网络

这可用于创建另一种基于软件的网络,该网络对选定的虚拟机可见,但对主机上或外部世界上运行的应用程序不可见。

仅限主机的网络

这可用于创建包含主机和一组虚拟机的网络,而无需主机的物理网络接口。而是在主机上创建虚拟网络接口(类似于回送接口),以提供虚拟机与主机之间的连接。

通用网络

很少使用的模式共享相同的通用网络接口,方法是允许用户选择VirtualBox附带的驱动程序或扩展包中分发的驱动程序。

如果需要从外部访问来宾,则需要配置桥接网络,这将在本地网络中为来宾提供自己的IP。配置是在VirtualBox设置中完成的,而不是在来宾OS中完成的。

为了能够从您的移动设备(即从LAN外部)访问服务器,配置网络后,您还需要在DSL调制解调器上设置端口转发。


3
+1表示默认的NAT配置并建议桥接。
Mark Mikofski 2013年

+1可以教给我一些与我的情况有关的新颖,有用的知识。谢谢!
heypaleblue

感谢您的答复,但是,我是否不需要在服务器上安装DNS以便他人可以通过Internet访问它?
Chins 2013年

@Chins:不,您绝对不需要在服务器上安装DNS。到目前为止,我们讨论的所有内容都不涉及DNS。
谢尔盖

1
@Sergey-我使用桥接适配器配置了我的虚拟机。执行ifconfig时显示的IP地址是10.210.xx,但是我仍然无法从主机上粘贴我的虚拟机。有什么事吗
安迪·杜弗雷斯

9

为了提供更多信息,这些是设置桥接网络的实际步骤:

要启用桥接网络,您所需要做的就是打开虚拟机的“设置”对话框,转到“网络”页面,然后在“附加到”字段的下拉列表中选择“桥接网络”。最后,从页面底部的列表中选择所需的主机接口,其中包含系统的物理网络接口。例如,在典型的MacBook上,这将允许您在“ en1:AirPort”(这是无线接口)和“ en0:Ethernet”之间进行选择,这代表具有网络电缆的接口。

资源

然后,我重新启动了虚拟机,并能够从外部连接到该虚拟机。


请记住,例如,至少在Mac OS 10.1.11上,它不允许直接桥接wifi适配器,但是必须首先在网络设置中创建一个“桥接适配器”
两次jr

1
但是静态IP地址之类的东西如何在桥接模式下工作?一切都在同一连接上吗?VM上的Web服务器会位于localhost而不是某个IP地址吗?端口是否以1:1转发?因此,如果Tomcat在VM上的localhost:8080上,主机是否只需在其浏览器中键入localhost:8080即可查看该VM?
anon58192932
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.