连接好有线有无线,然后查看自己的路由表 route -n
。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.18.116.1 0.0.0.0 UG 0 0 0 lan0
125.87.116.0 0.0.0.0 255.255.252.0 U 0 0 0 wlan0
172.18.116.0 0.0.0.0 255.255.252.0 U 0 0 0 lan0
明显所有的请求的下一跳都是172.18.116.1,明显这不对的,我们要的应该是125.87.116.1外网网关。
route add default gw 125.87.116.1
把默认网关换成wifi通道,也可以用 route del default lan0
把内网的默认路由删了。这时候已经成功把默认通道切换到了wlan。
但是这不是我想要的,我想的是让172.×.×.x和202.202.×.x走有线校园网。
把172网段就成功转到有线上:
route add -net 172.0.0.0 netmask 255.0.0.0 gw 172.18.116.1
再把202.202.×.x网段转到有线上:
route add -net 202.202.0.0 netmask 255.255.0.0 gw 172.18.116.1
路由表都添加完之后,应该像这样子的
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 125.87.116.1 0.0.0.0 UG 0 0 0 wlan0
125.87.116.0 0.0.0.0 255.255.252.0 U 0 0 0 wlan0
172.0.0.0 172.18.116.1 255.0.0.0 UG 0 0 0 lan0
172.18.116.0 0.0.0.0 255.255.252.0 U 0 0 0 lan0
202.202.0.0 172.18.116.1 255.255.0.0 UG 0 0 0 lan0
这时候就就能同时上内外网了:)
每次重新连网就要重新编辑本地路由表(坑爹水晶头,一碰就断网),可以写个脚本来自动处理。其实用ip命令来操作其实会更好,不用nm来连网也会更好,但是我偷懒了…手动配置wpa_supplicant.conf真心不是个好主意。