如何解决CentOS网络配置后无法访问外网的问题

本篇内容介绍了“如何解决CentOS网络配置后无法访问外网的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

现象:

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

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

代码如下:


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

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

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

“如何解决CentOS网络配置后无法访问外网的问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!