经常要使用VMWare Workstation来在本地测试不同的操作系统,以前也搞不清楚网络连接三种模式,最近看了几篇文章才算明白。现总结如下:

1. VMware Workstation的虚拟网络组件

虚拟<网卡/网络适配器>:见下图。安装一个虚拟PC时自动安装一块虚拟<网卡/网络适配器>,可添加多块虚拟网卡。 
虚拟交换机:见下图。安装VM时就自动安装了10台虚拟交换机。 
虚拟网桥:只在虚拟网卡连接到VMnet0 (default Bridged)虚拟交换机上才应用虚拟网桥。 

虚拟DHCP服务器:见下图。在虚拟网卡连接到VMnet1或VMnet8虚拟交换机时,自动安装运行虚拟DHCP服务器并连接至这台虚拟交换机。

虚拟NAT服务器:见下图。只在虚拟网卡连接到VMnet8 (NAT)虚拟交换机时才自动安装运行虚拟NAT服务器,并连接至这台虚拟交换机。

主机虚拟<网卡/网络适配器>:见下图。相当于一块确实存在的网卡,是连接主机和虚拟交换机用的网卡。

VMware安装之后,会有一台虚拟的DHCP服务器为虚拟机来分配IP地址以及虚拟的NAT服务器来映射内部地址到主机的外部地址,实际上都是一个系统服务而已,在开始—>运行中输入services.msc,就会看到这两个服务:

■ VMnet0:这是VMware用于虚拟桥接网络下的虚拟交换机; 
■ VMnet1:这是VMware用于虚拟Host-Only网络下的虚拟交换机; 
■ VMnet8:这是VMware用于虚拟NAT网络下的虚拟交换机; 
■ VMware Network Adapter VMnet1:这是Host用于与Host-Only虚拟网络进行通信的虚拟网卡; 
■ VMware Network Adapter VMnet8:这是Host用于与NAT虚拟网络进行通信的虚拟网卡;

2. 桥接网络

拓扑图:

这种方式直接将Host的物理网卡和Guest的网卡在VMnet0交换机上通过虚拟网桥进行桥接,和Linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力。 
在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,虚拟机和host机处于对等的地位,在网络关系上是平等的,因此无法对虚拟机的网络进行控制。

我的Host的物理网卡配置如下:

IP地址为DHCP获取方式,网关为192.168.0.1。

那么Guest就应该和Host处于同一个网段,它的配置可为:

3. NAT网络

拓扑图:

这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8。

在NAT网络中,会使用到VMnet8虚拟交换机,Host上的VMware Network Adapter VMnet8虚拟网卡被连接到VMnet8交换机上,来与Guest进行通信,但是VMware Network Adapter VMnet8虚拟网卡仅仅是用于和VMnet8网段通信用的,它并不为VMnet8网段提供路由功能,处于虚拟NAT网络下的Guest是使用虚拟的NAT服务器连接的Internet的。

如图:我的VMware Network Adapter VMnet8虚拟网卡的IP地址配置如下:(IP地址是手工指定的,是VMware在安装的时候自动随机指定的一个IP地址)

NAT网络的虚拟机的IP地址也为192.168.152.0这个网段,其IP地址配置为:

在这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可以使用dhcp服务,更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转换。所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的。很显然,如果你只有一个外网地址,此种方式很合适。

有一点需要说明的是,在NAT方式的网络中,Guest的Gateway都指向了192.168.X.2,在本例中,X=152,也就是那个虚拟的NAT服务器的地址,这个服务器是一台虚拟的NAT服务器,你可以ping通它,但是却无法访问到这台虚拟机,因为这同样也是一个系统服务:

这时候,你的Guest和Host就可以实现互访了,并且如果你的Host此时已经连接到了Internet,那么你的Guest也就可以连上Internet了。那么VMware Network Adapter VMnet8虚拟网卡在这里扮演了一个什么角色呢?它仅仅是为Host和NAT虚拟网络下的Guest通信提供一个接口,所以,即便Disable掉这块虚拟网卡,Guest仍然是可以上网的,只是Host无法再访问VMnet8网段而已。

4. 怎样修改NAT网络ID

那么如果嫌VMware分配的网络不好,比如它给你分了个192.168.152.0的网络ID给VMnet8,那么你可以到这里来修改,单击VMware上的“Host”菜单,选择“Virtual Network Settings …” 

我在这里调整的是VMnet8,那么VMnet1当然也可以用这样的方式来调整。记住,再整之后VMware Network Adapter VMnet1和VMware Network Adapter VMnet8也需要调整到相应的网络ID,不然Host和Guest不能通讯。

5. Host-Only网络

拓扑图:

这应该是最为灵活的方,有兴趣的话可以进行各种网络实验。和nat唯一的不同的是,此种方式下没有地址转换服务。因此,默认情况下,虚拟机只能到主机访问,它当然就没有办法访问Internet,这也是hostonly的名字的意义. 
默认情况下,也会有一个dhcp服务加载到vmnet1上。这样连接到vmnet8上的虚拟机仍然可以设置成dhcp,方便系统的配置。

如图,这是我的Host的VMware Network Adapter VMnet1虚拟网卡的配置: 

Host-Only网络的虚拟机的IP地址也为192.168.192.0这个网段,其IP地址配为: 

