终于在Android上搞定openvpn

自从上次在办公室搞定openvpn之后,就一直琢磨着要在手机上也搞openvpn。Winmo的机器很好搞,下载安装即可,然后在Android上面遇到了重大困难,最后在 @lalahwu 同学的帮助下,终于搞定。不得不说,GFW活活把人逼成技术宅啊~~~决定把过程备份一下,按惯例不给openvpn的地址,道理你懂的。

首先Android需要root,看看/system/lib/modules里面有没有一个叫做tun.ko的文件,没有的话需要根据内核的版本去寻扎一下,在手机的终端模拟器里面输入:

1
su uname -a

然后根据显示的内核寻找对应的tun.ko,乱找一个是没用的。。。其实最简单地,找一个手机对应的第三方的内核,很多第三方的内核都带tun模块,进recovery更新下就好。。。

终端模拟器中输入:

1
su insmod /system/lib/modules/tun.ko

只要没有出错信息就好,重启手机。

然后要重设一下busybox的路径,我觉得我之前失败的原因就在这里,没有link busybox导致路由设置无效。

终端模拟器中输入:

1
2
3
cd /system/xbin
su mount -o remount rw /
su ln -s /system/xbin /system/xbin/bb

然后上market下载openvpn installer,选择安装openvpn binary目录时选择: /system/xbin/openvpn,选择ifconfig目录时候选择 /system/xbin/bb。

把openvpn的所有配置文件放在/sdcard/openvpn/中

去市场下载安装openvpn setting,进高级,Path to openvpn binary选择 /system/xbin/openvpn,勾选Load tun kernel module,进入TUN module settings配置以下信息:Load module using 选择 insmod,Path to tun module 输入 /system/lib/modules/tun.ko。

拨号

成功之后建议用Fix Dns使DNS修正到8.8.8.8,上myip.cn看一看地址是否正确,如果还是墙内的话重启手机再试。。。

updatedupdated2011-05-042011-05-04