Table of Contents

如何在Android手机上删除路由表

我在G1上用OpenVPN连上过VPN之后,那个路由信息一直保存在系统中,就算OpenVPN断开了,那些路由信息仍然存在。

这导致我再开GPRS上网的时候上不了网,除非重启手机。

查看当前路由

用adb shell连上G1查了一下当前路由:

# busybox route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.1        10.8.0.17       255.255.255.255 UGH   0      0        0 tun0
10.8.0.17       0.0.0.0         255.255.255.255 UH    0      0        0 tun0
0.0.0.0         10.8.0.17       128.0.0.0       UG    0      0        0 tun0
128.0.0.0       10.8.0.17       128.0.0.0       UG    0      0        0 tun0

此时连移动的网络都没连上,但那些路由信息仍然保留在。

# busybox ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1564 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1564 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:120896 (118.0 KiB)  TX bytes:120896 (118.0 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.18  P-t-P:10.8.0.17  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15349 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:11534 (11.2 KiB)  TX bytes:1152208 (1.0 MiB)

删除路由

于是一条一条删除:

busybox route del -net 10.8.0.1 netmask 255.255.255.255
busybox route del -net 10.8.0.17 netmask 255.255.255.255
busybox route del -net 0.0.0.0 netmask 128.0.0.0
busybox route del -net 128.0.0.0 netmask 128.0.0.0

再查看一下当前路由,已经清空了

# busybox route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

重启GPRS连接

再打开GPRS,连上移动的cmnet:

# busybox ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1564 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1564 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:120896 (118.0 KiB)  TX bytes:120896 (118.0 KiB)

rmnet0    Link encap:Ethernet  HWaddr 92:E8:B6:FA:8A:48  
          inet addr:10.110.183.24  Bcast:10.110.183.27  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6883 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6556 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6254640 (5.9 MiB)  TX bytes:667584 (651.9 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.18  P-t-P:10.8.0.17  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15477 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:11534 (11.2 KiB)  TX bytes:1157636 (1.1 MiB)

# busybox route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.110.183.24   0.0.0.0         255.255.255.252 U     0      0        0 rmnet0
0.0.0.0         10.110.183.25   0.0.0.0         UG    0      0        0 rmnet0

路由新加上了一个,这个就是移动的网络了,但烦人的是,tun0连接依然存在,不知道怎么样将它删掉。

现在终于可以不用重启手机,又可以上网了。

参考