StupidBeauty
Read times:883Posted at:Sun Jun 3 17:21:35 2012
- no title specified

Magic Linux路由表问题导致的无法上网

本座是使用一个家用路由器连接到长城宽带的。

以前上网一直好好的,突然有一天,通过自己的路由器能够获得IP地址,却不能上网,所有的程序报告的错误都是“Network is unreachable”。本座当时不知道是什么原因,使用惯用的“重启网络服务”大法service network restart也不能修复,并且执行这个命令的时候还会报告这样的错误:

bash-4.0# service network restart

正在关闭接口 eth0: [确定]

关闭环回接口: [确定]

弹出环回接口: [确定]

弹出界面 eth0:

正在决定 eth0 的 IP 信息...RTNETLINK answers: No such process

完成。

RTNETLINK answers: Network is down

[确定]

去古鸽查咯一下“RTNETLINK answers: No such process”也没找到原因,于是就放下咯,好在本座还有另一条线是直接连接到长城宽带的,可以上网,而且那一条线不会出现这样的问题。只是当本座准备在局域网内联机打DotA时需要换线,有点麻烦。

昨天在研究DHCP的配置时,发现其中有“路由表”项,配置的是此DHCP服务器向客户机输出的路由表项。本座突然就想,也许就是路由表的问题勒。如果本座没猜错的话,家用路由器上的DHCP服务器要向客户机吐出一条默认路由(就像这样:-net 0.0.0.0 gw 192.168.2.1),但是路由器出咯某种问题导致它没有吐出这一条信息,而本座的电脑也没有自动加上这样一个默认路由,于是所有向外的数据包都找不到出口。

试验之后,发现果然是路由表有问题:

直接执行route看到的路由表:

bash-4.0# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.2.0 * 255.255.255.0 U 0 0 0 eth0

这个时候无法上网。

手动加上一条默认路由之后,就可以上网咯:

bash-4.0# route add -net 0.0.0.0 gw 192.168.2.1

bash-4.0# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

default 192.168.2.1 0.0.0.0 UG 0 0 0 eth0

192.168.2.0 * 255.255.255.0 U 0 0 0 eth0

只是本座仍然不知道,这个路由表问题是MagicLinux本身的问题还是家用路由器的问题,到目前为止更偏向于是家用路由器的问题。如果确实是家用路由器的问题,本座觉得MagicLinux也可以考虑在这种情况下自动地加上一条默认路由,这样更健壮。

反正,在有任何组织宣布对这起事件负责之前,本座还是先手动改一下网络服务的代码,让它自己加一条默认路由吧,以免以后每次都要手动加路由。

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4