Android + OpenVPN 完全配置方法

来源:互联网 发布:layui 后端模板 源码 编辑:程序博客网 时间:2024/05/11 15:05


  首先, 要确认你的Android是root过的, 没有root的机器以下内容免谈。

  

  1.安装busybox, terminal emulator(te) and better terminal emulator pro(btep)

    (这一步可以参考这里http://blog.csdn.net/w540982016044/article/details/7514392

  到菜市场中安装Terminal Emulator,以及"程序安装" 或 "Installer"

  进入Installer,导航到 /sdcard/download,安装BetterTerminalEmulatorPro

clip_image001

  进入btep

  $su -

  #mkdir /data/busybox

  #cp /sdcard/download/busybox /data/busybox

  #cd /data/busybox

  #chmod 755 busybox

  #./busybox --install

  #mount -o remount,rw /system

  #mkdir /system/xbin/bb

  #ln -s /data/busybox /system/xbin/bb/ifconfig

  #ln -s /data/busybox /system/xbin/bb/route

  PS1: /data/busybox这个路径可以随意选择,推荐在/data, /system/app/, /system/bin/, /system/xbin/等程序目录.

  PS2: 如果在其中任何一个步骤报错read-only file system, 请在该目录运行mount -o remount,rw /yourdirectory

  PS3: 如果想自行编译busybox,参考http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957725.aspx

  PS4: 要在te或者btep中使用busybox所带的linux命令工具如find/ifconfig/ps等,请将busybox目录添加到环境变量中:


  #export PATH=/data/busybox:$PATH

  2.tun.ko

  tun.ko是VPN的tun/tap虚拟设备的驱动,是所有vpn的基础。1.6固件以后的原始版本都自带该tun驱动,但很多社区 rom如安卓版2.0.1就把它去掉了。

  所以需要先检查是否存在tun.ko, 如果没有tun.ko的话,需要下载之后放进该目录或自行编译(这个对普通用户不太现实) :

  #ls /system/lib/modules/

  tun.ko必须要严格对应Android的内核版本,我给出的tun.ko适用于固件版本 2.0.1, 内核版本2.6.29。

  查看固件和内核版本:设置->关于手机->固件(内核)版本

  如果不是2.0.1并且检查不存在该文件,请自行google寻找对应固件和内核版本的tun.ko 。

  其它版本可能可以找到tun.ko 的地址:

  http://code.google.com/p/get-a-robot-vpnc/downloads/list

  找到之后:

  #mount -o remount,rw /system

  #cd /system/lib/modules/

  #chmod 644 tun.ko

  #cp /sdcard/download/tun.ko .

  #insmod tun.ko

  3.OpenVPN and tunnelDroid

  到菜市场安装OpenVPN安装文件和TunnelDroid

  搜索openvpn:

clip_image002

  安装OpenVPN installer和TunnelDroid

clip_image003
clip_image004


  安装完成后,运行OpenVPN Installer

clip_image005

  点击Install,选择target directory为/system/xbin, 没有root权限的话是无法安装成功的。

clip_image006

  安装成功后红球会变为绿球,字变为binary Installed。

  此程序运行一次即可,安装即成功。

  4. 连接OpenVPN server

  TunnelDroid安装成功后默认会建立/sdcard/openvpn文件夹,将你得到的server相关的配置文件和证书复制到此目录下。一般至少有以下三个文件:youropenvpnfile.ovpn, yourca.crt, yourta.key

  确认不缺少server相关的文件后,运行TunnelDroid

  列表中会出现youropenvpnfile.ovpn,点击连接。

  可能的报错和原因:

  No tun/tap device found. Reason: tun.ko 不存在,没有导入(insmod),或者下载的tun.ko文件与内核版本不对应。

  附:在Android Emulator中加入菜市场的方法

  从这里(http://developer.htc.com/adp.html)下载对应版本的Image文件(只要System Image就可以),

  把压缩包中的system.img放到你创建的avd目录下(例如C:Usersmilan.androidavddroid.avd),然后启动模拟器,就可以用你的google帐号登录market 了。