如何配置 VirtualBox 中的客户机与宿主机之间的网络连接

简介:

当你在 VirtualBox 虚拟机软件 中安装了各种操作系统时,你可能需要实现宿主机与虚拟机之间的相互访问。

在这篇文章中,我们将会以最简单明了的方式来说明如何配置客户机与 Linux 宿主机的网络,以实现两者相互访问或者让客户机连接到外网。(LCTT 译注:客户机指 Oracle VirtualBox 虚拟机软件中安装的操作系统,如本文中用到的 CentOS 7 和 Ubuntu 16.10 。宿主机就是你自己的笔记本电脑或台式机,注意这篇文章中作者的宿主机上安装的操作系统是 Linux Mint 18 ,而不是我们平时使用的 Windows 系统。)

本文测试环境: 1、宿主机操作系统—— Linux Mint 18 2、客户机操作系统—— CentOS 7 和 Ubuntu 16.10

要求

  1. 宿主机上安装的  VirtualBox 虚拟机 能正常使用。
  2. 你得事先在 Oracle virtualBox 虚拟机软件中安装好客户机操作系统,比如 Ubuntu、Fedora、CentOS、 Linux Mint 或者其它的 Linux 系统也行。
  3. 在你配置网络前,请先关闭客户机。

为了让宿主机和客户机能够互相联通,这两个机器的默认网卡 IP 必须设置在同一网段,你可以为客户机添加多达 4 块网卡。

默认网卡(网卡 1)通常用于使用 NAT 连接方式连接到宿主机进行上网。

重要提示:通常总是设置第一块网卡与宿主机通信,第二块网卡连接到外网。

为客户机和宿主机创建网卡

在下面的 VirtualBox 管理器界面,创建客户机和宿主机之间的通信网卡。

打开文件->首选项配置,或者使用组合键 Ctrl + G :

Virtualbox 首选项界面

Virtualbox 首选项界面

在下图中有两个选项,单击并选择仅主机Host-only网络。然后使用右侧的 + 按钮来添加一个新的仅主机网络。

设置客户机网络

设置客户机网络

这样就创建好了一个名为 vboxnet0 的新的仅主机模式网卡。

如果你愿意,你可以使用中间的 - 按钮来删除这个网卡,你可以单击编辑按钮来查看这个网卡的详细配置信息。

你也可以根据自己的实际环境修改配置信息,比如网络地址,子网掩码等等。

注意:下图中的 IPv4 地址就是你的宿主机的 IP 地址。

宿主机网络信息

宿主机网络信息

下图中,如果你想让客户机使用动态 IP 地址,你可以通过配置 DHCP 服务来完成(在使用前请确保启用 DHCP )。但是我建议你为客户机配置一个静态 IP 地址。

在下面的设置所有网络界面单击 OK 按钮来保存修改的配置。

为客户机设置静态 IP 地址

为客户机设置静态 IP 地址

配置客户机网络设置

注意:你可以根据下面的步骤来为任何需要与宿主机通信的客户机添加网卡。

回到 VirtualBox 管理器界面,选择客户机,比如  Ubuntu 16.10 Server 或者 CentOS 7 ,然后单击设置菜单。

配置客户机网络设置

配置客户机网络设置

配置客户机网卡以连接到宿主机

从下图的界面中选择网络选项。然后配置第一块网卡( 网卡 1 )的信息如下:

  1. 勾选选项:“启用网卡”来开启该网卡。
  2. 在连接方式选项:选择仅主机Host-only网络。
  3. 然后选择网卡名称:vboxnet0

如下图所示,单击 OK 来保存设置:

启用客户机网络

启用客户机网络

配置客户机网卡连接外网

之后添加第二块网卡(网卡 2 )来让客户机连接到宿主机进行上网。使用下面的设置:

  1. 勾选选项:“启用网络连接”来激活这块网卡。
  2. 在连接方式选项:选择 NAT 方式。

Enable Network Adapter for VM

Enable Network Adapter for VM

为客户机启用网络连接

为客户机设置静态 IP 地址

启动客户机,登录系统并配置静态 IP 地址。在客户机上执行下面的命令来查看所有网卡配置信息,然后分配一个 IP 地址:

 
  1. $ ip add

为客户机配置静态 IP 地址

为客户机配置静态 IP 地址

