厦门直飞伦敦:Android2.1之OpenVPN解决方案

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 08:21:14

电脑 :一开始没有使用斑斑提供的OpenVPN 软件 ,使用了原版软件,最初正常 设置 无法连接,不知是网络的缘故还是配置上的问题,故换成另一个版本软件安装), 中文 界面,应该版本不是最新的版本,简单设置一下.ovpn配置 文件 ,稳定链接,网速良好。

.ovpn配置文件 具体如下,作了一些简单的注释:

# 声明客户端

client

#声明使用的设备可选tap和tun,tap是二层设备,支持链路层协议。tun是ip层的点对点协议

dev tun

#声明使用的协议,使用TCP协议

proto tcp

#设置Server的IP地址和端口,如果有多台 机器 做负载均衡,可以多次出现remote关键字

remote vpn1.5high.net443

# 随机选择一个Server连接,否则按照顺序从上到下依次连接

;remote-random

#OpenVPN使用的 ROOT CA,使用build-ca生成的,用于验证客户是证书是否合法

ca ca.crt

# 在本机不邦定任何端口监听incoming数据

nobind

# NAT后面使用VPN,如果VPN长 时间 不通信,NAT Session可能会失效,

# 导致VPN连接丢失,为防止之类事情的发生,keepalive提供一个类似于ping的机制,

# 下面表示每10秒通过VPN的Control通道ping对方,如果连续120秒无法ping通,

# 认为连接丢失,并重新启动VPN,重新连接

keepalive 10 120

# 和Server配置上的功能一样如果使用了chroot或者su功能,最好打开下面2个选项,防止重新启动后找不到keys文件,或者nobody 用户 没有权限启动tun设备

persist-key

persist-tun

# 用户验证方式,jiyee.txt文件中存放用户名和密码,第一行写用户名,第二行写密码。如果配置成auth-user-pass,那样需要每次手动输入用户名和密码

auth-user-pass jiyee.txt

# 设置log文件信息等级

verb 3

# 设置路由网关

redirect-gateway

# Use IP helper API. exe - Call the route.exe shell command.

route-method exe

# 强行指定添加路由前的延时

route-delay 2

手机 :Android2.1的 系统 ,ROM是CM5.0.5.3,系统集成了OpenVPN,我在WIFI环境下,基本一直挂着连接,从不掉线,耗电量也可以。因为具备电脑上的成功经验和基本的系统支持,猜想手机上应该能够成功。Android系统OpenVPN软件基本两种,一种使用Tunnel Droid ,一种使用OpenVPN Setting,不过我看了其实是一样的,呃……主要是新版TunnelDroid我无法正常使用,而且网上教程也不少,所以以下教程使用OpenVPN Setting,主要 解决 在Android系统上也使用.ovpn配置文件连接VPN服务器,因为手机上一般使用都是P12格式的证书,而xxVPN因为使用的是用户名密码的验证方式,故无法正常生成P12证书,所以主要研究如何使用.ovpn配置文件方式连接VPN服务器。

如下所述主要参考2篇比较靠谱的教程,尊重知识,链接以给出。

操作方法

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.1将你的VPN.opvn,ca.crt等配置文件(xxVPN使用的用户名/密码验证,所以没有client.crt和client.key配置文件)全部复制到新建的openvpn文件夹

12.重新载入SD卡,再次打开OpenVPNSettings,此时Configurations菜单内应该就出现VPN.ovpn的配置文件,直接点击配置文件就开始连接

13.提示输入用户名和密码,在通知栏打开输入用户名和密码

14.连接成功后,打开 浏览器 ,输入 www.ip138.com ,如果成功的话,你的IP将变成VPN的服务器IP

15.至此,在CM上,就可以使用*.opvn配置文件来连接OpenVPN了。

OpenVPN Setting使用的opvn配置设置跟电脑上稍有不同,如果试用原ovpn配置,"route-method exe",因为这项设置会出现linux ipconfig错误,所以在Android系统是使用的.ovpn配置需要稍做修改,另外似乎手机上的配置文件需要的换行方式都不一样(这个不确定,好像是无所谓的)具体如下

client

dev tun

proto tcp

remote-random

remote vpn1.5high.net443

ca ca.crt

nobind

keepalive 10 120

persist-key

persist-tun

auth-user-pass jiyee.txt

verb 3

redirect-gateway

route-delay 2

附:国内路由选择解决方案

Android部分

下载 chnroutes_ovpn_ android 文件到任意安装有python环境的机器上

在命令行里进入下载目录, 执行python chnroutes_ovpn_android, 这将生成\'vpnup.sh\'和\'vpndown.sh\'两个文件.

把步骤2生成的两个文件拷贝到 android 的 /sdcard/openvpn/目录下, 然后修改openvpn配置文件, 在文件中加上以上三句:script-security 2

  up "/system/bin/sh /sdcard/openvpn/vpnup.sh"

  down "/system/bin/sh /sdcard/openvpn/vpndown.sh"

注意自行修改其中的路径以符合你的android rom 的实际路径

另外,这里假定了你的Android已经安装过busybox,否则请先安装busybox再进行以上操作,还需要知道的是,这个脚本在手机上执行会花费比较长的时间,如非必要,就不要用了。也许采用非redirect-gateway方式,然后在.ovpn配置文件里添加几条需要路由的ip段是比较快捷方便的做法。