WireGuard結合WsTunnel實現UDP OVER TCP組網

抓单的灰太狼發表於2024-10-21

WireGuard是一種被廣泛認可的安全且高效的隧道技術,結合WsTunnel(WebSocket隧道),可以構建一個強大而靈活的本地組網解決方案。

該方案旨在幫助使用者輕鬆穿透內網限制,實現裝置間的無縫連線與資料傳輸,尤其適合需要遠端訪問家中或公司內部網路資源的情況。

WsTunnel官方倉庫地址:https://github.com/erebe/wstunnel

WsTunnel About:Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI - Static binary available

image

開始之前,假設已經安裝並且配置好Wireguard服務端與客戶端環境。

如果暫時沒有時間安裝Wireguard,可以參考Wireguard+VMess文章內的安裝教程,或者一鍵執行以下命令:

點選檢視程式碼
curl -L https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh | bash

在這之後,需要根據作業系統型別去下載WsTunnel執行程式,開啟Github首頁Releases,下載對應的執行程式。

image

因為使用的是x86 Linux系統,所以選擇linux_amd64型別,Windows使用者選擇Windows型別即可。

將檔案上傳至伺服器和最終訪問終端,伺服器執行以下命令開啟協議封裝:

點選檢視程式碼
wstunnel server --restrict-to localhost:51820 wss://[::]:443

該命令中server的意思是將wstunnel執行為服務端模式,執行效果為將本地監聽的51820埠封裝到wss協議監聽下的443埠,[::]代表任意介面,當然,根據需要,大家可以根據自己的需要修改具體的埠,以及結合domain設定對應的監聽。

image

客戶端則執行以下命令:

點選檢視程式碼
wstunnel client -L 'udp://51820:localhost:51820?timeout_sec=0' wss://192.168.3.180:443

該命令中client的意思是將wstunnel執行為客戶端模式,執行效果為將遠端伺服器監聽的UDP埠51820立即轉發至本地,並監聽在51820埠,192.168.3.180根據具體環境修改為域名或者IP地址。

image

最後修改Wireguard虛擬網路卡配置,將伺服器地址修改為127.0.0.1或者本機IP地址。

image

image

重啟Wireguard,再進行測試。

點選檢視程式碼
systemctl restart wg-quick@wg0

image

一鍵訪問B站影片教程:https://www.bilibili.com/video/BV1yTG6eCE4y/?vd_source=509fefe6307f527bc45c713841b2bb86

相關文章