主机为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方式,非常方便