最近用vmware装了一台虚拟机,使用了两个网卡,一个是hostonly,一个是桥接(用DHCP)。但发现连接外网时,能解析IP地址,但死活连不出去。重置vmware网络组件、重新添加网卡、指定IP、指定网关、设置路由器全都试过了,折腾了一天都不行。


[root@hadoop1 ~]# ping www.baidu.com

PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.


[root@hadoop1 ~]# traceroute www.baidu.com

traceroute to www.baidu.com (14.215.177.38), 30 hops max, 60 byte packets

1 * * *

2 * * *

3 * * *


ping的时候能解析IP,说明能连上路由器,但为什么连不上呢?后来无意中看到,网卡有个DEFROUTE=yes属性,查了一下,原来是设置这个网卡是否是默认路由。马上检查了一下这两张网卡,果然都设置了yes,将hostonly网卡的改成no后问题解决。


看来问题就出在这个属性上,两张网卡都设置了yes,防问外网时,网络包估计直接用了第一个网卡(正好是hostonly)发送,所以一直都发不出去。但因为解析DNS、获取IP时第二张网卡可正常使用,因此动态IP可以获取到,也可以解析DNS,造成了让人迷惑的假像。