虚拟机中的网卡模式

http://hi.baidu.com/spiderrobot/item/8c1fd0276ae37117087508cb

XP宿主下,windows7虚拟机中实现网卡NAT上网

几经尝试,今天终于在windows7虚拟机中实现了网卡的上网功能,参考了网络上的一些资料,网络上有类似的例子,但是大多不够清晰,自己整理记录如下,

首先说VMWARE虚拟机中的网卡模式,主要有以下三种,bridged,nat,hostonly,

1.bridged(桥接模式)

  在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。

  使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。

  如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

bridge方式:

虚拟机中的网卡模式_第1张图片

这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力。 

在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题。 

使用这种方式很简单,前提是你可以得到1个以上的地址。对于想进行种种网络实验的朋友 不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了。

2.NAT(网络地址转换模式)

  使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

这种方式也可以实现Host OS与Guest OS的双向访问。但网络内其他机器不能访问Guest OS,Guest OS可通过Host OS用NAT协议访问网络内其他机器。NAT方式的IP地址配置方法是由VMware的虚拟DHCP服务器中分配一个IP ,在这个IP地址中已经设置好路由,就是指向192.168.138.1的。

  如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。

nat方式: 

虚拟机中的网卡模式_第2张图片

3.host-only(主机模式)

  在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。

  提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。

  在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。

  如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。

hostonly方式:

虚拟机中的网卡模式_第3张图片
 这应该是最为灵活的方式,有兴趣的话可以进行各种网络实验。和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,默认情况下,虚拟机只能到主机访问,这也是hostonly的名字的意义。 

默认情况下,也会有一个dhcp服务加载到vmnet1上。这样连接到vmnet1上的虚拟机仍然可以设置成dhcp,方便系统的配置. 

是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如: 
a。使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一。 
b。使用自己的nat,方便加入防火墙。windows host可以做nat的方法很多,简单的如windows xp的internet共享,复杂的如windows server里的nat服务。 
c. 使用自己的防火墙。因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间。 
VMware Host only工作方式
虚拟机中的网卡模式_第4张图片

在这种工作方式下,Guest由DHCP服务器分配IP地址。并且可以在192.168.222.X之间保持通信。但是在Guest机器上并不能Ping通Host的172.16.1.210这个地址。因为通信被限制在主机(所以叫做Host Only)。这种方式看起来是很像NAT方式,但是在这种方式下Guest只能和Host之间通信,而不能同在局域网的计算机进行通信,除非在HOST上做转发或路由。
提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和Mnet1提供DHCP服务,VMnet0虚拟网络则不提供

vmware三种网络连接上网设置:

1.bridge : 
默认使用vmnet0
将虚拟机的ip设置与主机同网段未使用ip,其余与主机相同:
例如主机ip是192.168.2.46,设置虚拟机ip为192.168.2.254。netmask,broadcast,gateway,dns都与主机

相同即可实现虚拟机<--->主机 虚拟机<---->互联网 通信。

2.nat :
默认使用vmnet8

DHCP:默认的状态下是DHCP。
只要物理机能连通网络,虚拟机也就可以连通的

手动设置:
(这一点很重要,你要以在物理机的网络属性下打开vmnet8的属性,查看其默认的地址。但不要更改哦)ip

设置与vmnet8同网段,gateway设置成vmnet8的gateway(xxx.xxx.xxx.2)中可以查到vmnet8的gateway,通常

是edit->virtual network setting->Host Virtual Network Mapping ,找到VMNET8,单击左箭头的图标

,选取NAT,你就可以看到Gateway

netmask,broadcast设置与vmnet8相同,dns设置与主机相同。(DNS省也可,他会自动让网关转换解析)
例如 vmnet8 ip:192.168.187.1 gw :192.168.187.1.2 这里是系统的默认,不可以更改的哦。
虚拟机设置: ip :192.168.187.254 gw: 192.168.187.1.2 dns:(空)或者:202.102.224.68 (实际上,

大家想想,这样的设置实际上和DHCP分配是一样的,没有什么特别,也显得没有什么意义)
                

3.host-only :

默认使用vmnet1

DHCP:默认下是DHCP
组成与独立的与物理网络相隔离的虚拟网络
但有一点是可以和宿主机器通信。
当然你可以手动指定IP,但网头一要选择VMNET1的IP哦

详解:
host-only这种模式下是独立主机的模式,意思是不可以和外界通信的。但是我们可以这样理解,这种模

式使用的是vmnet1,也就是一台虚拟的交换机。
不能上网的原因分析:
虚拟机本身是根据自身的DHCP分配的IP,本身和物理机不是一个段内的。大家要问了,如果手动分配与物

理机机段内的IP与相同的DNS解析不就可以了吗??但是告诉大家这样也是不可以的。没有桥接与NAT这些

共享与转换IP的模式,也是连不通的(这只是我的个人理解。)难道就不能上网了吗?
看看就知道了。

以上是关于原理的一些描述,具体到我的例子,因为是在公司的网络环境下,可能对DHCP有限制,使用DHCP总是无法配通网络,

最后使用NAT静态地址配通网络,步骤如下,

1. 确认虚机和宿主机的网络联通方式,是使用哪个网卡做连接,vmnet0,1,8是否都正常Enabled状态,

2. 确认vmnet8(因为下面使用的是NAT方式)网卡IP是自动获取方式,记下其IP地址及掩码

3.  创建或修改虚机网卡为vmnet8,即NAT方式,在windows7下,打开网络共享中心,打开网卡配置页,对IP设置进行修改,

     1) 修改虚机IP和掩码为与VMNET8同网段,但IP地址不能相同,

     2)修改虚机网关IP为VMNET8的IP地址

     3) 修改DNS配置为与宿主机相同,

测试此时网络是通的,可以访问INTERNET。

其它方式下的连接方式在XP下是完全没有问题的,但是WIN7下目前为止没有成功,有进一步发现后再更新于此。



你可能感兴趣的:(VM网卡模式)