如何在Oracle VirtualBox中配置客户虚拟机和主机之间的网络

在本文中,我们将描述一种在客户虚拟机和oracle virtualbox中的Linux主机之间建立网络的简单方法。

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。 重要 :始终将第一个适配器设置为与主机通信,第二个适配器设置为连接到Internet。

为客人和主机创建网络

在下面的Virtualbox管理器界面中,首先创建一个主机和guest虚拟机操作的网络。 转到文件 - > 首选项Ctrl + G
Virtualbox首选项窗口

Virtualbox首选项窗口

从以下界面,有两个选项;选择仅主机网络 ,单击它。 然后使用右侧的+号添加新的仅主机模式网络。
设置访客网络

设置访客网络

下面是一个屏幕截图,显示一个新的仅主机网络已创建名为vboxnet0
Virtualbox首选项窗口

Virtualbox首选项窗口

如果需要,您可以通过使用中间的-按钮删除它,并查看网络详细信息/设置,点击编辑按钮。 您也可以根据您的偏好更改值,如网络地址,网络掩码等。 注意 :以下接口中的IPv4地址是主机的IP地址。
主机网络详细信息

主机网络详细信息

在下一个界面中,您可以配置DHCP服务器,如果您希望客机使用动态IP地址(请确保在使用动态IP地址之前启用)。 但我建议为虚拟机使用静态IP地址 。 现在点击下面的所有网络设置界面上的确定保存更改。
设置来宾静态IP地址

设置来宾静态IP地址

配置虚拟机网络设置

注意 :对于要在网络上添加以与主机通信的每个虚拟机,可以按照以下步骤操作。 回到虚拟框管理器界面,选择客户虚拟机,如Ubuntu 16.10服务器或CentOS 7 ,然后点击设置菜单。
配置虚拟机设置

配置虚拟机设置

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

从上面的界面中选择网络选项。 然后,使用以下设置配置第一个网卡( 适配器1 ):
  1. 检查选项:“ 启用网络适配器 ”将其打开。
  2. 在附加到:选择仅主机适配器的字段中
  3. 然后选择网络的名称: vboxnet0
如下面的屏幕截图所示,然后单击“确定”保存设置:
为访客VM启用网络适配器

为访客VM启用网络适配器

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

然后添加第二个网卡( 适配器2 ),通过主机将虚拟机连接到Internet。使用以下设置:
  1. 检查选项:“ 启用网络适配器 ”以激活它。
  2. 在附加到:选择NAT
为虚拟机启用网络适配器

为虚拟机启用网络适配器

为访客虚拟机设置静态IP地址

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

配置虚拟机的静态IP地址

在上面的屏幕截图中,您可以看到在虚拟机上启用了三个接口:
  1. lo -loopback接口
  2. enp0s3 (适配器1) - 用于仅使用前面步骤之一中设置的DHCP的主机通信,后面使用静态IP地址配置。
  3. enp0s8 (适配器2) - 用于连接到Internet。它将默认使用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 7192.168.56.10 )服务器:
$ ssh howtoing@192.168.56.10
$ who
使用SSH连接guest虚拟机

使用SSH连接guest虚拟机

而已!在这篇文章中,我们描述了一种在访客虚拟机和主机之间建立网络的简单方法。请使用下面的反馈部分分享您对本教程的看法。