主机为WindowsXP系统,VMware虚拟机里安装Linux操作系统。安装完VMware后,主机的网络连接里面出现了两个新的连接,即VMware Network Adapter VMnet1和VMware Network Adapter VMnet8如图。虚拟机里安装的系统就是靠这两个虚拟网卡来联网的。(如下图)
主机上类似antiarp 防火墙一定要关掉 否则虚拟机不能上网
    有以下几种可选方法: 
    
    
      1、Bridged(网桥)方式:
    
    
    如果主机是通过局域网上网的,可让虚拟机使用与主机网段、网关和DNS等的相同的设置,选用一个有效的局域网IP即可。
  
    桥接方式可实现虚拟机<--->主机 虚拟机<---->互联网 通信(主机与虚拟机可看成是同一局域网的两台机)。但桥接需要一个不同于 原主机上的另外一个独立的IP地址,这对于有些情况(IP和MAC绑定,网管不同意),比较难办到。并且主机拔掉网线后,虚拟机无法与主机通过网络的方式进行通讯。而后面几种没这个问题。所以不太使用桥接方式。 
    
    1)主机的IP信息
  
    
    2)设置VMware网络连接为Bridged 
    
  
3)虚拟机系统网络设置
    
    多网卡桥接 
    
    当我有双网卡时,虽然VMnet0:Bridged to an automatically chosen adapter(在VMware的Edit ->
    
      Virtual
    
    
      Network
    
     settings... 打开
    
      Virtual
    
    
      Network
    
    
      Editor
    
    )
  
但是,我尝试了一下,虚拟机只可桥接“本地连接”(VIA网卡),不能桥接“本地连接2”(Realtek网卡)
在 Virtual Network Editor -> Automatic Bridging 选项卡里
若我们想桥接“本地连接2”(Realtek网卡)需要在“Exclude adapters" 里add "VIA网卡”(本地连接),这样“本地连接2”就可以桥接了。但是“本地连接”(VIA网卡)却不可以了,即使在“Exclude adapters" 里Remove "VIA网卡”也不行,我猜测 VMware其实只支持一个最初未被排除的网卡桥接!
没关系,我们可以在 Virtual Network Editor -> Host Virtual Network Mapping 选项卡里,VMnet2选择Realtek网卡
这时,我们回到 Virtual Network Editor -> Automatic Bridging 选项卡,发现VMnet0 把 Realtek网卡排除了
桥接“本地连接”(VIA网卡)时,VMware选择VMnet0,
桥接“本地连接2”(Realtek网卡)时,VMware选择VMnet2
虚拟机上网络相应的设置,就可以了。
    
      2、NAT方式:
    
    
    使用VMware提供的NAT和DHCP服务,虚拟机使用主机中的虚拟网卡VMnet8作为网关,并且TCP/IP设置需遵循程序中关于vmnet8的DHCP和NAT设置,如IP必须在其DHCP设置的StartIP和EndIP之间,网关需使用其NAT设置的Gateway IP。 
    
    NAT方式可实现虚拟机<--->主机 通信,但是 虚拟机--->互联网 即只能够虚拟机访问互联网,但是若想把虚拟机作为服务器,让互联网访问,不可以。 
    
    但是如果有多个网卡,虚拟机可以不用更改设置,就可以同时访问多个网卡连接的互联网。 
    
    1) 设置VMware 网络连接方式为NAT
  
    
    2)在虚拟机里,linux网络设置,只需选择自动获取IP,就可以了!
  
    
    当然也可以手动设置: 
    
    ip设置与vmnet8同网段,gateway,netmask,broadcast设置与vmnet8相同,dns设置与主机相同。 
    
    我们在主机的网络连接里如下,没有看到网关(如下图) 
    
    
    别急,在VMware的Edit ->
    
      Virtual
    
    
      Network
    
     settings... 中,有相关内容。 
    
    
    这些选项卡包含了VMware的很多高级设置,有兴趣可以研究研究。 
    
    3.host-only方式 : 
    
    默认使用vmnet1,将虚拟机ip设置与vmnet1同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同 
    
    例如 vmnet1 ip :192.168.101.1 
    
    虚拟机设置: ip :192.168.101.100 gateway : 192.168.101.1 
    
    这样就实现了虚拟机<--->主机 通信,但是 虚拟机<--->互联网 仍无法通信 
    
    1)选择VMware的Host-only 
    
    
    
    2)主机的本地连接 
    
    
    3)在虚拟机linux里,设置网络 
    
    
      4、共享主机的Internet连接的方式
    
    (如果主机是Win98系统可能不适用): 
    
    在主机的“本地连接”属性的高级里面共享Internet连接。如果选的是VMnet1虚拟网卡,则在VMware的Ethernet设置需选用Host-only;如果选VMnet8,则Ethernet设置需选用NAT。共享连接后,那个被选中的虚拟网卡的IP会默认被设为192.168.0.1(如果主机也是通过局域网的192.168.0.1网关上网的,则需把这个虚拟网卡设置为不同的网段IP,如192.168.1.1)这时候虚拟机里面就可以通过把这个虚拟网卡作为网关来上网了。实际上是一个简单的路由NAT,所以NAT方式就不讨论了,我们只以Host-only为例。 
    
    共享host-only方式,可实现虚拟机<--->主机 通信,但是 虚拟机--->互联网 即只能够虚拟机访问互联网,但是若想把虚拟机作为服务器,让互联网访问,不可以。 
    
    1)选择VMware的Host-only
  
2)设置主机的本地连接属性
被选中的虚拟网卡的IP会默认被设为192.168.0.1,当然也可以更改。而且共享连接取消后,还会变回到共享连接前的网络设置。
在虚拟机linux里,设置网络:
总结:
    共享连接方式和NAT方式,都可以实现虚拟机<--->主机 , 虚拟机--->互联网 通信,NAT方式设置简单,且可以实现同时访问多个物理网卡。 
    
    桥接方式可实现虚拟机<--->主机 虚拟机<---->互联网 通信,若虚拟机作为服务器,只有这种方式可行。但需独立的IP给虚拟机,且若物理网卡连接断开,虚拟机与主机也不能连接。 
    
    host-only方式只实现虚拟机<--->主机 通信 ,一般不单独采用。 
    
    像我在虚拟机下开发嵌入式,虚拟机要给开发板提供NFS服务,就采用桥接方式连接嵌入式的网卡。若有时想下载点软件,查查资料,就改用NAT方式,非常方便!
  

