作者:技術宅是我夢想
今天寫點熱門的,隨著我國ipv6的普及基本上運營商都給提供了公網ipv6。之前因為有的小夥伴們沒辦法獲取到v4公網,才用了曲線救國的方法---------內網穿透,因為我有公網ipv4,而且ipv6確實比v4複雜許多,有很多概念不太一樣,我也只是瞭解一點點,我只是個電腦愛好者不是什麼專業人士,還是比較懵逼的。目前好多城市的運營商在回收給使用者免費提供的公網v4,為了預防這個我最近學習了一下單純ipv6的情況下,如何回家和異地組網。今天我就用我目前的網路裝置演示下我的設定。
我的方案
我用的是免費開源的wireguard來進行異地組網,一個是家裡,一個是單位宿舍。這樣我兩邊的裝置就可以互聯互通了。用這個方案的原因是軟體免費、容易獲取,配置也很簡單,最重要的是效能那也是很優秀的。
本文出場網路裝置
硬路由器基本都在當純ap使用
多年前jd 入手
幾個月前 鹹魚入手
pdd 入手 1000+
jd 入手 100
馬雲家 300+
pdd 200+
pdd 550
pdd 500
必備條件:
你的路由光貓已經配置好了ipv6,裝置能正常獲取v6地址;
購買一個域名,我買的是騰訊域名;建議買國外的使用體驗更好,也有更多服務。騰訊的服務有縮水,不過勝在便宜;
我這裡用的閘道器設定wireguard,有的小夥伴沒有這個軟路由,可用nas或者盒子之類可以安裝linux、 unix系統的裝置搭建也是可以的;比如樹莓派,n1等等;
用相關的ddns域名軟體繫結你的域名分別到你兩個不同的路由A、B,我用的ddns-go;
開始配置
確定你的openwrt有安裝這些包,沒有的話安裝一下。
進入網路設定介面設定
東a奮 扽僧
新增介面
新增介面型別選擇 wireguard vpn
設定一個和區域網不一樣的網段,比如你的區域網是 192.168.1.0/24,這裡的ip設定成不一樣的這裡我的例項是 10.10.1.1/32。listen port 設定一個大一點的埠,我習慣用 50000以上的埠。
記住儲存上圖這個 public key 我們稱為 pub key A;
這個是節點 A, ip 10.10.1.1/32 埠 56700
這裡選擇一個和區域網相同的Zone;
新增一個節點;
這裡的是節點
B的資訊:
儲存這裡的pubkey 和 private key;
節點B資訊: ip 10.10.1.2/32 pub key private key
域名: yourdomain.com
埠:56700
keeplive 建議25秒
如果是移動裝置: endpoint、埠,都不用填寫,只需要keeplive 25s。
這樣路由A的設定就完了!
現在設定路由B
和上面路由A的設定步驟一樣。把上面我們儲存好的節點B的資訊輸入到相關條目,就不在上圖了。
路由B:節點資訊要填寫上剛才儲存的路由A的資訊。
設定防火牆規則:放行相關埠
全部設定完成,如果引數沒有什麼錯誤,應該就可以連上了
。
由於是異地聯網,建議最好設定好ddns以後,在路由器或者其它裝置設定好代理,能夠遠端操作管理的路由器。
如果您看到最後,這裡有我寫的一個小指令碼:
這個指令碼的目的是為了解決ddns ip改變的時候,不能自動重連的問題。我們把這個指令碼加到定時任務裡面,設定幾分鐘執行一次就行了。這個指令碼會自動檢查ddns域名和當前ip是否改變,如果改變會重啟wireguard介面。
ipv6 版本
# 後的是註釋,第一句除外!可刪除
#!/bin/sh
WGIP=`dig +short yourdomain aaaa` #如果是openwrt要安裝bind-dig
echo “wg ip $WGIP”
WG3IP=[$WGIP]
echo “wg3 ip $WG3IP”
WG=`wg show wg3 endpoints | awk ‘’‘{print $2}’` #wg3 這裡應該改成你的介面名字
echo “wg3 endpoint $WG”
if [ “$WG” = “$WG3IP”:56300 ];then #這裡的56300是你的路由節點監聽的port
echo ‘ip not change’
else
echo ‘ip change’
echo ‘restart wg3 waiting ……’
# ifup wg3 #注意我下一句裡面的解釋,這裡wg3你的介面名字
wg setconf wg3 /scripts/wg3。conf #這裡是我的wg3。conf 我用的 wg showconf wg3 > wg3。conf 儲存的,然後還需要修改下才能使用,不會弄的可以把上一句 ifup wg3 這句註釋去掉,這句加上註釋,雖然粗暴但是能解決問題。
echo done
fi