centos--网络配置问题,提示connect: Network is unreachable

转自:http://www.centoscn.com/CentosBug/osbug/2014/0424/2860.htmlhtml

现象:centos

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

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

 route add default gw 192.168.128.2 dev eth0 dom

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

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

屡次仔细确认各个网络配置文件以后,发如今网卡配置文件中(ifcfg-eth0)有一个NETWORK配置项,对于这个配置项,自己做用不是很清楚,所以到官网查看了一下说明:server

NETWORK=<address> htm

where <address> is the network address. This directive is deprecated, as the value is calculated automatically with ifcalc.
这节奏是告诉咱们这个参数不要设置嘛(deprecate),这个值将会由ifcalc自动计算。既然不用设置,天然去掉。dns

去掉以后,重启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系统是否也是这样的,要是遇到一样的问题。就这样设一下试试

相关文章
相关标签/搜索