
Wireguard 最近非常熱門,這是當之無愧的。我也渴望用 Wireguard 取代 OpenVPN。
然而,與 OpenVPN 不同的是,Wireguard 僅支援 UDP。我喜歡使用 TCP 連接埠 443,因為該連接埠可能不會被防火牆阻止。 OpenVPN 甚至可以選擇使用 HTTP 代理。這非常酷,因為它使我能夠在沒有互聯網路由並要求用戶使用網路代理的網路中獲得完整、不受限制的網路存取。
我怎麼才能用wireguard達到同樣的效果?適用於 UDP 的 HTTPS 隧道?
假設兩個端點都運行 Linux,我對這兩個端點都有完全的 root 存取權限,當然,我也獲得了所有相關人員的許可。
答案1
這似乎完全符合我的要求,即使cntlm
如果代理需要 NTLM 驗證,您也需要作為附加代理。
答案2
官方文件說明了為什麼他們不支援 TCP 和 DPI [1]
WireGuard 明確地不支援 TCP 上的隧道,因為 TCP-over-TCP 隧道的網路效能通常很糟糕。相反,將 WireGuard 的 UDP 封包轉換為 TCP 是上層混淆的工作
對於 TCP 隧道,他們建議使用 udp2raw[2] 或 udptunnel[3]。
請注意,這僅涵蓋 TCP 隧道,它不會透過 HTTP(S) 屏蔽它,因此如果您的防火牆執行深度封包檢查或標頭分析等,它不會受到保護。為此,您需要更多高級設定。
答案3
HTTPS 不是您用來隧道流量的東西,但 websocket 適合於此。
我想你正在尋找WS隧道。它還能夠透過 TLS 建立隧道。
答案4
可以運行一個SSH VPN(在連接埠 443 上使用 ssh)並在建立的介面上執行 Wireguard。
也許還可以在現有的 OpenVPN 上運行 Wireguard。
Wireguard 的前提似乎是無連線設計,因此我懷疑 TCP 或 HTTP 功能是否會很快推出(抱歉)。