如何配置 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. 设置¶ ...
随机推荐
- Computer Vision_33_SIFT:An Improved RANSAC based on the Scale Variation Homogeneity——2016
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...
- C#-MailHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 用js刷剑指offer(复杂链表的复制)
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否 ...
- python中函数的定义、返回值以及参数的简要介绍
一. 1.函数 定义:def关键字开头,空格之后接函数名称和圆括号(),后面紧跟‘:”. 函数是对功能的封装 语法: def 函数名(形参列表): 函数体(代码块,return) 调用: 函数名(实参 ...
- JavaScript常用类库推荐
Axios Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 [中文说明], [Github], [教程] Lodash 一致性.模块化.高性能的 Jav ...
- python基础--文件控制
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- Find Peak Element II
Description Given an integer matrix A which has the following features : The numbers in adjacent pos ...
- 01_第一次如何上传GitHub(转)Updates were rejected because the tip of your current branch is behind
https://www.cnblogs.com/code-changeworld/p/4779145.html 刚创建的github版本库,在push代码时出错: $ git push -u orig ...
- 06_Tutorial 6: ViewSets & Routers 视图集与路由器
1.Tutorial 6: ViewSets & Routers 视图集与路由器 0.文档 https://q1mi.github.io/Django-REST-framework-docum ...
- sysobjects统计数据库的各类结构数据
概要: 查询表.以及表中的行数 SELECT a.name,b.rows FROM sysobjects a INNER JOIN sysindexes b ON a.id=b.id WHERE a. ...