网站搜索

如何在 Oracle VirtualBox 中配置来宾 VM 和主机之间的网络


在 Oracle VirtualBox 中安装不同的操作系统后,您可能希望启用主机和虚拟机之间的通信。

在本文中,我们将描述在 Linux 中为来宾虚拟机和主机设置网络的最简单直接的方法。

出于本教程的目的:

  1. 主机操作系统 – Linux Mint 18
  2. 虚拟机操作系统 – CentOS 7Ubuntu 16.10

要求

  1. 安装在主机上的工作 Oracle Virtualbox。
  2. 您必须已在 Oracle 虚拟机中安装了来宾操作系统,例如 Ubuntu、Fedora、CentOS、Linux Mint 或您选择的任何操作系统。
  3. 当您执行配置直至需要打开虚拟机的步骤时,请关闭虚拟机。

为了使来宾计算机和主机计算机能够进行通信,它们需要位于同一网络上,并且默认情况下,您最多可以将四个网卡连接到来宾计算机。

默认网卡(适配器 1)通常用于通过主机使用 NAT 将访客计算机连接到 Internet。

重要:始终将第一个适配器设置为与主机通信,将第二个适配器设置为连接到互联网。

为访客和主机创建网络

在下面的 Virtualbox 管理器界面中,首先创建主机和来宾将在其上运行的网络。

转到文件 –> 首选项或按Ctrl + G

从下面的界面中,有两个选项;单击选择仅主机网络。然后使用右侧的 + 符号添加新的仅主机网络。

下面的屏幕截图显示已创建一个名为 vboxnet0 的新的仅主机网络。

如果需要,您可以使用中间的 - 按钮将其删除,并单击编辑按钮查看网络详细信息/设置。

您也可以根据自己的喜好更改这些值,例如网络地址、网络掩码等。

注意:下面界面中的IPv4地址是您主机的IP地址。

在下一个界面中,您可以配置 DHCP 服务器,即如果您希望访客计算机使用动态 IP 地址(请确保在使用之前已启用它)。但我建议为虚拟机使用静态 IP 地址

现在,在下面的所有网络设置界面上单击确定以保存更改。

配置虚拟机网络设置

注意:对于要添加到网络上与主机通信的每个虚拟机,您可以按照以下步骤操作。

返回虚拟盒管理器界面,选择您的来宾虚拟机,例如 Ubuntu 16.10 服务器或 CentOS 7,然后单击设置菜单。

配置适配器以将虚拟机连接到主机

从上面的界面中选择网络选项。然后,使用以下设置配置第一个网卡(适配器 1):

  1. 选中选项:“启用网络适配器”将其打开。
  2. 在“附加到”字段中:选择仅主机适配器
  3. 然后选择网络名称:vboxnet0

如下图所示,点击确定保存设置:

配置适配器以将虚拟机连接到 Internet

然后添加第二块网卡(适配器 2)以通过主机将虚拟机连接到 Internet。使用以下设置:

  1. 选中选项:“启用网络适配器”将其激活。
  2. 在“附加到”字段中:选择NAT

为来宾虚拟机设置静态 IP 地址

在此阶段,打开来宾虚拟机电源,登录并配置静态IP地址。运行以下命令以显示来宾计算机上的所有接口和分配的 IP 地址:

ip add

从上面的屏幕截图中,您可以看到虚拟机上启用了三个接口:

  1. lo – 环回接口
  2. enp0s3(适配器 1) - 用于仅主机通信,该通信使用前面步骤之一中设置的 DHCP,并在稍后配置静态 IP 地址。
  3. enp0s8(适配器 2)- 用于连接到互联网。默认情况下它将使用 DHCP。
在 Debian/Ubuntu/Linux Mint 上

重要:这里,我使用Ubuntu 16.10服务器:IP地址:192.168.56.5

使用您最喜欢的具有超级用户权限的编辑器打开文件 /etc/network/interfaces

sudo vi /etc/network/interfaces

对接口 enp0s3 使用以下设置(在此处使用您的首选值):

auto  enp0s3
iface enp0s3 inet static
address  192.168.56.5
network  192.168.56.0
netmask  255.255.255.0
gateway  192.168.56.1
dns-nameservers  8.8.8.8  192.168.56.1

保存文件并退出。

然后重新启动网络服务,如下所示:

sudo systemctl restart networking

或者,重新启动系统并仔细检查接口是否正在使用新的 IP 地址:

ip add
在 RHEL/CentOS/Fedora 上

重要:在本节中,我使用 CentOS 7:IP 地址:192.168.56.10

首先打开 enp0s3 文件——仅主机网络接口; /etc/sysconfig/network-scripts/ifcfg-enp0s3 使用您最喜欢的具有超级用户权限的编辑器:

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

创建/修改以下设置(在此处使用您的首选值):

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.56.10
NETWORK=192.168.56.0
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS=8.8.8.8 192.168.56.1
NM_CONTROLLED=no     #use this file not network manager to manage interface

保存文件并退出。然后按如下方式重新启动网络服务(也可以重新启动):

sudo systemctl restart network.service 

检查接口是否使用新的 IP 地址,如下所示:

ip add

使用 SSH 从主机管理虚拟机

在主机上,使用 SSH 来管理虚拟机。在以下示例中,我使用 SSH 访问 CentOS 7 (192.168.56.10) 服务器:

ssh [email 
who

就是这样!在这篇文章中,我们描述了一种在来宾虚拟机和主机之间设置网络的简单方法。请使用下面的反馈部分分享您对本教程的想法。