VMware Workstation的虚拟机和宿主机ADSL连接之共享上网,网上有很多的说法,可是怎么看都有些乱。一开始,设置了好几项,如下图:
图1 宽带连接设置
图2.查看Vmnet8网卡的ip地址
图3.Vmnet8网卡设置
图4.虚拟机设置链接方式。单击虚拟机(M)-设置。
图5.虚拟机Vmnet8网卡绑定
等到后来可以共享了,突然发现,自己都糊涂了,因为没弄清哪一项设置是才是必要的。于是一步一步倒退,重新设置。发觉只有第四点才是最主要的。
整理了下网上的相关,以及三个网络链接方式的释义(这个是最重要的),总算拎清。
在局域网上,VMWare里面的xp是采用Network Bridge 的方式和windows共享一个物理网卡上网,ADSL上网,只能用NAT。(Bridge链接很简单,主要是说一下NAT)
三种网络方式
Bridge
Bridge就是“桥”的意思,说起桥接,就不能不说局域网。比如我们有两个局域网络,他们的ip段都处于192.168.0.*,同时,我们希望把这两个网络链接起来,这中情况下,我们就可以采用桥接。这个时候,“桥”就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在“桥”上,运行着程序,让局域网A中的所有数据包原封不动的流入B,反之亦然。这样,局域网A和B就无缝的在链路层连接起来了(当然要保证两个局域网没有冲突的 IP)。这就是桥的作用,在链路层无缝的沟通两个局域网。
而VMWare的桥也是同样的道理,只不过,本来作为硬件的一块网卡,现在由VMWare软件虚拟而来罢了!当采用桥接时,VMWare会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare虚拟机,而由VMWare发出的数据包也会通过桥从物理网卡的那端发出,这样,如果物理网卡可以上网,那么桥接的软网卡也没有问题了,这就是桥接上网的原理了。
在桥接时,VMWare网卡和物理网卡应该处于同意ip网段,所以在虚拟机中ping物理网卡ip,或者在主机中ping虚拟机网卡ip,都可以ping通。
NAT:
NAT就是network address translate的简称。网络地址转换,这个技术是为了让象192.168.*.*这样的私有ip段能够访问internet而开发的。私有ip段,可以由任何公司和个人使用,所以世界上有无数电脑使用了192.168.0.111这样的地址,而这个地址绝对不能出现在internet上,因为这肯定会造成路由的失败。但是,ip地址的稀缺让我们必须采用这种共享ip的方案,同时还要允许这些机器访问internet。这样的前提下,NAT就应运而生了。
NAT技术应用在internet网关和路由器上,比如192.168.0.111这个地址要访问internet,它的数据包就要通过一个网关或者路由器,而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,对数据包的IP协议层数据进行更改(即 NAT),以使私有网段的主机能够顺利访问internet。
一个最典型的例子,就要算大学宿舍了。宿舍内部网段192.168.1.× ,通过路由器进入校园局域10.10.110.×,然后通过学校网关,进入internet。这个过程中,宿舍的路由器做了一次NAT,而学校的网关又做了一次NAT。
VMWare的NAT上网采用的技术是一样的,它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后nat,然后由主机的接口发出。
由于在这种条件下,虚拟机和主机不在同一个ip段,但是主机相当于虚拟机的网关,所以虚拟机能ping到主机的ip,但是主机ping不到虚拟机的ip。
Host-only:
顾名思义,这种技术提供的是主机和虚拟机之间的网络互访,而不是虚拟机访问internet的技术。如果,你只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问internet,就要采用这个设置了。
Host-only的条件下,VMWare在真正的Windows系统中,建立一块软网卡。这块网卡可以在网络连接中看到,这块网卡的作用就是使windows看到虚拟机的IP。
由于,这种技术就是将主机和虚拟机通过一个ip段的网卡联系起来,所以双方都可以ping到对方。
实际问题的解决
弄清楚了上面的链接方式后,再去观察实际中出现的问题,就很好理解了。在局域网,采用Bridge技术可以使虚拟机访问internet,可在家ADSL(宽带连接)上网,却行不通。
关键问题就在于,Bridge是通过桥接虚拟机的网卡和物理网卡来实现虚拟机访问internet的,这要求实际的物理网卡必须能访问internet。单位或学校采用的都是是局域网,这一点可以满足,但是家里采用的adsl。adsl上网,采用的pppoe技术,就是在网卡之上建立起一个ppp连接。这种条件下,所有数据包是通过ppp封装之后发出的,虽然也是从网卡发出,但是包的形式就和普通的internet数据包不一样了。也就是说,实际的物理网卡已经没有直接访问internet的能力了。而必须通过ppp接口封装的数据包,才能访问internet。
为了使虚拟机能够访问internet,我们必须使虚拟机的数据包从ppp接口发出去,也就是从adsl的连接发出去。这个时候,NAT技术就可以派上用场了。只要采用NAT,让虚拟机的数据包经由adsl连接来收发,就可以解决上网问题了。理论如此,实际操作如下:
如上图4,选择一块虚拟网卡,作为NAT使用的网卡。并且,设置好虚拟网段(要和虚拟机里系统的ip处于一个网段)。
如上图5,将设置好的用于NAT的网卡和虚拟机的虚拟网卡绑定。
然后,进入虚拟机,设置IP,就可以上网了。
具体说明:
1、VMware网络连接选择的是NAT方式。
2、在windows7中,查看所有的网络连接,你应该发现除了原有的网卡之外,又多了Vmnet1和Vmnet8。vmnet1是Host-only的接口,而Vmnet8是就是我们要使用的NAT的网络接口。
3、在windows7主机上,运行—cmd—ipconfig/all,查看VMnet8的IP地址,一般是192.168.X.1。如图3所示。此时VMnet8的设置应该是自动获取IP,可以改成静态IP,并把此IP直接填入VMnet8里,不设网关。
4、在xp虚拟机里把网卡IP设置成和VMnet8一个网段的IP(192.168.X.Z/255.255.255.0)
5、DNS和windows7主机的一样。
总结:
1. 只要主机能上网,采用NAT技术,都可以使虚拟机访问internet;
2. 只有在主机网卡处在一个可以访问internet的局域网中的时候,虚拟机才能通过Bridge访问internet;
3. Host-only技术只用于主机和虚拟机互访,与访问internet无关。
最后:来个文件共享设置(1月6日)
1.虚拟机设置
2.xp系统设置