Total Pageviews

Friday, 16 August 2013

CM7下如何使用OpenVPN

CM(cyanogenMOD)7集成了OpenVPN和tun.ko,不过这个和在Android上使用OpenVPN Settings调用卡内的验证文件不太一样,需要事先使用OpenSSL打包成一个p12文件。

下面提供打包p12的方法,你需要:

1、一个Unix终端,要装了OpenSSL的

2、5分钟时间

开终端,输入
openssl pkcs12 -export -in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -name [FriendlyName] -out certs.p12

括号内的内容请依据自己情况修改。

把最后生成的certs.p12拷入手机SD卡内备用。

手机拿出,依次进入Settings-Location & security-Install from SD card

然后选择刚刚的certs.p12,按照提示设定存储密码即可导入。

再依次进入Settings-Wireless & Networks-VPN Settings-Add VPN

选择OpenVPNAdd VPN,照下方法填写

[VPN name] 任意

[Set VPN server] 填写你配置文件中的remote后面跟的IP或地址

[User authentication] 如果你用的用户名密码类型的,请打钩,否则留空

[Set CA certificate] 点一下,选择刚刚导入的证书

[Set user certificate] 点一下,选择刚刚导入的证书

然后按一下menu,选Advanced,根据自己的ovpn配置文件详细配置高级选项,最后保存即可。

友情提示:

CM内置的OpenVPN在网络变化导致断开连接的时候并不会提示disconnected,如遇网络不通请手动重连,进入VPN选项,再点一下即可断开。
-------------------------------------------------
CM7内置openvpn的设置

CM7早已内置了openvpn的功能,但是似乎在官网上面没有写明如何使用,这给我的openvpn设置带来了一点麻烦,因为我openvpn总 共有四个文件:ca.crt, client.crt, client.key和client.ovpn,我找不到地方能把它们全部添加进android的存储凭证中。不过还好@dickeny给了我一点提示 :打包成pkcs12格式放入SD卡中。接着就找到了篇文章参考:CyanogenMod OpenVPN GUI – how to load keys&certs,还有openvpn上的文件功能解释:OpenVpn HOWTO。

简单的描述一下:

准备好openvpn所需要的四个文件(可以没有其中的client.ovpn)
制作pkcs12包
1 openssl pkcs12 -export -in client.crt -inkey client.key\
2 -certfile ca.crt -name nameYouWant -out packName.p12
将pkcs12包放进SD卡
进入 设置 –> 位置和安全 –> 凭证存储 –> 从SD卡安装 –> 选择pkcs12包
进入 设置 –> 无线和网络 –> 虚拟专用网设置 –> 添加虚拟专用网
DONE!
一般的openvpn的连接信息(IP地址,端口,协议等)均在ovpn文件里面有描述,或者向vpn提供商询问即可.