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

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

当我登录时,我运行了ifconfig 。 它给我的inet地址为192.168.0.3。

那么,这应该是我应该能够访问服务器的地址吗? 但我无法通过浏览器访问它..服务器一直在VirtualBox上运行 – 但仍然,它不能在其他浏览器或我的手机上运行。 我需要做些什么才能让公众可以访问?

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

VirtualBox文档具有以下网络模式列表:

八个网络适配器中的每一个都可以单独配置为以下列模式之一运行:

没有附上

在此模式下,VirtualBox向guest虚拟机报告存在网卡,但没有连接 – 就好没有以太网电缆插入卡中一样。 这样就可以“拉”虚拟以太网电缆并中断连接,这对于通知客户操作系统没有可用的网络连接并强制执行重新配置非常有用。

网络地址转换(NAT)

如果你想要的只是浏览网页,下载文件并在访客中查看电子邮件,那么这个默认模式应该足够了,你可以安全地跳过本节的其余部分。 请注意,使用Windows文件共享时存在某些限制(有关详细信息,请参阅“NAT限制”一节)。

桥接网络

这适用于更高级的网络需求,例如网络模拟和在guest虚拟机中运行服务器。 启用后,VirtualBox将连接到您安装的某个网卡,并直接交换网络数据包,从而绕过主机操作系统的网络堆栈。

内部网络

这可以用于创建不同类型的基于软件的网络,该网络对于所选虚拟机是可见的,但对于在主机或外部世界上运行的应用程序不可见。

仅限主机的网络

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

通用网络

通过允许用户选择可以包含在VirtualBox中或分发在扩展包中的驱动程序,很少使用的模式共享相同的通用网络接口。

如果您需要从外部访问访客,则需要配置桥接网络,这将为您的访客提供本地网络中自己的IP。 配置在VirtualBox设置中完成,而不是在guest虚拟机操作系统中完成。

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

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

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

资源

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