最近將分享器裝上Tomato firmware後,想讓它成為VPN Server方便在外面使用不安全的wifi上網時,可以連回家中的網路再出去,或是讓手機去撥VPN連回家中,Android手機預設有support PPTP、L2TP/IPSec的VPN撥號,但若要support SSL VPN的話,要另外裝
OpenVPN for Android這個app才能連線,但對於VPN來說,SSL VPN的listen port可以改為TCP 443 port避過一些有限制的網路使用,使用上較有彈性,優缺點可以參考
這裡有說明
下面為在Tomato(VPN Server)與Android Phone(VPN Client)使用OpenVPN的方法
(研究了三天才實作出來0rz....)
Step 1:先建立OpenVPN所需的Root CA、Server Key、Client Key、Diffie Hellman參數
這個部分需要一台有安裝OpenVPN軟體的電腦來建立這些東西,我是在Linux上建立這些東西,沒有Linux機器的人,也可以利用Windows電腦裝OpenVPN來建立這些東西
# apt-get install openvpn 安裝OpenVPN套件
#cd /usr/share/doc/openvpn/examples/easy-rsa/2.0 利用easy-rsa來建立相關的CA & KEY
#vi vars 修改CA範例檔部分參數
export KEY_COUNTRY="TW"
export KEY_PROVINCE="Taiwan"
export KEY_CITY="自行設定"
export KEY_ORG="自行設定"
export KEY_EMAIL="自行設定"
Step 2:Linux上執行vars來建立相關檔案
#Source ./vars
#./clean-all 先清空此台Linux上的所有key
#./build-ca 建立CA
#./build-key-server
YourServer(名稱自訂)建立server憑證
#./build-key
Yourclient(名稱自訂)建立Client憑證
#./build-dh(安全性愈高製作時間愈久)Diffie Hellman參數
Step 3:分享器Tamoto UI裡面,點選VPN Tunnelling-->OpenVPN Server
依順序設定如下,其中Advanced頁面中的Custom Configuration額外再輸入
script-security 3
auth-user-pass-verify /etc/verify.sh via-env
(繼續閱讀...)