centos--網絡配置問題,提示connect: Network is unreachable


轉自:http://www.centoscn.com/CentosBug/osbug/2014/0424/2860.html

現象:

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中修改/etc/resolv.conf又恢復到原來的狀態+++++++++

運行route命令時,如果遇到長時間運行,一直沒有出現default那一行,可以檢查eth0文件中的DNS是否配置錯誤。

機器系統為CentOS6,ip地址已經設好了。使用setup更改了一下外地公網的dns,保存退出。重啟service network restart后發現不能解析了。用ip地址可以連,但是不能ping www.sina.com.cn

  總是這樣,設置一次可以,過一會或者重啟一下服務器,重啟一下network都不能解析了。發現/etc/resolv.conf又恢復到原來的狀態,里面什么都沒有了。手動加入nameserver也不行。

  后來到網上查找,發現有人與我同樣的問題。原來在CentOS5.4下面直接修改/etc/resolv.conf不行。必須要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的設置。要不然,重啟后,肯定使用eth0設置中沒有設 dns的相關信息,使/etc/resolv.conf恢復到原來的狀態。

  打開/etc/sysconfig/network-scripts/ifcfg-eth0,為了保險起見,可以同樣修改eth1的設置

  DEVICE=eth0
  BOOTPROTO=none
  HWADDR=00:xx:19:xx:xx:xx
  ONBOOT=yes
  TYPE=Ethernet
  USERCTL=no
  IPV6INIT=no
  PEERDNS=yes
  NETMASK=255.255.255.0
  IPADDR=xxx.xxx.xxx.xxx
  GATEWAY=xxx.xxx.xxx.xxx
  DNS1=202.96.209.5     

        DNS2=202.96.209.133    這樣設置后,/etc/resolv.conf里面根本就不需要設置。service network restart 后,可以發現/etc/resolv.conf里面就有兩個dns的解析ip了。配置好以后重啟網絡,cat /etc/resolv.conf,可以看到如下參數:

   # Generated by NetworkManager
   nameserver 202.96.209.5
   nameserver 202.96.209.133
   search localdomain

  DNS解析設置成功。
  在此要強調一點的是,直接修改/etc/resolv.conf這個文件是沒用的,網絡服務重啟以后會根據/etc/sysconfig /network-scripts/ifcfg-eth0來重載配置,如果ifcfg-eth0沒有配置DNS,那么resolv.conf會被沖掉,重 新變成空值。

  不過對於其他的CentOS系統是否也是這樣的,要是遇到同樣的問題。就這樣設一下試試

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM