Android上连接OpenVPN

来源:深�

入手Moto的MileStone2已经有一个月了,但始终没找到SSH直接代理的方法,所以想到了VPN。自己有合租VPS,所以VPN服务器是现成的,只要在手机上架好客户端就可以穿越了~

现在把连接过程中的一些参考资料给归总一下,希望能帮到后人。

前提:

手机必须先获取ROOT权限,Z4Root工具即可一键获取多数手机的ROOT,操作详见Google。

主要流程

引用自:http://3g.spforum.net/viewthread.php?tid=321216

  1. 在Market里搜索OpenVPN。
  2. 下载安装OpenVPN Setting和OpenVPN Installer。
  3. 打开OpenVPN Installer,选择安装OpenVPN。
  4. 在跳出的第一个窗口中,选择/system/bin ,将OpenVPN的二进制文件安装到/system/bin目录下。
  5. 在跳出的第二个窗口中,选择/system/xbin/bb,将ifconfig和route这两个命令连接到/system/xbin/bb下。
    (该步骤可能无效,需要稍后手动补正)
  6. 过程中会跳出su授权,每次都点击allow。
  7. 安装完成后,打开OpenVPN Setting。
  8. 点Menu,选Advanced,点击Path to OpenVPN binary,将目录改为/system/bin/openvpn。
  9. 按返回保存。
  10. 连接USB,在SD卡根目录下创建openvpn文件夹
  11. 将你的VPN.opvn,ca.crt等配置文件(xxVPN使用的用户名/密码验证,所以没有client.crt和。client.key配置文件)全部复制到新建的openvpn文件夹。
    (我是使用key和cert文件的证书模式直接验证的,而不是用户名密码模式,所以13步就不会发生)
  12. 重新载入SD卡,再次打开OpenVPN Settings,此时Configurations菜单内应该就出现VPN.ovpn的配置文件,直接点击配置文件就开始连接。
  13. 提示输入用户名和密码,在通知栏打开输入用户名和密码。
    (该步骤只有在步骤13选择用户名密码验证的情况下才会发生)
  14. 连接成功后,打开浏览器,输入www.ip138.com,如果成功的话,你的IP将变成VPN的服务器IP。
  15. 至此,在CM上,就可以使用*.opvn配置文件来连接OpenVPN了。

至此,也许运气好真的就直接能连接上了,那就无需继续阅读本文以下部分了。但我就没能成功连接上,期间报错如下:

  1. cannot allocate tun/tap dev dynamically
  2. linux ifconfig failed: could not execute external program

如果你也有这样的错误发生,那还有下面的步骤需要执行。

手动修正

参照自:http://lunargeek.com/?p=22

  1. 上面的错误1是因为手机中没有tun.ko文件,需要手动添加,该文件可以从这里下载到。
  2. 下载完毕后,你需要将它粘贴到/system/lib/modules/目录下,该操作需要工具root文件管理器来执行。
  3. 安装tun.ko,需要使用超级终端来手动执行命令:
    insmod /system/lib/modules/tun.ko
    如果该命令报错,则说明tun.ko文件的版本和os不兼容,你需要找到符合你os的版本。
  4. 到此你可以再尝试一下是否已经能够连接,如果报出错误2来,那继续…
  5. 使用超级终端执行命令:(确认目录存在,不存在就新建,并给与权限)
    ln -s /system/bin/ifconfig /system/xbin/bb/ifconfig
    ln -s /system/bin/route /system/xbin/bb/route
  6. 如果目录下出现了ifconfig和route文件,那说明步骤5成功。
  7. 设置openvpn settings
    1. 打开openvpn settings,按菜单键选择advanced,勾选"Load tun kernel module"
    2. 点击"Tun module settings",再点击"Load module using",选择"insmod",点击"Path to tun module",输入tun.ko路径"/system/lib/modules/tun.ko"
    3. 返回上一级,点击"Path to configuration"输入openvpn配置文件路径"/sdcard/openvpn"
    4. 点击"Path to openvpn binary"输入openvpn程序路径"/system/xbin/openvpn"
  8. 至此,修正完毕,重新连接VPN吧。

结语

好了,VPN连接上后,马上去twitter.com看了一下,好不容易连上了… 速度不怎么快,但真的出去了~大功告成。

可以的话,我还是希望能在不久的将来找到SSH代理的方式,而不是笨重的VPN。

―――――――――――――――――――――――――――――――――――――――――

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog直接下载。

推特用户请点击这里免翻墙上推特

请点击这里下载翻墙软件

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代翻墙技术博客GFW BLOG(免翻墙)

请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙)http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。


1 条评论:

Gemma 说...

有 SSH Tunnel