本文以VirtualBox为例

如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭。

一、NAT模式

特点:

1、如果主机可以上网,虚拟机可以上网

2、虚拟机之间不能ping通

3、虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机)

4、主机不能ping通虚拟机

应用场景:

虚拟机只要求可以上网,无其它特殊要求,满足最一般需求

配置方法:

连接方式 选择 网络地址转换(NAT)

高级-控制芯片 选择 PCnet-FAST III

高级-混杂模式 拒绝

高级-接入网线 √

(虚拟机ip自动获取)

ip样式:

ip 10.0.2.15

网关 10.0.2.2

注意此处的网关在不同虚拟机中可能是同一个值,但是这归属于不同的NAT Engine,因此实际上各个虚拟机用的不是同一个网关

 原理:

虚拟机的请求传递给NAT Engine,由它来利用主机进行对外的网络访问,返回的数据包再由NAT Engine给虚拟机。

二、Bridged Adapter模式(桥接模式)

特点:

1、如果主机可以上网,虚拟机可以上网

2、虚拟机之间可以ping通

3、虚拟机可以ping通主机

4、主机可以ping通虚拟机

以上各点基于一个前提:主机可以上网

5、如果主机不可以上网,所有1-4特点均无

 应用场景:

虚拟机要求可以上网,且虚拟机完全模拟一台实体机

配置方法:

连接方式 选择 桥接网卡

界面名称 选择 (如果你的笔记本有无线网卡和有线网卡,需要根据现在的上网方式对应选择)

高级-控制芯片 选择 PCnet-FAST III

高级-混杂模式 拒绝

高级-接入网线 √

(虚拟机ip自动获取)

ip样式:

ip 与本机ip在同一网段内

网关 与本机网关相同

 原理:

通过主机网卡,架设一条桥,直接连入到网络中。它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和

在网络中的真实机器一样。

(虚拟机是通过主机所在网络中的DHCP服务得到ip地址的,所以按理来说,两者是完全独立的,但事实却是虚拟机是没

有独立硬件的,它还是要依靠主机的网卡,因此,主机要断开网络,虚拟机也就没法拿到ip了,所以呵呵~~所有特点全

消失咯)

 三、Host-only Adapter模式

特点:

1、虚拟机不可以上网

2、虚拟机之间可以ping通

3、虚拟机可以ping通主机(注意虚拟机与主机通信是通过主机的名为VirtualBox Host-Only Network的网卡,因此ip是该网卡ip 192.168.56.1,而不是你现在正在上网所用的ip)

4、主机可以ping通虚拟机

 应用场景:

在主机无法上网的情况下(主机可以上网的情况下可以用host-only,也可以用桥接),需要搭建一个模拟局域网,所有机器可以互访

配置方法:

连接方式 选择 仅主机(Host-Only)适配器

界面名称 选择 VirtualBox Host-Only Ethernet Adapter

高级-控制芯片 选择 PCnet-FAST III

高级-混杂模式 拒绝

高级-接入网线 √
(虚拟机ip自动获取,也可以自己进行配置,网关配置为主机中虚拟网卡的地址【默认为192.168.56.1】,ip配置为与虚拟网卡地址同网段地址)

ip样式:

ip 与本机VirtualBox Host-Only Network的网卡ip在同一网段内(默认192.168.56.*)

网关  本机VirtualBox Host-Only Network的网卡ip(默认192.168.56.1)

 原理:

通过VirtualBox Host-Only Network网卡进行通信,虚拟机以此ip作为网关,因此模拟了一个本机与各个虚拟机的局域网,如名称所指,

应该是无法上网的(但是有人说可以通过对VirtualBox Host-Only Network网卡进行桥接等操作使虚拟机可以上网,但如此就不如直接

采用桥接来的容易了,而且,呵呵,我没试成功,有的人也说不可以,因为主机不提供路由服务,我也不好乱说到底行不行,你自己试吧~~)

四、Internal模式(内网模式)

特点:

1、虚拟机不可以上网

2、虚拟机之间可以ping通

3、虚拟机不能ping通主机

4、主机不能ping通虚拟机

 应用场景:

让各台虚拟机处于隔离的局域网内,只让它们相互通信,与外界(包括主机)隔绝

配置方法:

连接方式 选择 内部网络

界面名称 选择 intnet(可以重新命名,所有放在同一局域网内的虚拟机此名称相同)

高级-控制芯片 选择 PCnet-FAST III

高级-混杂模式 拒绝

高级-接入网线 √
(虚拟机ip:对于XP自动获取ip即可,但对于linux,必须手动配置ip和子网掩码,手动配置时需保证各个虚拟机ip在同一网段)

ip样式:

ip 169.254.147.9

子网掩码 255.255.0.0

默认网关 无

原理:

各个虚拟机利用VirtualBox内置的DHCP服务器得到ip,数据包传递不经过主机所在网络,因此安全性高,防止外部抓包~

五、NAT模式+端口映射

将虚拟机某端口映射到主机某端口,可以使主机和外部机器访问虚拟机提供的服务哦~~

命令如下:

(在命令行模式下,先到VirtualBox的安装目录下面,否则找不到命令)

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/Protocol" TCP

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/GuestPort" 80

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/HostPort" 8000

详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射的更多相关文章

  1. VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射

    一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3.虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机) 4.主机不能ping通虚拟机 应 ...

  2. VirtualBox虚拟机网络环境Host-Only(对Win10和VirtualBox都有截图)

    之前在选择配置虚拟机网络环境的时候 桥接也是不错的,但是自己在使用的时候由于访问频繁会出现断网现象.所以就开始使用Host-Only模式.开始并不是很明白为什么这么设置,也挖了很多坑.经常出现虚拟机无 ...

  3. VirtualBox虚拟机网络设置

    VirtualBox虚拟机网络设置 测试环境:物理机win10企业版本,VirtaulBox版本5.0.14,虚拟机安装Windows XP及linux系统 想实现虚拟机上网的最简单方式,修改虚拟机网 ...

  4. SpringBoot Profile使用详解及配置源码解析

    在实践的过程中我们经常会遇到不同的环境需要不同配置文件的情况,如果每换一个环境重新修改配置文件或重新打包一次会比较麻烦,Spring Boot为此提供了Profile配置来解决此问题. Profile ...

  5. VMware虚拟机网络环境类型

    0x01. VMware Ubuntu虚拟机网络环境 ① Bridge桥接模式:虚拟机与物理机的IP同在一个网段:虚拟机独立且地位与物理机相同:虚拟机可直接访问物理机以及物理机相连的外部网络的主机或网 ...

  6. Linux详解(基础、环境配置、项目部署入门)

    Linux(CentOS 7)操作系统 消息队列(Kafka.RabbitMQ.RocketMQ),缓存(Redis),搜索引擎(ES),集群分布式(需要购买多台服务器,如果没有服务器我们就只能使用虚 ...

  7. VirtualBox虚拟机网络设置(四种方式)

    原文地址: https://www.douban.com/group/topic/15558388/ VirtualBox的提供了四种网络接入模式,它们分别是: 1.NAT 网络地址转换模式(NAT, ...

  8. VirtualBox虚拟机网络设置说明

    1. 网络接入模式简介    VirtualBox的提供了四种网络接入模式,它们分别是:         1.NAT 网络地址转换模式(NAT,Network Address Translation) ...

  9. Android中measure过程、WRAP_CONTENT详解以及 xml布局文件解析流程浅析

    转自:http://www.uml.org.cn/mobiledev/201211221.asp 今天,我着重讲解下如下三个内容: measure过程 WRAP_CONTENT.MATCH_PAREN ...

随机推荐

  1. 获取C++类成员虚函数地址

    1.GCC平台 GCC平台获取C++成员虚函数地址可使用如下方法[1]: class Base{ int i; public: virtual void f1(){ cout<<" ...

  2. 解题:UOJ #46 玄学

    题面 二进制分组,修改把区间拆开丢在后面,合并的时候归并最后两块:查询在对应节点上二分答案 #include<cstdio> #include<cstring> #includ ...

  3. CentOS 7 系统root用户忘记密码的重置方法

    在一台服务器我们忘记了root的账号或者root账号错误怎么办,我们只有进入到内核里面去修改,具体的操作如下: 1.进入内核 在开机的时候出现下图的界面时 按e键进入内核入下图 2.进入单用户模式 在 ...

  4. NodeJS 笔记 path模块

    path 模块,本模块包含一系列处理和转换文件路径的工具集. path.normalize(path)   normalize函数将不符合规范的路径经过格式化转换为标准路径,解析路径中的.与..外,还 ...

  5. 怎么使用 JavaScript 将网站后台的数据变化实时更新到前端

    实时这个工作现在大体有两种方法一.前端不断地向后台轮询请求数据查询的接口(不管你是用AJAX还是什么)然后将返回的数据重绘在页面上,这以前端页面为主动的方式.二.如果浏览器支持Websocket 那么 ...

  6. SQL记录-PLSQL异常

    PL/SQL异常   程序执行过程中出现错误情况被称为在PL/SQL异常. PL/SQL支持程序员在程序中使用异常块捕获这样的条件并采取适当的动作应对错误情况.有两种类型的异常: 系统定义的异常 用户 ...

  7. 流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务

    FFmpeg推送视频流,Nginx RTMP模块转发,VLC播放器播放,实现整个RTMP直播 查看本机电脑的设备 ffmpeg -list_devices true -f dshow -i dummy ...

  8. 读书笔记:《思考的乐趣:Matrix67数学笔记》第4章 统计数据的陷阱

    <思考的乐趣:Matrix67数学笔记>第4章讲了几个统计学上的陷阱,由于现在流行的大数据与统计学很有渊源,所以认真读了这一章,在<大数据时代>中指出只考虑相关性就够了,而不考 ...

  9. Mysql MERGE引擎简介

    一. 什么是MERGE引擎MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询. 二. 应用场景如果需要把日志纪录不停的录入MySQL数据库,并且每天.每周或 ...

  10. redis初使用

    下载地址:https://redis.io/download Redis项目不正式支持Windows.但是,微软开放技术小组开发并维护了针对Win64的Windows端口 windows版下载地址:h ...