VirtualBox 网络设置:完整指南
VirtualBox:如何设置网络,以便主机和来宾都可以访问互联网并相互交谈
- 将 virtualbox 设置为使用 2 个适配器:
- 第一个适配器设置为NAT(将为您提供互联网连接)。
- 第二个适配器设置为仅主机。
- 启动虚拟机并为 Ubuntu 中的第二个适配器分配静态 IP(例如192.168.56.56)。主机 Windows 将使用192.168.56.1作为内部网络的 IP(VirtualBox Host-Only Network是 Windows 中网络连接中的名称)。这将使您能够从 Windows 访问 192.168.56.56 访问 ubuntu 上的 apache 服务器。此外,Ubuntu 将具有互联网访问权限,因为第一个适配器(设置为 NAT)将负责这一点。
- 现在,要使连接可用两种方式(从 ubuntu 来宾访问 Windows 主机),还需要执行一个步骤。Windows 会自动将 virtualbox 仅主机网络添加到公共网络列表中,并且该列表无法更改。这意味着防火墙将阻止正确的访问。
- 为了克服这个问题并且不在您的设置中造成任何安全漏洞:
- 转到控制面板中的 Windows 防火墙部分,
- 单击高级设置。在弹出的页面中,
- 单击入站规则(左列),然后单击新规则(右列)。选择自定义规则,将规则设置为允许所有程序和任何协议。对于范围,在第一个框(本地 IP 地址)中添加 192.168.56.1,在第二个框(远程 IP)中添加 192.168.56.56。单击下一步,选择允许连接,下一步,检查所有配置文件,下一步,为其命名并保存。
就是这样,现在您有了 2 种方式的通信,可以使用 apache/任何其他可用的服务以及互联网。最后一步是设置共享。不要使用 virtualbox 中的共享文件夹功能,它有很多 bug,尤其是在 Windows 7(和 64 位)中。相反,使用 samba 共享 - 快速且高效。
请点击此链接了解如何设置: https: //wiki.ubuntu.com/MountWindowsSharesPermanently
在这个现代商业世界中,网络是交互式计算机操作的重要组成部分。很难想象在一个一切都在以越来越快的速度变化的世界里如何在没有网络的情况下在计算机之间交换数据。硬件虚拟化背后的核心思想之一是在几乎所有也可以使用物理计算机的情况下都可以使用虚拟机。
因此,虚拟机必须能够使用其虚拟网络适配器连接到物理和虚拟网络。VirtualBox 上运行的虚拟机可以连接到不同的网络。VirtualBox为虚拟机提供多种网络模式。这篇博文介绍了 VirtualBox 网络设置,以帮助您以最佳方式配置 VirtualBox 以满足您的需求。
虚拟网络适配器
每个 VirtualBox VM 最多可以使用八个虚拟网络适配器,每个虚拟网络适配器又称为网络接口控制器 (NIC)。可以在 VirtualBox GUI(图形用户界面)中配置四个虚拟网络适配器。所有虚拟网络适配器(最多 8 个)都可以使用VBoxManagemodifyvm命令进行配置。VBoxManage是 VirtualBox 的命令行管理工具,可用于配置所有 VirtualBox 设置,包括 VirtualBox 网络设置。VirtualBox 网络适配器设置可以在虚拟机设置中访问(选择您的虚拟机,点击“设置”并转到虚拟机设置窗口中的“网络”部分)。
您应该在那里看到四个适配器选项卡。虚拟机创建后默认启用一个虚拟网络适配器。您可以勾选“启用网络适配器”复选框来启用适配器,取消勾选复选框来禁用该适配器(此复选框定义虚拟网络适配器设备是否连接到虚拟机)。
点击“高级”以展开高级 VirtualBox 网络适配器设置。
VirtualBox 中的虚拟网络适配器类型
虚拟网络适配器是软件模拟的物理设备。VirtualBox 可以虚拟化六种虚拟适配器类型。
- AMD PCnet-PCI II (Am79C970A)。该网络适配器基于AMD芯片,可以在多种情况下使用。对于 Windows 客户机,此网络适配器可用于较旧的 Windows 版本(如 Windows 2000),因为较新的 Windows 版本(如 Windows 7、8 和 10)不包含此适配器的内置驱动程序。最初,Am79C970APCI 设备包含一个单芯片 10 Mbit 控制器,并且集成了 DMA 引擎。该网络适配器还支持AMD的Magic Packet技术,用于远程唤醒。
- AMD PCnet-FAST III (Am79C973)。几乎所有可以在 VirtualBox 上运行的来宾操作系统都支持此虚拟化网络适配器。GRUB(引导加载程序)可以使用此适配器进行网络引导。与之前的网络适配器类似,这款网络适配器基于 AMD 芯片。
- 英特尔 PRO/1000 MT 台式机 (82540EM)。该适配器与 Windows Vista 和更新的 Windows 版本完美配合。大多数 Linux 发行版也支持此适配器。
- 英特尔 PRO/1000 T 服务器 (82543GC)。Windows XP 无需安装额外的驱动程序即可识别该适配器。
- 英特尔 PRO/1000 MT 服务器 (82545EM)。此适配器模型对于从其他平台导入 OVF 模板非常有用,并且可以简化导入过程。
- 半虚拟化网络适配器(virtio-net)是一个特例。来宾操作系统必须为虚拟化环境提供特殊的软件接口,而不是大多数操作系统支持的虚拟化网络硬件。这种方法可以让您避免网络硬件模拟的复杂性,从而提高网络性能。
VirtualBox 支持行业标准 virtIO 网络驱动程序。VirtIO 网络驱动程序是 KVM 项目的一部分,并且是开源的。这些驱动程序适用于内核为 2.6.25 或更高版本的 Linux,以及 Windows(包括 Windows 2000、XP 和 Vista 等旧版本)。
巨型帧支持
VirtualBox 对巨型帧(可以承载大小超过 1,500 字节的数据包的以太网帧)提供有限的支持。如果需要使用巨型帧,请选择 Intel 虚拟化网络适配器,并将该适配器配置为在桥接模式下工作。基于 AMD 的虚拟网络适配器不支持巨型帧。如果您尝试为基于 AMD 的虚拟网络适配器启用巨型帧,则输入和输出流量的巨型帧将被静默丢弃。默认情况下禁用巨型帧。
VirtualBox 网络模式
VirtualBox 提供了一长串网络模式,这是 VirtualBox 网络设置最有趣的功能之一。每个虚拟网络适配器都可以单独配置为在不同的网络模式下运行。例如,您可以为适配器 1设置NAT模式,为适配器 2 设置Host-only模式。您可以在“附加到”下拉菜单中选择网络模式。
让我们详细考虑每种 VirtualBox 网络模式。
未附上
虚拟机中安装了虚拟网络适配器,但网络连接丢失,就像使用物理网络适配器时拔掉以太网网线一样。此模式对于测试很有用。例如,您可以短时间启用该网络模式来模拟拔掉电缆。当您通过切换到其他网络模式来禁用“未连接”模式时,网络连接将再次可用。还可以检查DHCP客户端是否正确获取IP地址,相应的应用程序在链路中断或丢包后是否可以恢复下载等。
您可以使用任何其他网络模式,而不是使用“未连接”网络模式,而无需勾选“已连接电缆”复选框。当虚拟机处于运行状态时,您可以勾选/取消勾选该复选框(请参见上面的屏幕截图)。不要忘记单击“确定”以应用虚拟机网络配置中的更改。
网络地址转换
默认情况下,虚拟网络适配器启用此网络模式。VM 上的来宾操作系统可以使用虚拟 NAT(网络地址转换)设备访问物理局域网 (LAN) 中的主机。外部网络(包括互联网)可以从客户操作系统访问。当NAT模式用于 VirtualBox 网络时,无法从主机或网络中的其他计算机访问来宾计算机。例如,对于希望使用虚拟机访问互联网的用户来说,这种默认网络模式就足够了。
VM 网络适配器的 IP 地址通过 DHCP 获取,并且此网络模式下使用的网络 IP 地址无法在 GUI 中更改。VirtualBox 有一个内置的 DHCP 服务器和 NAT 引擎。虚拟 NAT 设备使用 VirtualBox 主机的物理网络适配器作为外部网络接口。NAT模式下使用的虚拟DHCP服务器默认地址为10.0.2.2(也是虚拟机默认网关的IP地址)。网络掩码为 255.255.255.0。
如果将两个或多个虚拟机的网络适配器配置为使用 NAT模式,则每个虚拟机将在私有虚拟 NAT 设备后面的自己的隔离网络中获取 10.0.2.15 IP 地址。每个虚拟机的默认网关是 10.0.2.2。在 VirtualBox 中,使用NAT模式时 IP 地址不会改变,如下所示:
要使用 VBoxManage 为虚拟机启用 NAT 模式,请执行以下命令:
在哪里:
- VM_name是您的虚拟机的名称;
- nic1是虚拟网卡的编号;
- nat是您需要设置的 VirtualBox 网络模式的名称。
可以通过单击“端口转发”按钮(如上面的屏幕截图所示)直接从 VirtualBox VM 网络设置窗口配置端口转发。有关在 VirtualBox 网络设置中配置端口转发的详细信息,您可以在下面的“网络模式”部分之后找到这些信息。
网络地址转换
此模式类似于用于配置路由器的NAT模式。如果多个虚拟机使用NAT网络模式,它们可以通过网络相互通信。虚拟机可以访问物理网络中的其他主机,也可以访问包括Internet在内的外部网络。来自外部网络的任何计算机以及来自主机所连接的物理网络的计算机都无法访问配置为使用 NAT网络模式的虚拟机(类似于配置路由器以从家庭网络访问互联网)。使用NAT 网络模式时,您无法从主机访问访客计算机(除非您在全局 VirtualBox 网络设置中配置端口转发)。内置 VirtualBox NAT 路由器使用 VirtualBox 主机的物理网络接口控制器作为外部网络接口(与 NAT模式的情况相同)。
网络地址和名称可以在全局 VirtualBox 首选项(文件 > 首选项)中更改。在“首选项”窗口的左侧窗格中,选择“网络”以访问全局 VirtualBox 网络设置,然后双击现有的 NAT 网络来编辑设置(您还可以通过单击+或x图标添加新网络或删除现有网络) 。
在出现的小弹出窗口中,还可以启用/禁用 DHCP、IPv6 和配置端口转发。
NatNetwork的默认地址 是10.0.2.0/24。
默认网关 IP 为 10.0.2。1(xxx1模板用于分配默认网关IP)。例如,如果您在VirtualBox中创建一个新的NAT网络模式的虚拟网络,并设置192.168.22.0/24网络地址,则该网络中网关的IP地址将为192.168.22。1.您无法更改NAT 网络模式下使用的网络的网关 IP 地址,也不能更改 DHCP 服务器分配的 IP 地址范围。同样,DHCP服务器的IP地址默认为10.0.2.3(使用xxx3模板)。
屏幕截图中显示了在 VirtualBox 上运行的 Windows 7 虚拟机的 IP 配置,该虚拟机的虚拟网络适配器配置为NAT 网络模式。
如果您不想在 GUI 中编辑 VirtualBox 网络设置,可以使用以下命令通过 VBoxManage 添加新的 NAT 网络:
在哪里:
- natnet1 是 NAT 网络的名称;
- 192.168.22.0/24 是该 NAT 网络的地址。
如果要配置虚拟机网络适配器以便在 VBoxManage 中使用 NAT 网络 模式,请运行以下命令:
在哪里:
- nic1 是第一个虚拟网络适配器(网络接口控制器);
- natnetwork 是 VirtualBox 网络模式的名称。
在应用这些设置之前,您可能需要关闭虚拟机。
为了避免在本文各部分中为 VM 的虚拟网络适配器选择网络模式时使用 VBoxManage 重复相同的命令,请考虑所有可能的 VirtualBox 网络模式的名称:none、 null、nat、natnetwork、bridged、内网、仅主机、通用。
端口转发是可以从此窗口访问和配置的又一个选项。端口转发可用于配置从同一物理网络的主机和其他主机对虚拟机内来宾操作系统上运行的服务的访问(请参阅下面的详细信息)。正如您所看到的, NAT模式和NAT网络模式的端口转发设置在 VirtualBox GUI 中的位置不同。NAT模式的端口转发设置可在VM > 设置 > 网络中找到,而NAT 网络模式的端口转发设置可以在文件 > 首选项 > 网络中进行配置。这是因为NAT模式的端口转发规则对于每个 VM 都是单独的,而NAT 网络模式的端口转发规则对于其适配器连接到相应 NAT 网络的多个 VM 是通用的。请参阅下面的“端口转发”部分中有关配置端口转发的详细信息。
桥接适配器
该模式用于将虚拟机的虚拟网卡连接到VirtualBox主机的物理网卡所连接的物理网络。VM 虚拟网络适配器使用主机网络接口进行网络连接。简而言之,网络数据包直接从虚拟网络适配器发送和接收,无需额外路由。VirtualBox 使用特殊的网络过滤驱动程序实现桥接网络模式,以过滤来自主机物理网络适配器的数据。
此网络模式可用于在必须可从物理局域网完全访问的虚拟机上运行服务器。在 VirtualBox 中使用桥接网络模式时,您可以从虚拟机访问主机、物理网络的主机和外部网络,包括互联网。可以从主机以及连接到物理网络的其他主机(和虚拟机)访问虚拟机。
如果主机上有多个物理网络适配器,则应在 VirtualBox 网络设置中选择正确的适配器。在下面的屏幕截图中,您可以看到两个物理网络适配器 - 以太网适配器和 Wi-Fi 适配器。如果您对无线网络适配器使用桥接模式,则无法在来宾操作系统中使用该 Wi-Fi 适配器的低级功能。例如,您无法选择连接的Wi-Fi网络、启用监控模式等,而是需要连接到主机上的Wi-Fi网络。如果您必须在 VM 的来宾操作系统中使用 Wi-Fi 适配器的所有功能,请使用 USB Wi-Fi 适配器和 USB 直通功能,如有关在 VirtualBox 上安装 Kali Linux 的博客文章中所述。
在VirtualBox中,使用桥接模式时,VM虚拟网卡的IP地址可以与宿主机物理网卡的IP地址属于同一网络。如果您的物理网络中有 DHCP 服务器,则虚拟机的虚拟网络适配器将以桥接模式自动获取 IP 地址(如果在来宾操作系统的网络接口设置中设置了自动获取 IP 地址)。因此,在桥接模式下运行的虚拟网络适配器的默认网关与主机的默认网关相同。让我们看一个带有 IP 地址的简单示例。
物理网络地址:10.10.10.0/24
物理网络默认网关IP地址:10.10.10.1
物理网络中DHCP服务器的IP地址:10.10.10.1
主机IP配置:IP地址 – 10.10.10.72;网络掩码 – 255.255.255.0;默认网关 – 10.10.10.1。
访客机的IP配置:IP地址 – 10.10.10.91;网络掩码 – 255.255.255.0;默认网关 – 10.10.10.1。
有时,您可能会发现物理网络中有多个网关。您可以使用一台主机通过一个网关连接到必要的网络,并使用一台访客计算机通过第二个网关连接到其他网络。您还可以编辑虚拟机上的路由表并添加路由,以便使用两个网关连接到相应的网络。正如您所看到的,桥接网络模式是 VirtualBox 网络设置中的一个强大选项,有很多用例。
混杂模式。此模式允许网络适配器传递所有接收到的流量,无论流量发送到哪个适配器。在正常模式下,网络适配器仅接收包含该特定网络适配器的 MAC 地址作为标头中的目标地址的帧。在正常模式下,寻址到与所选适配器的 MAC 地址不同的 MAC 地址(当流量不是广播时)的帧将被丢弃。混杂模式使物理网络适配器可以拥有多个 MAC 地址,从而允许所有传入流量通过主机的物理网络适配器并到达 VM 的虚拟网络适配器,该虚拟机具有自己的 MAC 地址(表示为主机适配器,即使该流量未发送至该特定 VM 的虚拟网络适配器。
大多数无线网络适配器不支持混杂模式。桥接到 Wi-Fi 适配器的方式如下:VirtualBox 替换必须传送到 VM 虚拟网络适配器的以太网帧标头中的相应 MAC 地址(必须使用主机 Wi-Fi 适配器的 MAC 地址)对于该流量)。混杂模式对于网络测试和安全审计很有用。您可以在 VirtualBox 网络设置中启用混杂模式并使用嗅探器监视网络流量。
使用混杂模式有三种选择。
- 否定。任何不属于 VM 虚拟网络适配器的流量都会对 VM 隐藏。该选项是默认设置的。
- 允许虚拟机。除与其他虚拟机之间传输的流量外,所有流量都对虚拟机网络适配器隐藏。
- 允许全部。该模式没有任何限制。VM 网络适配器可以查看所有传入和传出流量。
混杂模式不仅可以用于桥接网络模式,还可以用于NAT网络、内部网络和Host-Only Adapter模式。
内部网络
其适配器配置为在 VirtualBox内部网络模式下工作的虚拟机连接到隔离的虚拟网络。连接到该网络的虚拟机可以相互通信,但无法与 VirtualBox 主机通信,也无法与物理网络或外部网络中的任何其他主机通信。连接到内部网络的虚拟机无法从主机或任何其他设备访问。VirtualBox内部网络可用于对真实网络进行建模。
例如,您可以创建三个虚拟机,每个虚拟机都有一个连接到内部网络的虚拟网络适配器(适配器1)。这些网络适配器的 IP 地址是根据 VirtualBox 内部网络使用的子网定义的(您应该手动定义子网)。这些VM之一(VM1 )还具有被配置为在NAT模式下操作的第二虚拟网络适配器。VM1配置为路由器(创建路由器的最佳解决方案之一是安装 Linux 并配置 IPTABLES,但在 VirtualBox 网络测试中您第一次可以使用更简单的路由解决方案)。
对于网络适配器仅连接VirtualBox内部网络的VM2和VM3,如果在VM2和VM3的网络设置中将VM1的内部网络适配器的IP地址设置为网关,则可以访问外部网络。
本例中使用的网络配置:
虚拟机1。IP地址 – 192.168.23.1(内网模式);10.0.2.15(NAT模式),网关10.0.2.2(内置VirtualBox NAT设备的IP地址)。
虚拟机2。IP地址 – 192.168.23.2(内部网络),网关 – 192.168.23.1
虚拟机3。IP地址 – 192.168.23.3(内部网络),网关 – 192.168.23.1
VirtualBox内部网络子网:192.168.23.0/24
请参阅下图以更清楚地了解。
注意:您还可以部署此类虚拟基础设施,以便在 IPTABLES 中测试防火墙规则,然后再在实际网络基础设施中实施它们,但在连接到VM1的第二个虚拟网络适配器时,最好使用桥接模式而不是NAT模式。/来自外部网络。
仅主机适配器
该网络模式用于主机和访客之间的通信。VM 可以与连接到仅主机网络的其他 VM 以及主机进行通信。VirtualBox 主机可以访问连接到仅主机网络的所有虚拟机。
VirtualBoxHost-Only虚拟网络适配器是在主机操作系统中创建的,用于仅主机网络。您可以通过转到“文件”>“主机网络管理器”来编辑此 VirtualBox 网络的设置。
在我们的示例中,仅主机网络的默认网络地址是 192.168.56.0/24,主机上虚拟网络适配器的 IP 地址是 192.168.56.1。您可以在“适配器”选项卡中手动编辑这些 IP 地址。可以通过勾选相应的复选框来启用或禁用 DHCP 服务器。在“DHCP 服务器”选项卡中,您可以设置 DHCP 服务器的 IP 地址、网络掩码以及为 DHCP 客户端分配的 IP 地址范围。
VM 的虚拟网络适配器的 IP 配置中没有网关,因为仅主机模式不允许您连接到仅主机网络之外的任何设备。还可以创建多个 VirtualBox 仅主机网络适配器,以便使用不同的仅主机网络 - 只需按“创建”按钮即可。如果不再需要仅主机网络,只需选择适配器并点击删除即可。
通用驱动程序
此网络模式允许您共享通用网络接口。用户可以选择要在扩展包中分发或包含在 VirtualBox 中的适当驱动程序。
VirtualBox 通用驱动程序模式有两种可用的子模式- UDP 隧道和 VDE(虚拟分布式以太网)网络。
UDP 隧道。运行在不同主机上的虚拟机可以使用现有的网络基础设施进行透明通信。
VDE 网络。虚拟机可以连接到 Linux 或 FreeBSD 主机上的虚拟分布式交换机。您需要从源代码编译 VirtualBox 才能使用 VDE 网络,因为标准 VirtualBox 软件包不包含此功能。
VirtualBox网络模式比较
为了方便起见,我们将 VirtualBox 支持的网络模式的所有信息总结在这个表中:
转发端口
端口转发是拦截发送到适当 IP 地址和端口的流量以及将该流量重定向到不同 IP 地址和/或端口的过程。可以在计算机和其他路由器设备上使用特殊应用程序来配置端口转发。端口转发最流行的用例之一是提供从外部网络对隐藏在 NAT 后面的特定网络服务的访问。配置端口转发规则后,客户端可以通过连接到路由器(主机)的外部IP地址和指定端口来从外部访问相应的服务。
数据包首先被路由器上的应用程序拦截,然后应用程序读取相应标头(IP 数据包标头、TCP 或 UDP 段标头)的目标 IP 地址和端口号。如果标头中的目标 IP 地址和/或端口号的组合与端口转发规则中设置的条件匹配,则路由应用程序将重写标头信息(IP 地址和/或端口号)并将数据包/段发送到另一个网络根据端口转发规则进行接口。
默认情况下,VirtualBox 主机和 LAN 中的其他主机无法连接到其网络适配器设置为在NAT或NAT 网络模式下运行的 VirtualBox 虚拟机,但 VirtualBox 提供了内置端口转发功能来启用此类访问。
示例 1 – SSH 访问
现在,我们以连接到运行在 Ubuntu Linux VM 上的 SSH 服务器(通过NAT模式连接到网络)为例,考虑配置端口转发以连接到 VirtualBox VM。您可以在这篇博文中阅读如何在 VirtualBox 上安装 Ubuntu 。
输入数据:
主机IP: 10.10.10.72 (物理网卡)。
Ubuntu虚拟机IP: 10.0.2.15 (NAT模式)
用户名: user1
1. 在Ubuntu虚拟机上安装SSH服务器。
apt-get 安装 openssh-server
2. 编辑SSH 服务器配置文件。
vim /etc/ssh/sshd_config
3. 取消注释用于启用密码身份验证的字符串。
密码验证 是
4. 重新启动 SSH 守护进程(服务)。
/etc/init.d/ssh 重新启动
5. 验证 SSH 服务器是否正常工作,并尝试从本地主机 (Ubuntu VM) 连接到 SSH 服务器。
ssh 用户1@127.0.0.1
6. 如果一切正常,您可以开始在 VirtualBox 中配置端口转发。
您还记得吗,您应该打开 虚拟机设置 并选择 网络 部分。选择配置为在NAT模式下工作的虚拟网络适配器 ,展开 高级 设置并点击 端口转发 按钮。单击 + 图标在虚拟机的 VirtualBox 网络设置中添加新的端口转发规则。
SSH 服务器默认侦听第 22 个 TCP 端口。让我们创建一个规则,允许您将端口 8022 上的 VirtualBox 主机的所有连接转发到 SSH 服务器侦听的端口 22 上的 Ubuntu VM。首先,您可以创建一条规则,仅允许来自 VirtualBox 主机的连接。
姓名 | 协议 | 主机IP | 主机端口 | 访客IP | 访客端口 |
Ubuntu-SSH | 传输控制协议 | 127.0.0.1 | 8022 | 10.0.2.15 | 22 |
VirtualBox GUI 中的端口转发规则窗口视图如下面的屏幕截图所示。
在 VirtualBox 主机上打开 SSH 客户端(例如,如果使用 Windows,则为 PuTTY)并连接到端口 8022 上的 127.0.0.1。
如果您创建类似的端口转发规则,其中 VirtualBox 主机的物理网络适配器的真实 IP 地址为,则物理网络中的其他主机将能够通过端口 8022 连接到 VirtualBox 主机来通过 SSH 访问 Ubuntu VM定义而不是本地主机 IP 地址 (127.0.0.1)。在此示例中,VirtualBox 主机上的物理网卡的 IP 地址是 10.10.10.72。
姓名 | 协议 | 主机IP | 主机端口 | 访客IP | 访客端口 |
Ubuntu-SSH | 传输控制协议 | 10.10.10.72 | 8022 | 10.0.2.15 | 22 |
在 VirtualBox 主机或连接到 LAN 的另一台主机上打开 SSH 客户端,并通过端口 8022 连接到 VirtualBox 主机 IP。
示例 2 – HTTP 访问
如果您想在虚拟机上部署 Web 服务器并提供从外部访问您的网站的权限,您可以添加另一个端口转发规则。让我们考虑如何配置端口转发规则,以便从 VirtualBox 主机和连接到物理局域网 (LAN) 的其他计算机访问部署在 Ubuntu VM 上的网站。在此示例中,Apache 用作 Web 服务器。
首先,在 VirtualBox 上运行的 Ubuntu VM 上安装 Apache。
apt-get 安装 apache2
Ubuntu 中默认禁用ufw防火墙。如果您的 Ubuntu VM 上启用了防火墙,请确保启用对 TCP 80 端口的访问。
安装 Apache 后,在 Ubuntu 虚拟机上打开 Web 浏览器,并在地址栏中输入http://127.0.0.1访问默认 Apache 页面。如果一切正常,您将在 Web 浏览器中看到Apache2 Ubuntu 默认页面。
这意味着现在您可以在 VirtualBox 网络设置中配置端口转发规则,以访问 Ubuntu VM 上托管的网站。转至虚拟机设置 > 网络 > [选择您的适配器] > 端口转发(与上面的解释类似),打开端口转发设置窗口。您可以通过执行以下操作来添加新规则:
姓名 | 协议 | 主机IP | 主机端口 | 访客IP | 访客端口 |
Ubuntu-HTTP80 | 传输控制协议 | 10.10.10.72 | 8080 | 10.0.2.15 | 80 |
在您的主机或连接到物理网络的任何其他计算机上打开 Web 浏览器,然后输入 VirtualBox 主机的 IP 地址以及上面创建的端口转发规则中定义的端口:
http://10.10.10.72:8080
在当前示例中,10.10.10.72是 VirtualBox 主机的 IP 地址,8080是 VirtualBox 主机上侦听的 TCP 端口。配置端口转发的积极结果如下面的屏幕截图所示。
您还可以创建类似的规则来通过 RDP、FTP 和其他协议访问虚拟机。
为其虚拟网络适配器在NAT 网络模式下工作的虚拟机配置端口转发的功能类似(请参阅上面的部分,其中解释了 NAT 网络模式以查找 NAT 网络模式的端口转发设置)。
结论
VirtualBox 是一种功能强大的虚拟化解决方案,非常灵活,并提供广泛的网络设置。每个虚拟机最多可以使用八个虚拟网络适配器,并且每个网络适配器都可以模拟为真实 Intel 和 AMD 网络接口控制器 (NIC) 的适当模型。VirtualBox 网络适配器设置允许您更改每个虚拟网卡的 MAC 地址、插入或拔出虚拟网线以及选择网络模式。设置虚拟网络适配器的网络模式是 VirtualBox 网络设置中最有趣和最重要的部分之一。有六种网络模式,每种模式可用于不同的用例。可以配置端口转发以对网络适配器在 NAT 或 NAT 网络模式下运行的虚拟机进行外部访问。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2022-03-03 Maven"妹问"不是"妈问"