青蛙注:恨死ScribeFire,青蛙這篇日誌寫了一上午,結果馬上要寫完了,瀏覽器崩潰。 杯具就是這麼產生的。
重寫的話,就不囉嗦了,直接寫主要的。
青蛙目前使用的是機鋒fancies大大製作的PLUS9 FINAL系統,可能其他的系統會有所區別,安裝的時候需要注意。 假設milestone已經獲得了root,已經安裝好了busybox,並且系統裡已經帶有tun.ko。
首先,要下載一個openvpn ,解壓並上傳到手機上,青蛙偏好使用adb push,這樣不需要來回切換存儲卡,插上usb就可以用。
sudo adb push openvpn-static-2.1.1 /sdcard/openvpn
使用sudo adb shell命令連到手機的shell,注意以下命令都需要root權限。
因為/system 是只讀的,需要先掛載成可寫的模式:
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
把openvpn複製到/system/bin裡面:
# cp -f /sdcard/openvpn /system/bin
然後把/system重新掛載為只讀模式:
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock6 /system
打開Market,搜索openvpn,安裝openvpn settings,然後打開openvpn settings,按菜單鍵選擇Advanced:
選中Load tun kernel module,Path to configuations設置為/sdcard/openvpn,Path to openvpn binary設置為/system/bin/openvpn。
然後點擊TUN module settings,
Load module using選擇insmod,path to tun module填入/system/lib/modules/tun.ko
為了防止DNS欺騙,還需要Fix DNS,點擊Fix DNS,會把dns服務器設置為8.8.8.8。
完成以上設置之後,把openvpn的配置文件、證書等複製到/sdcard/openvpn目錄下,再打開Openvpn Settings,就可以連接vpn了。
PS1.青蛙開始的時候是用Market裡面的Openvpn Installer安裝openvpn的,但是裝完之後可以建立vpn連接,但是無法設置tun設備,log裡會出現這樣的錯誤日誌:
Options Error: Unrecognized option or mising parameter(s) in [PUSH-OPTIONS]:1: route (2.1.1)
Options Error: Unrecognized option or mising parameter(s) in [PUSH-OPTIONS]:1: ifconfig (2.1.1)
解決方法也很簡單,按照上面描述的方法,下載一個openvpn程序裝上就行了[1]。
PS2.網上有些教程[2]使用的是TunnelDroid,青蛙感覺這個東東跟Openvpn Settings基本功能都一樣,只不過TunnelDroid可以更方便的查看Log,
這兩個程序按照自己的喜好安裝就是了。
參考文檔:
- Issue 26: Unrecognized Command or missing parameter http://code.google.com/p/android-openvpn-settings/issues/detail?id=26
- android手機moto Milestone配置OpenVPN方法http://www.yisiyisi.net/archives/137.html







