这个问题被问过很多次,加上我自己的VPN用户也有询问这个问题,很多人参考的又是网上古老的文档,所以我这里写一篇讲解一下。
想要阅读下文,请确保你知道什么是adb及如何使用adb ![]()
首先明确一下,只有Android 1.6及更高版本才默认自带了TUN驱动。没有TUN驱动,Android是无法支持任何VPN的。但是我听说过有人把tun.ko(TUN驱动文件)移植到了G3 Hero里,从而让Android 1.5也可以使用OpenVPN。这个我没有证实过,稍后补充:-)
100228 UPDATE:确实有,Modaco ROM就是基于官方Android1.5内核的ROM,自带了tun驱动。HTC Hero用户可以参考这里安装
http://blog.devep.net/virushuo/2010/02/28/androidhtc_herovpn.html
其次确认一下你的系统里有没有busybox命令。目前基本上所有自定义rom都会有busybox这个东西。busybox是在嵌入式linux系统提供基本Linux命令集的工具,官网上的介绍是busybox-The Swiss Army Knife of Embedded Linux。从它的功能上来说也确实是个瑞士军刀~
呃跑题了…然后确认一下你的rom里是否已经预包含了OpenVPN。方法是:在adb shell中输入which openvpn,如果有输出类似/system/xbin/openvpn这样的字样,就说明你的rom已经预装了OpenVPN,你可以跳过安装OpenVPN的步骤了。
如果你的ROM里没有自带OpenVPN,通过以下方式安装。注意网上流传的一堆.so文件的安装方法仍然有效,但是完全没必要这么安装了。这里提供的openvpn for android二进制文件已经静态编译,不需要动态链接库的支持了:
1、下载http://github.com/downloads/fries/android-external-openvpn/openvpn-static-2.1.1.bz2
2、解压缩获得openvpn-static-2.1.1,执行adb push openvpn-static-2.1.1 /system/xbin/openvpn
3、adb shell,执行chmod 775 /system/xbin/openvpn
以上是安装OpenVPN二进制文件的过程。
OpenVPN的使用:
OpenVPN通常用数字证书进行验证,用一个.ovpn文件进行配置。将.ovpn文件、.key文件、.crt文件及ca.crt一共4个连接所需的文件放在/sdcard/openvpn/文件夹下,然后从market安装tunneldroid进行连接即可。
注意tunneldroid提供了修改DNS的选项。由于国内各个DNS基本都存在DNS污染,所以建议在tunneldroid的设置页面填一个国外的DNS,例如google的8.8.8.8。
以上如有疑问请回复提出。写twitter多了不会写长文了=。=

路过看看,照着弄俺的G1看看行不~
[回复]
谢谢!
[回复]
tun.ko好像和具体OS版本有关。网上流传的各版本tun.ko在我这个版本的1.5rom没一个能用的……
[回复]
安装openvpn还有一个方法,用市场上的openvpn installer,那个比较傻瓜,适合没有电脑时单机使用。
[回复]
android还能用openvpn?好强大啊..等ME600降价
[回复]
学习了,十分感谢!
[回复]
这个太需要了。太需要了!
[回复]
嗯,很简单,移动的gprs用vpn速度也还可以。
[回复]
这个好…
终于有详细的了
[回复]
Moto Milestone的tun.ko模块。
在我准备自己编译一个的时候,我找到了。。。
http://orz.se/3Y6
[回复]
停在connecing:assign_ip这里了!
[回复]
yegle 回复:
三月 1st, 2010 at 00:20
用taskiller杀死tunneldroid然后重新打开tunneldroid看log最后在干嘛
[回复]
oimm 回复:
三月 1st, 2010 at 00:25
我发了log邮件给你,麻烦了!现在重启以下hero看看!
[回复]
vt 回复:
三月 5th, 2010 at 02:33
自从换到2.1之后我也出现这个问题了……
[回复]
vt 回复:
三月 5th, 2010 at 02:40
……解决了。
mkdir /system/xbin/bb
ln -s /system/xbin/busybox /system/xbin/bb/ifconfig
ln -s /system/xbin/busybox /system/xbin/bb/route
[回复]
用openvpn的话是开机自动连接的么?还是每次开机要手动连接啊,可以指定路由表么?谢谢楼主
[回复]
yegle 回复:
三月 2nd, 2010 at 02:57
手动连接,可以指定路由表
[回复]
果子狸 回复:
三月 20th, 2010 at 15:22
请问下android上面怎样指定路由表呢?谢谢啦
[回复]
tunneldroid 已经 并入 OpenVPN Settings
[回复]
您好 想求教一下关于OVpen 我Android2.1的系统 WCDMA网络 安装和连接OVPN一切正常 但是 发现我的网络流量不走VPN 烦请高手指点 谢谢!
[回复]
yegle 回复:
八月 28th, 2010 at 14:20
请联系你的vpn服务提供商解决这个问题
[回复]