VMWare虚拟机提供的桥接、nat和主机模式的区别

一、Brigde——桥接 :默认使用VMnet0

Linux虚拟机->物理网卡

WINDOWS->物理网卡

1、原理: 
“Bridge 桥"就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在"桥"上,运行着程序,让局域网A中的所有数据包原封不动的流入B,反之亦然。这样,局域网A和B就无缝的在链路层连接起来了,在桥接时,VMWare网卡和物理网卡应该处于同一IP网段 当然要保证两个局域网没有冲突的IP. 

VMWare 的桥也是同样的道理,只不过,本来作为硬件的一块网卡,现在由VMWare软件虚拟了!当采用桥接时,VMWare会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare虚拟机,而由VMWare发出的数据包也会通过桥从物理网卡的那端发出。 
所以,如果物理网卡可以上网,那么桥接的软网卡也没有问题了,这就是桥接上网的原理了。

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

如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择bridged模式。
这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力。在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题。使用这种方式很简单,前提是你可以得到1个以上的地址。对于想进行种种网络实验的朋友 不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了。


二、NAT——网络地址转换 :默认使用VMnet8 
虚拟机和宿主机可以相互ping,其他主机无法ping虚拟机。

链路:

Linux虚拟机->VMNet8->物理网卡

WINDOWS->物理网卡

NAT可以使用静态IP和动态IP,使用动态IP时,返回与VMWare中VMNet8同一网段的地址(在VMWare的Edit菜单的Virtual Network Editor设)

1、原理: 
NAT 是 Network address translate的简称。NAT技术应用在internet网关和路由器上,比如192.168.0.123这个地址要访问internet,它的数据包就要通过一个网关或者路由器,而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,对数据包的IP协议层数据进行更改(即 NAT),以使私有网段的主机能够顺利访问internet。此技术解决了IP地址稀缺的问题。同样的私有IP可以网关NAT 上网。 
VMWare的NAT上网也是同样的道理,它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后NAT,然后由主机的接口发出。 
虚拟网卡和虚拟机处于一个地址段,虚拟机和主机不同一个地址段,主机相当于虚拟机的网关,所以虚拟机能ping到主机的IP,但是主机ping不到虚拟机的IP。 

NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互
联网即可。
这种方式也可以实现Host OS与Guest OS的双向访问。但网络内其他机器不能访问Guest OS,Guest OS可通过HostOS用NAT协议访问网络内其他机器。NAT方式的IP地址配置方法是由VMware的虚拟DHCP服务器中分配一个IP,在这个IP地址中已经设置好路由,就是指向192.168.138.1的。
如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的经验,这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8。
你会发现在这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可以使用dhcp服务。更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转换,所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的。很显然,如果你只有一个外网地址,此种方式很合适。
2、联网方式: 
方法1、动态IP地址。 
主机是静态IP或动态IP,都无所谓,将虚拟机设置成使用DHCP方式上网,Windows下选择“自动获取IP“,linux下开启DHCP服务即可。(这种方法最简单,不用过多的设置,但要在VMware中进行“编辑→虚拟网络设置”,将NAT和DHCP都开启了。一般NAT默认开启,DHCP默认关闭) 
方法2、静态IP地址。 
如果不想使用DHCP,也可以手动设置: 
IP设置与vmnet8同网段,网关设置成vmnet8的网关(在“虚拟网络设置”里的Net选项卡里能找到Gateway)通常是xxx.xxx.xxx.2。 
子网掩码设置与VMnet8相同(设置好IP地址后,子网掩码自动生成) DNS设置与主机相同。 
例如:主机IP是10.70.54.31(见Virtual Network Editor配置),设置虚拟机IP为10.70.54.22。Netmask,Gateway,DNS都与主机相同即可实现 虚拟机 ---主机 虚拟机<---->互联网 通信。 
提示:使用NAT技术,主机能上网,虚拟机就可以访问Internet,但是主机不能访问虚拟机。 


三、Host-Only——私有网络共享主机:默认使用VMnet1 
1、原理: 
所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的,虚拟系统和宿主机器系统是可以相互通信的。只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问Internet,就要采用这个设置了。 
Host-only的条件下,VMWare在真正的Windows系统中,建立一块软网卡。这块网卡可以在网络连接中看到,一般是VMNET1,这块网卡的作用就是使Windows看到虚拟机的IP。 

在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。这应该是最为灵活的方式,有兴趣的话可以进行各种网络实验。和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和外网的网卡间。
从以上可以看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等。
VMware Host only工作方式
在这种工作方式下,Guest由DHCP服务器分配IP地址。并且可以在192.168.222.X之间保持通信。但是在Guest机器上并不能Ping通Host的172.16.1.210这个地址。因为通信被限制在主机(所以叫做Host Only)。这种方式看起来是很像NAT方式,但是在这种方式下Guest只能和Host之间通信,而不能同在局域网的计算机进行通信,除非在HOST上做转发或路由。

2、联网方法: 
方法1、动态IP地址。 
像上面那样开启DHCP后,虚拟机直接自动获取IP地址和DNS。就可以和主机相连了。当然,还要进行一些局域网共享的操作,这里不再赘述。 
方法2、静态IP地址。 
也可以手动设置,将虚拟机IP设置与VMnet1同网段,网关设置成VMnet1的IP,其余设置与VMnet1相同,DNS设置与主机相同。 
例如:VMnet1 IP:172.16.249.1 Gateway :172.16.249.2 
那么虚拟机 IP:172.16.249.100 Gateway: 172.16.249.2 
这样、 虚拟机<--->主机 可以通信 
但是、 虚拟机<--->互联网 无法通信 
提示:Host-only技术只用于主机和虚拟机互访,于访问internet无关。


示:以上所提到的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的模式,也是连不通的(这只是我的个人理解。)难道就不能上网了吗?看看就知道了。
上网:
1、在物理主机的本地连接设置对 vmnet1的共享(一定要是vmnet1哦,为什么不用我说了吧^_^)这样vmnet1连接的IP也就变成了192.168.0.1,这和我们平时物理机的共享连接是一样
2、手动设置与物理机相同段内的IP,与相同的DNS解析(或者是物理主机的IP),网关设为
192.168.0.1
例:HOST(VMNET1):192.168.0.1 NETMASK 255.255.255.0
GUEST: 192.168.0.2 NETMASK 255.255.255.0 DNS 192.168.0.1
说白了,我们利用的也只是把虚拟机当作物理机来进行的共享的网络设置,
http://jingyan.baidu.com/article/4e5b3e1957979d91901e24f1.html
)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值