VirtualBox中有四种网络连接方式:

  • NAT
  • Bridged Adapter
  • Internal
  • Host-only Adapter

VMWare中有三种,其实它跟VMWare的网络连接方式都是一样的概念,只是比VMWare多了Internal方式

在介绍四种工作模式之前,先说下虚拟网卡,虚拟机安装好之后,会自动添加两张网卡(VMnet1和VMnet8),VMnet1用户Host-only网络连接,VMnet8用NAT方式的网络连接,原先的VMnet0用桥接网络连接。

1.Bridged 桥接模式

1.1 特点

虚拟机和主机是处于同等地位的机器,所以网络功能也无异于主机。并且和主机处于同一网段。

1.2 原理

桥接模式,使用的是VMnet0虚拟网卡。

vmnet0实际上就是一个虚拟的网桥(2层交换机),这个网桥有若干个接口,一个端口用于连接你的Host主机,其余端口可以用于连接虚拟机,他们的位置是对等的,谁也不是谁的网关。所以桥接模式下,虚拟机和Host主机是同等地位的主机。

1.3 示例图

主机A上的两个虚拟机1和虚拟机2,和主机A、B同处于一个网段,能够相互通信

1.4 配置

虚拟机1的配置:

DEVICE="eth0"
BOOTPROTO=“static" #设置静态ip,动态为dhcp
IPADDR="192.168.1.3"
GATEWAY="192.168.1.1"
HWADDR="08:00:27:C7:1B:22"
DNS1="8.8.8.8"
NETMASK="255.255.255.0"
ONBOOT="yes"

2.Host-only模式

2.1 特点

只能和主机相互通信,不能上网,也不能访问其他主机,用于建立与外部隔离的网络环境

2.2 原理

Host-only模式使用的是VMnet1网卡。

这种方式下,虚拟机连接到VMnet1上,但系统并不为其提供任何路由服务,因此虚拟机只能和宿主机进行通信,而不能连接到真正的网络上。

2.3 示例图

虚拟机1和2之间可以相互通信,主机A能和虚拟机1和2通信,虚拟机1和2不能和主机通信(需要设置),虚拟机不能和B主机以及外网通信

2.4 配置

虚拟机1的配置:

DEVICE="eth0"
BOOTPROTO=“static" #设置静态ip,动态为dhcp
IPADDR="192.168.56.3"
HWADDR="08:00:27:C7:1B:22"
NETMASK="255.255.255.0"
ONBOOT="yes"

3.NAT

3.1 特点

  • 主机ping不通虚拟机(包括宿主)
  • 同一宿主的虚拟机可以相互ping通
  • 宿主能够联网,虚拟机也能联网(其他主机)。宿主没有联网,虚拟机也不能联网
  • 虚拟机能够ping通主机

    其他主机不能访问虚拟机

3.2 原理

网络地址转换类似于家庭路由器的方式工作。使用NAT模式,就是让虚拟系统借助NAT(网路地址转换)功能,通过宿主机器所在的网络来访问公网。

其实就是虚拟机的网卡连接到宿主的VMnet8虚拟机交换机上,VMnet8充当了路由器的作用,负责将虚拟机转发到VMnet8的包进行地址转换之后发送到实际的网络中,再降实际网络上返回的包进行地址转换后通过VMnet8发送给虚拟机。

其实相比Host-only模式只不过增加一层路由功能。

注意:

 看VirtualBox官方文档,如果VMnet8网卡地址段是10.0.2.0/8 那么默认网关是10.0.2.1,而且我这样配置也对。但是看网上VMVare使用的网关都是10.0.2.2,没有看VMVare官方文档,也不清楚,希望知道的同学告知一下。

3.3 示例图

主机A和虚拟机1和2能相互通信,虚拟机1和2能访问主机B和外网,主机B不能访问虚拟机1和2,虚拟机1和2能相互通信

3.4 配置

虚拟机1的配置:

DEVICE="eth0"
BOOTPROTO=“static" #设置静态ip,动态为dhcp
IPADDR="10.0.2.5"
GATEWAY="10.0.2.1"
HWADDR="08:00:27:C7:1B:22"
DNS1="10.0.2.1"
NETMASK="255.255.255.0"
ONBOOT="yes"

4.内部网络

内部网络类似于桥接网络,虚拟机可以直接与外部通信。但是外部仅限于连接到统一主机上的其他虚拟机。

即使在技术上,使用内部网络可以完成的一切也可以使用桥接网络,内部网络有安全优势。在桥接网络模式下,所有流量都通过主机系统的物理接口。

默认不分配IP,需要自己手动设置。

参考:

【1】虚拟机网络拓扑http://wangchunhai.blog.51cto.com/225186/381225/

【2】http://blog.csdn.net/clevercode/article/details/45934233

虚拟机网络配置详解(NAT、桥接、Hostonly)的更多相关文章

  1. 虚拟机网络配置详解(NAT、桥接、Hostonly) z

    http://www.cnblogs.com/beginmind/p/6379881.html VirtualBox中有四种网络连接方式: NAT Bridged Adapter Internal H ...

  2. VMware虚拟机网络配置详解

    VMware网络配置:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会 ...

  3. Vmware在NAT模式下网络配置详解

    Vmware在NAT模式下网络配置详解 Linux中的网络配置对于接触Linux不久的小白菜来说,还是小有难度的,可能是不熟悉这种与windows系列迥然不同的命令行操作,也可能是由于对Linux的结 ...

  4. Docker基础 :网络配置详解

    本篇文章将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信,有兴趣的可以了解下. 大量的互联网应用服务包含多个 ...

  5. VMware虚拟网络连接模式详解(NAT,Bridged,Host-only)

    序言 如果你使用VMware安装虚拟机,那么你必定会选择网络连接,那么vmware提供主要的3种网络连接方式,我们该如何抉择呢?他们有什么不同呢?这篇我们就做一个深入. 首先打开虚拟机设置里面的网络适 ...

  6. linux网络配置详解

    一:相关网络配置的文件 1.网卡名配置相关文件 网卡名命名规则文件: /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x8086:0x1 ...

  7. CentOS网络配置详解

    转载于CentOS中文站:http://www.centoscn.com/CentOS/2015/0507/5376.html一.配置文件详解 在RHEL或者CentOS等Redhat系的Linux系 ...

  8. caffe mnist实例 --lenet_train_test.prototxt 网络配置详解

    1.mnist实例 ##1.数据下载 获得mnist的数据包,在caffe根目录下执行./data/mnist/get_mnist.sh脚本. get_mnist.sh脚本先下载样本库并进行解压缩,得 ...

  9. CentOS 7 网络配置详解

    今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后马上用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到. ? 1 2 3 ...

随机推荐

  1. (中等) POJ 1703 Find them, Catch them,带权并查集。

    Description The police office in Tadu City decides to say ends to the chaos, as launch actions to ro ...

  2. Windwos下 php mysql apache 环境配置

    一.下载所需软件: 1.安装Windows组件: 安装Apache的前  必须安装  VC11 vcredist_x86.exe (64位请下载vcredist_x64.exe),选择时尽量选择英文版 ...

  3. print打印网页相关

    作者:zccst 1,CSS <link href="/style/print.css" rel="stylesheet" type="text ...

  4. Linux开发IDE打造

    一直以来都是在windows下做开发的,微软提供的IDE  vs开发起来确实快捷高效,接触linux也很久了通常都是使用vim进行一些基础文件的编译,现在突然要转到linux做开发还是不太适应的,网上 ...

  5. PHP的高并发和大数据处理

    收集前人的经验.加速学习,解决工作中的难题. 一.代码优化(包括sql语句的优化), 合理的使用索引,避免整表查询.二.日常海量数据处理我用文件缓存,文件缓存分两种,第一种是最常见的生成html静太文 ...

  6. IOS开发-UI学习-UITextField的具体属性及用法

    直接上代码,里面有各种属性的用法注释,至于每个属性有多个可以设置的值,每个值的效果如何,可以通过查看这个函数参数的枚举量,并逐一测试. //制作登陆界面 #import "ViewContr ...

  7. scala系列--基础语法

    Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义. 类 ...

  8. java系列--批量处理

    批量删除 批量更新 二.分页 1.基于sql语句 1).基于ROWID分页 2).基于RONUM分页 3).基于数据分析分页 2.基于结果集

  9. winform - json串的转换

    通过java接口,或者查询数据库返回json串. 可以有两种方式进行解读. 1.简单方式 没有深层结构,最好只有一条数据(当然也可多条).可以用datatable来获取.返回的是clo0.clo1.c ...

  10. Swift去除两边的特定字符(空格或其它)

    var str_trim = "   !hi  !23   !" str_trim.stringByTrimmingCharactersInSet(NSCharacterSet.w ...