之前成功将MAC OS 10.6.8 升级到Mountain Lion 10.8,之前安装的VMware fusion版本也不兼容10.8,重新下载了新的4.1.3的fusion版本,昨天在使用的时候发现一个问题,那就是不打开fusion时,在MAC OS本机能正常访问我们的测试环境(172.20.10.x/255.255.255.0)。但是一打开fusion,就无法访问测试环境。试了好几次都出现同样的问题。今天中午闲来无事,就想找找到底是什么原因导致,不会是因为升级到新版本的fusion或新版本的Mountain Lion就出现这个bug了吧,想想Apple应该不会这么大意吧。根据现象第一反应应该是网络的问题。1、 在本机测试~~~matoMacBook-Pro:~ $ ifconfig部分省略en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4> ether c8:2a:14:16:0e:9d inet6 fe80::ca2a:14ff:fe16:e9d%en0 prefixlen 64 scopeid 0x4 inet 172.20.1.251 netmask 0xfffffe00 broadcast 172.20.1.255 media: autoselect (1000baseT <full-duplex>) status: active此时能ping通172.20.10.1552、启动vmware fusion~~~matoMacBook-Pro:~ $ ifconfig部分省略en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4> ether c8:2a:14:16:0e:9d inet6 fe80::ca2a:14ff:fe16:e9d%en0 prefixlen 64 scopeid 0x4 inet 172.20.1.251 netmask 0xfffffe00 broadcast 172.20.1.255 media: autoselect (1000baseT <full-duplex>) status: activevmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:50:56:c0:00:01 inet 172.16.103.1 netmask 0xffffff00 broadcast 172.16.103.255vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:50:56:c0:00:08 inet 172.20.0.211 netmask 0xffff0000 broadcast 172.20.255.255
此时能ping不通172.20.10.155发现多了两个vmnet1,vmnet8接口,玩过VMware的都知道这是虚拟网络,vmnet1是host-only的方式,vmnet8是NAT的方式。我注意到vmnet8的掩码是255.255.0.0,可是我记得咱们的办公网络好像是24位的,猜测应该是这个问题,果断修改vmnet8啊,可是咱不会啊,没办法,有强大的google,啥都不怕,找出这么一篇文章--《Modifying the DHCP settings of vmnet1 and vmnet8 in Fusion 》 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1026510 要注意你的fusion是哪个版本的,我的是4.1.3,解决起来就简单咯。sudo vi /Library/Preferences/VMware Fusion/networkingVERSION=1,0answer VNET_1_DHCP yesanswer VNET_1_DHCP_CFG_HASH *********************************answer VNET_1_HOSTONLY_NETMASK 255.255.255.0answer VNET_1_HOSTONLY_SUBNET 172.16.103.0answer VNET_1_VIRTUAL_ADAPTER yesanswer VNET_1_VIRTUAL_ADAPTER_ADDR 172.16.103.1answer VNET_8_DHCP yesanswer VNET_8_DHCP_CFG_HASH *********************************answer VNET_8_HOSTONLY_NETMASK 255.255.0.0answer VNET_8_HOSTONLY_SUBNET 172.20.0.0answer VNET_8_NAT yesanswer VNET_8_VIRTUAL_ADAPTER yesanswer VNET_8_VIRTUAL_ADAPTER_ADDR 172.20.0.211确实是16位的掩码,改成24位的,保存退出,重新启动fusion,再ping 测试环境,一切正常。 具体是什么原因导致的,我也不清楚,之前用的MAC OS10.6.8+vmware fusion 3是正常的,不知道为什么升级之后就不行了。但是问题是为什么虚拟机的网络会影响到主机呢?这就像儿子怎么反过来打老子了??请教了公司的一CCIE,他一讲,我是豁然开朗啊。如上拓扑图所示,vmware fusion启动之后其实就是创建了一个vm port。以下分三个阶段说明 1、未启动fusion之前,此时172.20.1.X要访问172.20.10.X/24网段,会直接查找默认网关(172.20.1.1),此时能正常访问。 2、启动fusion之后,vm port由于此时是172.20.0.0/16位的,而目的地是24位掩码,因此它会认为是直连路由,而直连路由要优先于默认网关的,因此从主机ping 172.20.10.x/24网段,它会从vm port走,而vm port是不知道如何到达172.20.10.x/24网段,因此主机也无法ping通。 3、将vmnet8的掩码改成24位后,此时vm port也是172.20.0.X/24位,而目的地是172.20.10.x/24,是不同的网段,即不是直连路由,因此会走默认路由,所以修改后能ping通。 PS:直连路由就是它的接口所连接的网络所能到达的网络 。至此,就能解释以上的现象了!Ubuntu 12.04下Matlab2009a启动后出现某些问题的解决方法MAC OS X 10.6.8安装Wireshark相关资讯 VMWARE
- VMware在DockerCon EU宣布开源“ (12/03/2015 13:13:26)
- 使用VMware克隆功能的一个网络配置 (08/13/2015 20:51:48)
- VMware推出容器友好的Linux系统 (04/21/2015 11:51:51)
| - VMware Workstation 12 Pro 发布下 (08/26/2015 19:21:49)
- VMware推出自家Linux版本 Photon (04/22/2015 17:27:21)
- VMware如何在中国取得成功? (04/20/2015 17:18:00)
|
本文评论 查看全部评论 (0)