如何在 Oracle VirtualBox 中配置来宾 VM 和主机之间的网络
在 Oracle VirtualBox 中安装不同的操作系统后,您可能希望启用主机和虚拟机之间的通信。
在本文中,我们将描述在 Linux 中为来宾虚拟机和主机设置网络的最简单直接的方法。
出于本教程的目的:
- 主机操作系统 – Linux Mint 18
- 虚拟机操作系统 – CentOS 7 和 Ubuntu 16.10
要求
- 安装在主机上的工作 Oracle Virtualbox。
- 您必须已在 Oracle 虚拟机中安装了来宾操作系统,例如 Ubuntu、Fedora、CentOS、Linux Mint 或您选择的任何操作系统。
- 当您执行配置直至需要打开虚拟机的步骤时,请关闭虚拟机。
为了使来宾计算机和主机计算机能够进行通信,它们需要位于同一网络上,并且默认情况下,您最多可以将四个网卡连接到来宾计算机。
默认网卡(适配器 1)通常用于通过主机使用 NAT 将访客计算机连接到 Internet。
重要:始终将第一个适配器设置为与主机通信,将第二个适配器设置为连接到互联网。
为访客和主机创建网络
在下面的 Virtualbox 管理器界面中,首先创建主机和来宾将在其上运行的网络。
转到文件 –> 首选项或按Ctrl + G
:
从下面的界面中,有两个选项;单击选择仅主机网络。然后使用右侧的 +
符号添加新的仅主机网络。
下面的屏幕截图显示已创建一个名为 vboxnet0 的新的仅主机网络。
如果需要,您可以使用中间的 -
按钮将其删除,并单击编辑按钮查看网络详细信息/设置。
您也可以根据自己的喜好更改这些值,例如网络地址、网络掩码等。
注意:下面界面中的IPv4地址是您主机的IP地址。
在下一个界面中,您可以配置 DHCP 服务器,即如果您希望访客计算机使用动态 IP 地址(请确保在使用之前已启用它)。但我建议为虚拟机使用静态 IP 地址。
现在,在下面的所有网络设置界面上单击确定以保存更改。
配置虚拟机网络设置
注意:对于要添加到网络上与主机通信的每个虚拟机,您可以按照以下步骤操作。
返回虚拟盒管理器界面,选择您的来宾虚拟机,例如 Ubuntu 16.10 服务器或 CentOS 7,然后单击设置菜单。
配置适配器以将虚拟机连接到主机
从上面的界面中选择网络选项。然后,使用以下设置配置第一个网卡(适配器 1):
- 选中选项:“启用网络适配器”将其打开。
- 在“附加到”字段中:选择仅主机适配器
- 然后选择网络名称:vboxnet0
如下图所示,点击确定保存设置:
配置适配器以将虚拟机连接到 Internet
然后添加第二块网卡(适配器 2)以通过主机将虚拟机连接到 Internet。使用以下设置:
- 选中选项:“启用网络适配器”将其激活。
- 在“附加到”字段中:选择NAT
为来宾虚拟机设置静态 IP 地址
在此阶段,打开来宾虚拟机电源,登录并配置静态IP地址。运行以下命令以显示来宾计算机上的所有接口和分配的 IP 地址:
ip add
从上面的屏幕截图中,您可以看到虚拟机上启用了三个接口:
lo
– 环回接口enp0s3
(适配器 1) - 用于仅主机通信,该通信使用前面步骤之一中设置的 DHCP,并在稍后配置静态 IP 地址。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
就是这样!在这篇文章中,我们描述了一种在来宾虚拟机和主机之间设置网络的简单方法。请使用下面的反馈部分分享您对本教程的想法。