利用OpenVPN連接IPV6孤島

在較早前的文章 爲OpenWrt上的pptp VPN增加IPV6支持 已經實現了通過pptp vpn來連接各個IPV6孤島,但是在實際的應用中,PPTP VPN的表現實在不盡人意。運營商的各種限制,nat穿透性不好,連接不穩定。做好之後幾乎沒有正式用過,實屬折騰。

沿用這個思路,我又搞了一個基於OPENVPN的,openvpn基本上解決了pptp的各種問題,就是客戶端需要另外配置這一點比較蛋疼。至今已用了1年,算是比較穩定。特此記錄下來,以便日後參考。

關於OpenVPN的介紹在此省略了,這絕對是一個神奇的軟件。把網絡層的數據重新封裝成應用層包,用應用層(TCP/UDP)協議進行傳送數據,使其具有很強的適應能力。無論經過nat還是代理都沒有問題,由於協議沒有特別的特徵運營商也無法針對其進行封殺。

服務端用的是OpenWrt Attitude Adjustment 12.09官方版X86,使用TunnelBroker鏈接到ipv6的Internet。

客戶端用HG255d,刷自行編譯的OpenWrt Attitude Adjustment 12.09(實際什麼版本關係不大,只要能安裝openvpn就可以了)

這裏用的是tun模式,主要考慮客戶端使用性能較低嵌入式路由器,需要儘可能降低客戶端的負擔,提高其性能。

基本的工作原理就是當客戶端與服務端建立了tunnel以後,利用tunnel的近端地址建立6in4隧道。通過openvpn裏面的up/down腳本選項來實現建立隧道的動作。

ipv6地址分配策略:

互聯地址使用 x:1y::z/64

路由ip段使用 x:2y::0/64

其中x是48位ipv6前綴,y是客戶端互聯地址尾數,z是主機地址1是服務端,2是客戶端。

例子

48位ipv6前綴 2001:470:8152::0/48
vpn隧道建立成功後,ipv4互聯地址是服務端198.18.18.97,客戶端是198.18.18.98。
那麼其分配的ipv6互聯地址就是
服務端 2001:470:8152:198::1/64
客戶端 2001:470:8152:198::2/64
該客戶端的路由ip段 2001:470:8152:298::0/64


======邪惡分割線=========

本文爛尾中....

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章