Android原生OpenVPN使用方法

现在Cyanogenmod和MIUI的ROM都已经原生自带OpenVPN,但是使用方法不是那么方便,前几个月折腾过,今天把方法记录下,需要的人也可以尝试下

我这里以MIUI ROM为例介绍,其实Cyanogenmod也是完全相同的,MIUI也是基于Cyanogenmod开发出来的

原生的OpenVPN设置的最大问题就是证书选择,很多人不知道怎么导入证书

android支持的证书类型是PKCS#12,所以之前我把生成的crt证书放到手机内存块根目录或openvpn文件夹下都找不到

做这些的前提是你有服务器或VPS,并安装了openvpn,或者你购买了Openvpn,并提供商可以帮忙制作PKCS#12证书

我是用自己的VPS安装了openvpn来测试的,这里我不具体说openvpn的安装方法了,网上教程非常多,今天主要说的是如何生成PKCS#12证书,并在手机上设置openvpn

进入到openvpn的证书生成文件夹,通常在/etc/openvpn/easy-rsa/2.0/keys

这里假设你生成的根证书名为ca.crt,而你自己的用户证书为client.crt,私钥为client.key

在目录下运行指令

1
openssl pkcs12 -export -in client.crt -inkey client.key -certfile ca.crt -out client.p12

运行指令会提示你输入一个export passwd,随便设置一个就行

开始我没设置,直接为空,但是android导入证书时就有问题了,不允许无密码解开PKCS#12证书

其实这指令就是把根证书和你自己的证书和私钥合并到一个PKCS#12证书中,然后把该证书传到手机导入

这里有两个办法,直接把证书放到你的apache或nginx等web服务器的文档目录下,然后直接用手机访问下载地址

这样手机会直接弹出导入证书提示,要求输入导入密码,就是之前运行指令时要求输入的密码

输入后确定,会要求为证书命名,默认是一串字符,你可以取一个方便你区分的证书名字,确定即可

另一种导入方法是把PKCS#12证书传到手机SD卡根目录,然后设置——》个人——》安全和隐私,找到凭证存储

使用安全凭证,默认是没设置过密码的,这里会要求你先设置一个密码,相当于手机报密码一样,只是用处不同

然后下面有一个从SD卡安装,选择这个选项,会弹出一个选择框,让你选择需要导入的证书,同样会要求为证书命名,确定后就导入成功了

使用第一种方法,如果你之前未设置过存储凭证的密码,也会先提示设置一个密码

证书导入的步骤就完成了,下面是设置VPN了

进入设置——》系统——》VPN——》添加虚拟专用网,选择“添加VPN “OpenVPN””

名称随你自己设一个,服务器设置为OpenVPN服务器的ip或者域名

用户认证根据你生成用户证书的时候是否选择输入密码,具体方法这里没有提及,我因为讨厌输入密码,没有设置,所以这里不需要开启

设置CA证书,选择后会弹出选择框,里面有你之前导入的证书,选择它

设置用户证书,同样选择你之前导入的证书

DNS搜索范围,可设置为8.8.8.8,Google的DNS

然后按下menu,选择高级设置

服务端口改为你的OpenVPN端口,默认为1194,很多人装OpenVPN把端口改为53端口,具体原因不在这里解释

使用协议,OpenVPN支持TCP和UDP协议,根据你的OpenVPN服务器设置选择相同的协议

使用设备,一般都是用tun网卡,不需修改

LZO压缩,大部分OpenVPN都会打开这个压缩,如果服务器开启了LZO压缩,手机也必须开启

重定向网关,根据你自己需求而定

远程设置地址,默认开启,由服务器为手机分配一个ip地址

下面的密码算法,密钥大小等不需修改,返回后保存

在VPN设置里多了你刚才设置的VPN账户,点击连接即可

补充一点,如果你的VPN设置里需要TLS验证,无法使用原生OpenVPN

如果要更好的使用OpenVPN,推荐在菜市场里搜索openvpn setting下载安装

因为MIUI本来就支持OpenVPN,也就是本来就有openvpn的库文件,不需要下载openvpn install,这个程序的功能是按照openvpn的库文件,安装一次后即可删除

但是如果你使用Cyanogenmod或者MIUI的ROM,你不需要安装它,直接安装OpenVPN Setting即可

当然你也可以下载安装看看,它会先检测是否已经有openvpn库了,一般都在/system/xbin/openvpn

本文不具体介绍OpenVPN Setting的使用方法了,如果不会设置的朋友可以留言,我改天有空了整理下写出来

声明: 除非注明,小峰网络遨游记文章均为原创,转载请以链接形式标明本文地址

本博客原创文字只代表本人某一时间内的观点或结论,与本人所在公司没有任何关系。

本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

第三方若用于商业用途的转载,须取得本人授权。

本文作者:

本文地址:http://xfeng.me/android-original-openvpn-guide/

你可能还对下面文章感兴趣: