最近搬回了公寓,公寓有免費得ipv6網路,但是ipv4收費,考慮晚上回去就是手機上上網,如果電腦上網,完全可以遠端連線實驗室機器,考慮到這部分需求,所以考慮使用ipv6 + goagent + openwrt方式。
硬體:TP-Link WR841N路由器
軟體:Openwrt最新版(核心版本3.3.8),goagent 1.8.11
步驟:
1,openwrt安裝ipv6。按照http://wiki.openwrt.org/doc/howto/ipv6要求,安裝ipv6,
opkg install kmod-ipv6 radvd ip kmod-ip6tables ip6tables
2,設定ipv6地址。重啟網路,不知道什麼原因,路由器的ipv6地址無法自動擷取(暫時不知道原因),需要手動設定Scope:Global,首先在openwrt下執行ifconfig命令,擷取當前Scope:Link的ipv6地址,如下所示:
inet6 addr: fe80::5e63:bfff:fefe:43b3/64 Scope:Link
然後編輯/etc/config/network下的wan部分,根據上面結果,添加如下行:
option 'ip6addr' '2001:cc0:2026:1400:5e63:bfff:fefe:43b3/64'
其中2001:cc0:2026:1400部分不同的網路會不同,類似於ipv4中的網段;後面部分和Scope:Link地址一樣
3,設定ipv6網關。在這裡,開始犯了一個錯誤,一直糾結為什麼不能ping同ipv6地址,後來發現原來是自己手動設定ipv6地址,沒有設定對應的ipv6網關,ipv6網關可以在windows 7下tracert -6 ipv6.google.com這樣的方式擷取,其中第一個出現的ipv6地址(第一跳),就是ipv6網關,設定命令如下:
route -A inet6 add ::/0 gw 2001:cc0:2026:1400:3a22:d6ff:febf:900
設定好後,可以ping6 ipv6.google.com,測試是否成功
4,安裝goagent,這裡網上有很多教程,需要注意的是,goagent版本號碼必須是最新版本,我開始用的老版本,發現在Linux下,對ipv6支援不好,串連總是出現error,下載最新版本(1.8.11),修改對應的appid和ip,順利解決問題
5,手機端安裝一個代理用戶端,ip地址設定為路由器ip,連接埠設定為對應的goagent地址,這樣可以順利上網了
PS:ipv6串連google ipv6伺服器,速度太慢了,延遲有400ms,而串連google的國內ipv4地址,延遲只有4ms,不過手機就是上上網,無所謂哪!