Headscale 專案正在為 Tailscale 分散式 VPN 網路開發開放式伺服器

Headscale 專案正在開發 Tailscale VPN 網路的伺服器元件的開放實現,它允許您在自己的設施中建立類似於 Tailscale 的 VPN 網絡,而無需綁定到第三方服務。 Headscale 的程式碼是用 Go 編寫的,並在 BSD 許可證下分發。 此計畫由歐洲太空總署的胡安·豐特開發。

Tailscale 允許您將任意數量的地理上分散的主機組合到一個網路中,該網路像網狀網路一樣構建,其中每個節點直接(P2P) 或透過相鄰節點與其他節點交互,而無需透過VPN 的集中式外部伺服器傳輸流量提供者。 支援基於ACL的存取和路由控制。 為了在使用位址轉換器 (NAT) 時建立通訊通道,提供了對 STUN、ICE 和 DERP 機制(類似於 TURN,但基於 HTTPS)的支援。 如果某些節點之間的通訊通道被阻塞,網路可以重建路由以引導流量通過其他節點。

Headscale 專案正在為 Tailscale 分散式 VPN 網路開發開放式伺服器

Tailscale 與Nebula 專案不同,Nebula 專案也旨在創建具有網狀路由的分散式VPN 網絡,透過使用Wireguard 協定來組織節點之間的資料傳輸,而Nebula 使用Tinc 專案的開發,該專案使用AES-256 演算法來加密資料包-GSM(Wireguard 使用 ChaCha20 密碼,在測試中表現出更高的吞吐量和回應能力)。

另一個類似的專案正在單獨開發——Innernet,其中也使用Wireguard協定進行節點之間的資料交換。 與Tailscale 和Nebula 不同,Innernet 使用不同的存取分離系統,該系統不是基於具有綁定到各個節點的標籤的ACL,而是基於子網的分離和不同範圍的IP 位址的分配,就像常規Internet網路一樣。 另外,Innernet使用的是Rust語言,而不是Go語言。 三天前,發布了 Innernet 1.5 更新,改進了 NAT 穿越支援。 還有一個 Netmaker 項目,讓您可以使用 Wireguard 將具有不同拓撲的網路組合起來,但其程式碼是在 SSPL(伺服器端公共授權)下提供的,由於存在歧視性要求,該授權並未開放。

Tailscale 使用免費增值模式進行分發,這意味著個人免費使用,企業和團隊付費存取。 Tailscale 用戶端元件(Windows 和 macOS 的圖形應用程式除外)是在 BSD 許可下作為開放專案開發的。 Tailscale 端運行的伺服器軟體是專有的,在連接新客戶端時提供身份驗證、協調金鑰管理以及組織節點之間的通訊。 Headscale 專案解決了這個缺點,並提供了 Tailscale 後端組件的獨立、開放的實作。

Headscale 專案正在為 Tailscale 分散式 VPN 網路開發開放式伺服器

Headscale接手了交換節點公鑰的功能,並執行在節點之間分配IP位址和分發路由表的操作。 在目前的形式下,Headscale 實現了管理伺服器的所有基本功能,但對 MagicDNS 和 Smart DNS 的支援除外。 特別是註冊節點(包括透過網路)、調整網路以新增或刪除節點、使用命名空間分隔子網路(可以為多個使用者建立一個VPN 網路)、組織節點對不同命名空間中的子網路的共用存取等功能、路由控制(包括分配出口節點存取外界)、透過ACL進行存取分離、以及DNS服務作業。

來源: opennet.ru

添加評論