如何配置 VirtualBox 中的客户机与宿主机之间的网络连接
如何配置 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
要求
- 宿主机上安装的 VirtualBox 虚拟机 能正常使用。
- 你得事先在 Oracle virtualBox 虚拟机软件中安装好客户机操作系统,比如 Ubuntu、Fedora、CentOS、 Linux Mint 或者其它的 Linux 系统也行。
- 在你配置网络前,请先关闭客户机。
为了让宿主机和客户机能够互相联通,这两个机器的默认网卡 IP 必须设置在同一网段,你可以为客户机添加多达 4 块网卡。
默认网卡(网卡 1)通常用于使用 NAT 连接方式连接到宿主机进行上网。
重要提示:通常总是设置第一块网卡与宿主机通信,第二块网卡连接到外网。
为客户机和宿主机创建网卡
在下面的 VirtualBox 管理器界面,创建客户机和宿主机之间的通信网卡。
打开文件->首选项配置,或者使用组合键 Ctrl + G :

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

设置客户机网络
这样就创建好了一个名为 vboxnet0 的新的仅主机模式网卡。
如果你愿意,你可以使用中间的 - 按钮来删除这个网卡,你可以单击编辑按钮来查看这个网卡的详细配置信息。
你也可以根据自己的实际环境修改配置信息,比如网络地址,子网掩码等等。
注意:下图中的 IPv4 地址就是你的宿主机的 IP 地址。

宿主机网络信息
下图中,如果你想让客户机使用动态 IP 地址,你可以通过配置 DHCP 服务来完成(在使用前请确保启用 DHCP )。但是我建议你为客户机配置一个静态 IP 地址。
在下面的设置所有网络界面单击 OK 按钮来保存修改的配置。

为客户机设置静态 IP 地址
配置客户机网络设置
注意:你可以根据下面的步骤来为任何需要与宿主机通信的客户机添加网卡。
回到 VirtualBox 管理器界面,选择客户机,比如 Ubuntu 16.10 Server 或者 CentOS 7 ,然后单击设置菜单。

配置客户机网络设置
配置客户机网卡以连接到宿主机
从下图的界面中选择网络选项。然后配置第一块网卡( 网卡 1 )的信息如下:
- 勾选选项:“启用网卡”来开启该网卡。
- 在连接方式选项:选择仅主机( Host-only )网络。
- 然后选择网卡名称:vboxnet0
如下图所示,单击 OK 来保存设置:

启用客户机网络
配置客户机网卡连接外网
之后添加第二块网卡(网卡 2 )来让客户机连接到宿主机进行上网。使用下面的设置:
- 勾选选项:“启用网络连接”来激活这块网卡。
- 在连接方式选项:选择 NAT 方式。

Enable Network Adapter for VM
为客户机启用网络连接
为客户机设置静态 IP 地址
启动客户机,登录系统并配置静态 IP 地址。在客户机上执行下面的命令来查看所有网卡配置信息,然后分配一个 IP 地址:
$ ip add

为客户机配置静态 IP 地址
从上面的截图中可以看出客户机已启用了三块网卡:
lo——回环网络接口enp0s3(网卡 1)—— 前一步我们配置的连接方式为仅主机( Host-Only)模式并且已启用 DHCP 的网卡,之后我们又配置成了静态 IP 地址。enp0s8(网卡 2)—— 用于连接到外网。该网卡默认情况下使用 DHCP 来动态获取 IP 地址。
在 Debian/Ubuntu/Linux Mint 系统下的配置
重要提示: 这里我使用的是 Ubuntu 16.10 Server , IP 地址为 192.168.56.5 。
使用你喜欢的编辑器及管理员账号打开 /etc/network/interfaces 配置文件:
$ sudo vi /etc/network/interfaces
修改网卡 enp0s3 的配置信息如下(根据你的实际环境进行修改):
auto enp0s3iface enp0s3 inet staticaddress 192.168.56.5network 192.168.56.0netmask 255.255.255.0gateway 192.168.56.1dns-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=staticONBOOT=yesIPADDR=192.168.56.10NETWORK=192.168.56.0NETMASK=255.255.255.0GATEWAY=192.168.56.1DNS=8.8.8.8 192.168.56.1NM_CONTROLLED=no #use this file not network manager to manage interface
保存并退出。然后使用下面的命令重启网络服务(也可以重启系统):
$ sudo systemctl restart network.service
检查修改的配置地信息是否生效:
$ ip add
在宿主机上使用 SSH 工具来管理客户机
在宿主机上使用 SSH 工具来管理你的客户机。在下面的实例中,我将使用 SSH 工具连接到 CentOS 7 服务器(192.168.56.10):
$ ssh tecmint@192.168.56.10$ who

