CentOS网络配置后不能访问外网

今天在按照Mitchell博客之前的CentOS网络配置的文章配置Linux网卡之后,发现竟然ping不通外网,但是内网ping却是正常的。一直很纳闷,在网上搜索很久也没有得到答案。关于网络的具体配置项,可以参考Mitchell博客之前的那篇文章。

现象:

ping内网正常

ping外网IP,域名均无法正常,返回错误:connect: Network is unreachable

 

后面在无意中看到有添加网关的命令:

route add default gw 192.168.128.2 dev eth0

按上面操作,添加了默认的网关之后。再次访问外网一切正常。

有这个现象来看,应该是配置文件中没有配置网关,但是经过确认/etc/sysconfig/network 中是配置了GATEWAY地址的,而且GATEWAY的地址也是正确的,在多次重启network之后,只要不手动添加网关,就不能访问外网。

多次仔细确认各个之后,发现在网卡配置文件中(ifcfg-eth0)有一个NETWORK配置项,对于这个配置项,本身作用不是很清楚,因此到官网查看了一下说明:

NETWORK=<address>
where <address> is the network address. This directive is deprecated, as the value is calculated automatically with ifcalc.

这节奏是告诉我们这个参数不要设置嘛(deprecate),这个值将会由ifcalc自动计算。既然不用设置,自然去掉。

去掉之后,重启network服务之后,外网竟然神奇的能够访问了。使用route查看路由表,发现能够自动添加default这条信息了,原来可是一直没有的:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.128.0   *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.128.2   0.0.0.0         UG    0      0        0 eth0

看来问题正是这个引起的。至于具体为什么会这样,这个设置会产生什么样的影响还不是很清楚。

TIPs:为了简单,你也可以将IPADDR,GATEWAY等设置到ifcfg-eth*的文件中,不用将GATEWAY单独设置在network中。

Tuesday, March 18, 2014 | Unix & Linux

文章评论

No comments posted yet.

发表评论

Please add 4 and 1 and type the answer here:

关于博主

  一枚成分复杂的网络IT分子,属于互联网行业分类中的杂牌军。