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

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

1
 route -Cvn

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

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

1
2
3
4
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了。

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

1
 route -Cvn

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

更多
2 Responses Post a comment
  1. 小严

    不知道linux下有什么好软件可以代替wlw来写博客

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS