現在Cyanogenmod和MIUI的ROM都已經原生自帶Open VPN ,但是使用方法不是那麼方便,前幾個月折騰過,今天把方法記錄下,需要的人也可以嘗試下
我這里以MIUI ROM為例介紹,其實Cyanogenmod也是完全相同的,MIUI也是基於Cyanogenmod開發出來的
原生的Open VPN設置的最大問題就是證書選擇,很多人不知道怎麼導入證書
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
在目錄下運行指令
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的使用方法了,如果不會設置的朋友可以留言,我改天有空了整理下寫出來
相關閱讀
Game2.tw遊戲攻略、資訊網站
申請友情鏈接,申請遊戲專區建立,發放遊戲活動碼,請聯繫bd#game2.tw(#替換成@)