最近上网很卡——原来是multi-route的缘故 » 荒野无灯weblog

Keep It Simple, Stupid.

荒野无灯weblog

最近上网很卡——原来是multi-route的缘故

自用Archlinux起,用过几天gnome3 ,此后一直在用Xfce4 ,没有装gnome的networkmanager.手动命令配置网卡+shell脚本,也挺方便的。
近来发现只要是在linux下面连接无线AP上网就特别的卡,起初以为是有人在用某雷下载东西占用了大量带宽导致的,今天偶然查看了下系统路由缓存表,发现问题了。

 route -Cvn

发现好多IP的路由都经过网关 172.30.16.254 ,而这是有线网卡的默认网关,我网线都没有插,流量自然也就无法通过该网关,然后,折回,再通过无线路由的网关,如此一来,网速不慢才怪呢。

自从Archlinux的网络管理包network的配置方式改变以后,我就用了新的配置方式,官方的单网卡多IP设置是基于老的配置方式了,因此,我只好在rc.conf里面先设置一个IP

interface=eth0
address=172.30.16.31
netmask=255.255.255.0
gateway=172.30.16.254

然后在rc.local里面添加一行执行shell脚本来命令绑定另外一个IP到eth0.
但是由于我在配置无线网卡时,只是设定IP,添加路由,却没有删除内核路由表中处于UG (UP,Gateway)状态 eth0的默认路由,这就导致了同时有两个UG标志的路由存在于内核路由表中。
解决办法很简单:删除不用的那条路由就OK了。

要查看当前内核路由表的缓存,可用

 route -Cvn

默认情况下我们用 route -vn 则是查看的内核路由表,相当于 route -Fvn.

Tagged in : Linux,archlinux,route,路由

All Comments (0)
Gravatar image
No Comments