使用 SSH 工具连接客户机
就写到这里吧!在这篇文章中,我们用简单易懂的方法讲述了如何在宿主机与客户机之间设置网络连接方式。请在下面的评论区跟大家分享下你的想法。
作者简介:
Aaron Kili 是一名 Linux 和 F.O.S.S 爱好者,即将从事 Linux 系统管理员和网页开发工作,他日前是 TecMint 技术网站的原创作者,非常喜欢使用电脑工作,坚信分享知识是一种美德。
via: http://www.tecmint.com/network-between-guest-vm-and-host-virtualbox/
作者:Aaron Kili 译者:rusking 校对:Bestony
如何配置 VirtualBox 中的客户机与宿主机之间的网络连接的更多相关文章
- 如何配置 Oracle VirtualBox 中的客户机与物理机网络
当你在 Oracle VirtualBox 虚拟机软件 中安装了各种操作系统时,你可能需要实现物理机与虚拟机之间的相互访问. 在这篇文章中,我们将会以最简单明了的方式来说明如何配置客户机与 Linux ...
- virtual box 中两个虚拟机 、宿主机 三机互通并且能上外网设置
virtual box 中两个虚拟机 .宿主机 三机互通并且能上外网设置 1:背景:因为需要学习linux,所以需要在虚拟机里装linux系统,测试要么宿主机与虚拟机linux网络实验测试:要么另一台 ...
- 同步docker中的容器时间和宿主机相同
同步docker中的容器时间和宿主机相同.cd /etc/ 在容器中修改下/etc/localtime文件的名称,避免冲突. mv localtime localtime_bak cp /usr/sh ...
- 【转】【教程】实现Virtualbox中的XP虚拟机和主机Win7之间的共享文件夹
原文网址:http://www.crifan.com/add_share_folder_for_virtualbox_guest_xp_and_host_win7/ 已经实现了在主机Win7下,在Vi ...
- Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信
因为单位网络管理的原因,不太方便使用 Virtualbox 的Bridge Adapter 模式,故此欲采用NAT模式,不对外不暴露虚拟机IP. 但是此时会有一个问题:采用NAT模式后,在通常情况下, ...
- virtualbox通过Nat模式上网,宿主机与宿主机互通
本地搭建virtualbox,开始用的nat转发模式,这样的话宿主机没法访问虚拟机里面的服务.比如nginx网站.这样很不方便 . 在网上找了好久,终于找到了方案.那就是再添加一块虚拟网卡. 在虚拟机 ...
- 在Linux客户机与Windows宿主机之间建立共享(VitrualBox)
VirtualBox中,如果客户机和宿主机都是Windows的话,共享相对是比较方便的.一般是通过\\vboxsvr\shared 这样的路径访问即可. 但是如果客户机是Linux的话,就略微麻烦一点 ...
- VirtualBox:启动虚拟机后计算机死机
造冰箱的大熊猫@cnblogs 2018/2/21 故障描述:Ubuntu 16.04升级Linux内核后,在VirtualBox中启动虚拟机发现Ubuntu死机,只能通过长按电源开关硬关机的方式关闭 ...
- 在 VirtualBox 中 CentOS 网络设置
转自:本文发表于水景一页.永久链接:<http://cnzhx.net/blog/minimal-centos-in-virtualbox/>.转载请保留此信息及相应链接. 4. 设置¶ ...
随机推荐
- 一份数据分析学习清单.xls
今天给大家整理一份数据分析的学习清单,打算了解学习这方面的同学可以看看,基本上大的需要学习的点都有涉及:具体细节知识的学习建议大家亲自去动手制作思维导图,自己动手梳理知识脉络. 上期入口:18个堪称神 ...
- java - day019 - 数据库
https://www.cnblogs.com/myxq666/p/7787744.html Mac 安装MySQL步骤 什么是数据库 数据库: 英文名称Database ,简称 DB 数据库是按照数 ...
- HttpReader
头文件: #pragma once #include <afxinet.h> class CSF_HttpDataReader { public: CSF_HttpDataReader(v ...
- [ZJOI2009] 硬币游戏(找规律)
题目 洛谷传送门 题解 把1/21/21/2转化成0/10/10/1,所以直接可以异或. 对于长度为nnn的0/10/10/1数列,发现每变换2k(k>1)2^k(k>1)2k(k> ...
- [Cypress] install, configure, and script Cypress for JavaScript web applications -- part5
Use the Most Robust Selector for Cypress Tests Which selectors your choose for your tests matter, a ...
- 002_软件安装之_keil4与keil5共存
目的:实现keil4和keil5的共存 1. Keil4 主要用来开发 C51 程序 2. Keil5 也就是 MDK 主要用来开发 ARM 芯片,如 STM32 系列芯片 3. 资料下载地址:链接: ...
- ACWing P372 棋盘覆盖 题解
Analysis 这是一个经典的二分图问题,我们将图进行奇偶染色,注意边界条件的判断.再跑一遍匈牙利算法就行了,跟上一题很像. #include<iostream> #include< ...
- HTML5中table标签与form标签的区别
html中form表示一个表单,用来把一系列的控件包围起来,然后再统一发送这些数据到目标,比如最常见的注册,你说需要填写的资料,都是被封装在form里的,填写完毕后,提交form内的内容,如果不再fo ...
- java+web+下载断点续传
1.先将 webuploader-0.1.5.zip 这个文件下载下来:https://github.com/fex-team/webuploader/releases 根据个人的需求放置自己需要的 ...
- [Luogu] 运输问题 -- 00
https://www.luogu.org/problemnew/show/4015 #include <bits/stdc++.h> #define gc getchar() using ...