關(guān)于CentOS網(wǎng)絡(luò)的具體配置項(xiàng),可以參考Mitchell博客之前的那篇文章。
現(xiàn)象:
ping內(nèi)網(wǎng)正常
ping外網(wǎng)IP,域名均無法正常,返回錯(cuò)誤:connect: Network is unreachable
后面在無意中看到Linux網(wǎng)絡(luò)配置有添加網(wǎng)關(guān)的命令:
route add default gw 192.168.128.2 dev eth0
按上面操作,添加了默認(rèn)的網(wǎng)關(guān)之后。再次訪問外網(wǎng)一切正常。
有這個(gè)現(xiàn)象來看,應(yīng)該是配置文件中沒有配置網(wǎng)關(guān),但是經(jīng)過確認(rèn)/etc/sysconfig/network 中是配置了GATEWAY地址的,而且GATEWAY的地址也是正確的,在多次重啟network之后,只要不手動(dòng)添加網(wǎng)關(guān),就不能訪問外網(wǎng)。
多次仔細(xì)確認(rèn)各個(gè)網(wǎng)絡(luò)配置文件之后,發(fā)現(xiàn)在網(wǎng)卡配置文件中(ifcfg-eth0)有一個(gè)NETWORK配置項(xiàng),對(duì)于這個(gè)配置項(xiàng),本身作用不是很清楚,因此到官網(wǎng)查看了一下說明:
NETWORK=address>
where address> is the network address. This directive is deprecated, as the value is calculated automatically with ifcalc.
這節(jié)奏是告訴我們這個(gè)參數(shù)不要設(shè)置嘛(deprecate),這個(gè)值將會(huì)由ifcalc自動(dòng)計(jì)算。既然不用設(shè)置,自然去掉。
去掉之后,重啟network服務(wù)之后,外網(wǎng)竟然神奇的能夠訪問了。使用route查看路由表,發(fā)現(xiàn)能夠自動(dòng)添加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
看來問題正是這個(gè)NETWORK參數(shù)設(shè)置引起的。至于具體為什么會(huì)這樣,這個(gè)設(shè)置會(huì)產(chǎn)生什么樣的影響還不是很清楚。
TIPs:為了簡(jiǎn)單,你也可以將IPADDR,GATEWAY等設(shè)置到ifcfg-eth*的文件中,不用將GATEWAY單獨(dú)設(shè)置在network中。