侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

技术  /  管理员 发布于 7年前   327

当你在 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 :


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


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

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

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

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


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

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


配置客户机网络设置

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

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


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

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

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

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

配置客户机网卡连接外网

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

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


为客户机启用网络连接

为客户机设置静态 IP 地址

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

$ ip add


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

  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 配置文件:

$ 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 [email protected]$ who


就写到这里吧!在这篇文章中,我们用简单易懂的方法讲述了如何在宿主机与客户机之间设置网络连接方式。请在下面的评论区跟大家分享下你的想法。也希望大家多多支持。


  • 上一条:
    http自动跳转https的配置方法
    下一条:
    详解HTTP状态码-http状态码有哪些?
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 2024/6/9最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(1个评论)
    • 国外服务器实现api.openai.com反代nginx配置(0个评论)
    • 2024/4/28最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(1个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客