【linux】机器的网络问题“RTNETLINK answers: Network is unreachable RTNETLINK answers: Network is unreachable”

【linux】机器的网络问题“RTNETLINK answers: Network is unreachable RTNETLINK answers: Network is unreachable”

时间:2013-09-08 11:09:56      作者:vaster      标签: Linux      分类: Linux基础

刚哥要我解决一下Billing机器使用内网连接不上的问题,通过配置之后,由于当前用的外网网卡连接,于是我图只将eth0(内网重启):

#ifdown eth0#ifup eth0
#ifup eth0

操作完成之后,发现通过SecureCRT连接不上机器了,赶忙叫楠哥从ilo登录将网卡再重启一次,这时得到如下信息:

#service network restart
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: RTNETLINK answers: Network is unreachable RTNETLINK answers: Network is unreachable   [ OK ]Bringing up interface eth1: [ OK ]
Bringing up interface eth1: [ OK ]

Eth0的配置如下(eth1的配置基本一致):

#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=10.127.3.165
NETMASK=255.255.255.128
#GATEWAY=10.127.3.254
ONBOOT=yesTYPE=Ethernet
TYPE=Ethernet

虽然会报这个错,但是两块网卡都是正常用着的,没有问题。这时,我就郁闷了,问题会出在哪里呢?我刚开始以为是我配置的route-eth0文件导致:

文件内容:

#cat /etc/sysconfig/network-scripts/route-eth010.0.0.0/8 via 10.127.3.254
10.0.0.0/8 via 10.127.3.254

这个也没有错啊,我把文件删除后,还是会报这个错,只是启动之后route里不会加上这个10.0.0.0网段的路由了。

后来无意中发现,这个文件的存在:

# cat /etc/sysconfig/network-scripts/eth0.route
ADDRESS0=192.168.0.0
NETMASK0=255.255.0.0
GATEWAY0=10.127.3.126
ADDRESS1=10.0.0.0
NETMASK1=255.0.0.0GATEWAY1=10.127.3.126
GATEWAY1=10.127.3.126

显然,这里的GATEWAY写错了,网关应该是10.127.3.254才对,于是将其改成正确的之后,果然,就不再报错了。

【扩展知识】:

在配置路由信息的时候,我们可以采取很多种方法:

  • eth0.route redhat 新推的格式 比较傻瓜一些
/etc/sysconfig/network-scripts/eth0.route
ADDRESS0=192.168.0.0
NETMASK0=255.255.0.0
GATEWAY0=10.1.1.254
ADDRESS1=172.16.0.0
NETMASK1=255.240.0.0GATEWAY1=10.1.1.254
GATEWAY1=10.1.1.254
  •  route-eth0 redhat 的老的格式 对专业人士很好
/etc/sysconfig/network-scripts/route-eth0
192.168.0.0/16 via 10.1.1.254172.16.0.0/12 via 10.1.1.254
172.16.0.0/12 via 10.1.1.254
  • static-routes
/etc/sysconfig/static-routeseth0 net 192.168.0.0 netmask 255.255.0.0 gw 10.1.1.254
eth0 net 192.168.0.0 netmask 255.255.0.0 gw 10.1.1.254

当然,我们也可以采用在rc.local里面加route add (/sbin/route add -net 192.168.0.0/16 gw 10.1.1.254)或ip route add语句,但是,这种三种方式相对会更好,在重启网络或重启网卡时都可以正常工作

时间:2013-09-08 11:09:56      作者:vaster      标签: Linux      分类: Linux基础
  • 分享到:
  • 微博
  • QQ空间
  • 腾讯微博
  • 微信

Copyright © 2015 Gitblog | Proudly powered by Gitblog.