可以看到,在Host-Only网络下,Guest的Default Gateway被设置为NULL,这是由于没有使用虚拟NAT服务器的缘故。

6. 是不是Host-Only网络就没有办法连接到外网呢?

当然不是,事实上,这种方式更为灵活。你可以使用自己的方式,从而达到最理想的配置,例如:

a. 使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一。 
b. 使用自己的nat:方便加入防火墙。windows host可以做nat的方法很多,简单的如windows xp的internet共享,复杂的如windows server里的nat服务。 
c. 使用自己的防火墙:因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间。

从以上可以看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等。

本节部分内容来自《VMware Workstation虚拟网络VMnet0、VMnet1、VMnet8的图解》和《理解VMware虚拟机下网络连接的三种模式》。

[转]VMware Workstation网络连接的三种模式的更多相关文章

  1. 理解VMware虚拟机下网络连接的三种模式(如何配置虚拟机上网)

    很多朋友都用vmware来测试不同的系统,我结合自己的经验谈一下对网络设置的理解,不对的地方请指正. bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两 ...

  2. Linux初学之vmware Workstation 网络连接三种模式

    简介: VM(VMware Workstation简称VM,后面都将用VM代替阐述)是一款功能强大的虚拟化软件.VM支持在 单一的桌面上同时运行多款不同的操作系统,能够模拟完整的网络环境,支持pxe功 ...

  3. VMware 虚拟上网的的三种模式 ——bridged、host-only、NAT 模式

    恐怕这是今年在上海的最后的一篇博客了,同事们上班都不工作了,我也没有什么事情要做.为什么要写这篇博客呢,原因是我回家要带上自己的笔记本,里面装了一个虚拟机.平时自己的学习和工作都是在虚拟机里进行的.回 ...

  4. Jedis连接Redis三种模式

    这里说的三种工作模式是指: 1.单机模式 2.分片模式 3.集群模式(since 3.0) 说明图详见以下: 使用单机模式连接: private String addr="192.168.1 ...

  5. Linux虚拟机网络连接的三种方式

    Bridge桥接模式.NAT模式.Host-only仅主机模式: 桥接模式:虚拟机使用真实网卡进行通信,配置简单:只要和真实计算机在同一个网段内,就可以直接通信:局域网内如果有其他计算机,也可以进行访 ...

  6. vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。

    原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链 ...

  7. VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

    VMware虚拟机上网络连接(network type)的三种模式--bridged.host-only.NAT VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换 ...

  8. linux VMware 提供的网络连接有 5 种详细讲述

    VMware 提供的网络连接有 5 种,分别是"桥接模式"."NAT 模式"."仅主机模式"."自定义"和"L ...

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

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

随机推荐

  1. 学习SVG系列(5):SVG渐变

    SVG渐变 渐变是一种从一种颜色到另一种颜色的平滑过渡,可以把多个颜色的过渡应用到同一个元素. 渐变有两种: Linear Redial 线性渐变-<linearGradient> lin ...

  2. DotNetBar中collapsibleSplitContainer的问题

    如果有两个collapsibleSplitContainer,并且将splitwidth都设置为1,则只有第一个起作用,如,窗体设计中的图是: 而执行的图是: 解决办法:在窗体load里手动将第二个c ...

  3. ping 出现负值

    遇到一个问题,使用ping 命令的时候会出现负值.网上查询得知 AMD双核CPU,要打上CPU厂家提供的驱动补丁和微软的双核补.

  4. "****" is not translated in zh, zh_CN.的解决方法

    最近在开发一个app,要用到静默安装等一些小技术,但是引发了问题如下: 在Android SDK Tool r19之后, Export的时候遇到xxx is not translated in yyy ...

  5. css3 视距-perspective

           视距-用来设置用户与元素3d空间Z平面之间的距离. 实例1:       HTML: <div class="perspective"> <h3&g ...

  6. php生成唯一订单号

    支持更改长度/** * 生成唯一订单号 * */ function build_order_no(){ return date('Ymd').substr(implode(NULL, array_ma ...

  7. redis 原子增一的妙用

    有这样一个需求,插入数据库之前需要了解数据库ID号,考虑到不同的主机怎么去协同这个ID呢 同时要保证每个主机分到不同的ID号,这个比较麻烦,如果独立开一个服务来一个C/S操作比较麻烦,幸好REDIS提 ...

  8. 快速上手RaphaelJS--Instant RaphaelJS Starter翻译(二)

    (目前发现一些文章被盗用的情况,我们将在每篇文章前面添加原文地址,本文源地址:http://www.cnblogs.com/idealer3d/p/Instant_RaphaelJS_Starter2 ...

  9. 配置自己的OpenGL库,glew、freeglut库编译,库冲突解决(附OpenGL Demo程序)

    平台:Windows7,Visual C++ 2010 1. 引言 实验室的一个项目,用到OpenGL进行实时绘制,还用到一些其他的库,一个困扰我很久的问题就是编译时遇到的各种符号未定义,符号重定义之 ...

  10. Android 点击ListView(或GridView)的一个item,使其里面textview变色,点击另一个这个恢复原来颜色

    今天作一个项目,就是做视频app,如果电视剧的话有许多剧集,点击一个item,播放不同的剧集,要有点击效果,并且默认是选择第一个.花费了一段时间,自己觉得有点难 度,现在和大家分享一下,下面是效果显示 ...