从上面的截图中可以看出客户机已启用了三块网卡:

  1. lo ——回环网络接口
  2. enp0s3 (网卡 1)—— 前一步我们配置的连接方式为仅主机Host-Only模式并且已启用 DHCP 的网卡,之后我们又配置成了静态 IP 地址。
  3. enp0s8 (网卡 2)—— 用于连接到外网。该网卡默认情况下使用 DHCP 来动态获取 IP 地址。
在 Debian/Ubuntu/Linux Mint 系统下的配置

重要提示: 这里我使用的是 Ubuntu 16.10 Server , IP 地址为 192.168.56.5 。

使用你喜欢的编辑器及管理员账号打开 /etc/network/interfaces 配置文件:

 
  1. $ sudo vi /etc/network/interfaces

修改网卡 enp0s3 的配置信息如下(根据你的实际环境进行修改):

 
  1. auto enp0s3
  2. iface enp0s3 inet static
  3. address 192.168.56.5
  4. network 192.168.56.0
  5. netmask 255.255.255.0
  6. gateway 192.168.56.1
  7. dns-nameservers 8.8.8.8 192.168.56.1

保存并退出。

然后使用下面的命令来重启网络服务:

 
  1. $ sudo systemctl restart networking

或者,正常重启系统,然后检查网络配置是否为新的 IP 地址:

 
  1. $ ip add
在 RHEL/CentOS/Fedora 系统下的配置

重要提示: 这里我使用的是 CentOS 7 系统, IP 地址为: 192.168.56.10 。

使用管理员帐号及你喜欢的编辑器打开 enp0s3 (仅主机网络)的网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3 :

 
  1. $ sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

创建或修改配置文件信息如下(根据你实际的环境进行修改):

 
  1. BOOTPROTO=static
  2. ONBOOT=yes
  3. IPADDR=192.168.56.10
  4. NETWORK=192.168.56.0
  5. NETMASK=255.255.255.0
  6. GATEWAY=192.168.56.1
  7. DNS=8.8.8.8 192.168.56.1
  8. NM_CONTROLLED=no #use this file not network manager to manage interface

保存并退出。然后使用下面的命令重启网络服务(也可以重启系统):

 
  1. $ sudo systemctl restart network.service

检查修改的配置地信息是否生效:

 
  1. $ ip add

在宿主机上使用 SSH 工具来管理客户机

在宿主机上使用 SSH 工具来管理你的客户机。在下面的实例中,我将使用 SSH 工具连接到 CentOS 7 服务器(192.168.56.10):

 
  1. $ ssh tecmint@192.168.56.10
  2. $ who

使用 SSH 工具连接客户机

使用 SSH 工具连接客户机

原文发布时间为:2017-03-01

本文来自云栖社区合作伙伴“Linux中国”

相关文章
|
13天前
|
运维 监控 安全
网络管理:防火墙和安全组配置详解
网络管理:防火墙和安全组配置详解
29 1
|
1月前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
50 3
|
1月前
|
Ubuntu
树莓派 —— ubuntu上通过netplan配置网络
树莓派 —— ubuntu上通过netplan配置网络
|
2月前
|
网络协议 Ubuntu Linux
在Linux中,如何配置网络?
在Linux中,如何配置网络?
|
29天前
|
域名解析 负载均衡 网络协议
Linux网络接口配置不当所带来的影响
总而言之,Linux网络接口的恰当配置是保证网络稳定性、性能和安全性的基础。通过遵循最佳实践和定期维护,可以最大程度地减少配置错误带来的负面影响。
67 0
|
1月前
|
监控 安全 网络安全
|
2月前
|
缓存 负载均衡 网络协议
Haskell网络编程:深入理解代理和TLS配置
Haskell网络编程:深入理解代理和TLS配置
|
2月前
|
监控 网络协议 网络安全
配置OSPF身份验证以增强网络安全防护
【8月更文挑战第24天】
35 0
|
2月前
|
网络协议 微服务
【Azure 微服务】基于已经存在的虚拟网络(VNET)及子网创建新的Service Fabric并且为所有节点配置自定义DNS服务
【Azure 微服务】基于已经存在的虚拟网络(VNET)及子网创建新的Service Fabric并且为所有节点配置自定义DNS服务
|
2月前
|
网络协议 Linux KVM
在Linux中,如何配置网络桥接?
在Linux中,如何配置网络桥接?
下一篇
无影云桌面