Headscale プロジェクトが Tailscale の分散 VPN ネットワーク用のオープン サーバーを開発

Headscale プロジェクトは、Tailscale VPN ネットワークのサーバー コンポーネントのオープン実装を開発しています。これにより、サードパーティのサービスに縛られることなく、Tailscale と同様の VPN ネットワークを自分の施設で作成できるようになります。 Headscale のコードは Go で書かれており、BSD ライセンスに基づいて配布されています。 このプロジェクトは欧州宇宙機関のフアン・フォントによって開発されています。

Tailscale を使用すると、地理的に分散した任意の数のホストを、メッシュ ネットワークのように構築された 2 つのネットワークに結合することができます。このネットワークでは、VPN の集中外部サーバーを介してトラフィックを送信することなく、各ノードが他のノードと直接 (PXNUMXP) または隣接するノードを介して通信します。プロバイダー。 ACL ベースのアクセスとルート制御がサポートされています。 アドレス変換器 (NAT) を使用するときに通信チャネルを確立するために、STUN、ICE、DERP メカニズム (TURN に似ていますが、HTTPS に基づいています) のサポートが提供されます。 特定のノード間の通信チャネルがブロックされた場合、ネットワークはルーティングを再構築して、他のノードを介してトラフィックを送信できます。

Headscale プロジェクトが Tailscale の分散 VPN ネットワーク用のオープン サーバーを開発

Tailscale は、Wireguard プロトコルを使用してノード間のデータ転送を組織することにより、同様にメッシュ ルーティングを備えた分散 VPN ネットワークを作成することを目的とした Nebula プロジェクトとは異なります。一方、Nebula は、AES-256 アルゴリズムを使用してパケットを暗号化する Tinc プロジェクトの開発を使用しています。 -GSM (Wireguard は ChaCha20 暗号を使用しており、テストではより高いスループットと応答性を実証しています)。

もう 1.5 つの同様のプロジェクトが別途開発されています。Innernet では、ノード間のデータ交換にも Wireguard プロトコルが使用されています。 Tailscale や Nebula とは異なり、Innernet は異なるアクセス分離システムを使用します。これは、個々のノードに関連付けられたタグを持つ ACL ではなく、通常のインターネット ネットワークと同様に、サブネットの分離と異なる範囲の IP アドレスの割り当てに基づいています。 さらに、Innernet では Go 言語の代わりに Rust 言語が使用されます。 XNUMX 日前、NAT トラバーサル サポートが強化された Innernet XNUMX アップデートが公開されました。 Wireguard を使用してさまざまなトポロジのネットワークを組み合わせることができる Netmaker プロジェクトもありますが、そのコードは SSPL (サーバー サイド パブリック ライセンス) に基づいて提供されており、差別的な要件があるためオープンではありません。

Tailscale はフリーミアム モデルを使用して配布されます。つまり、個人は無料で使用でき、企業やチームは有料でアクセスできます。 Tailscale クライアント コンポーネントは、Windows および macOS 用のグラフィカル アプリケーションを除き、BSD ライセンスに基づいてオープン プロジェクトとして開発されます。 Tailscale 側で実行されているサーバー ソフトウェアは独自のもので、新しいクライアントの接続時に認証を提供し、キー管理を調整し、ノード間の通信を組織します。 Headscale プロジェクトはこの欠点に対処し、Tailscale バックエンド コンポーネントの独立したオープンな実装を提供します。

Headscale プロジェクトが Tailscale の分散 VPN ネットワーク用のオープン サーバーを開発

Headscale はノードの公開鍵を交換する機能を引き継ぎ、IP アドレスの割り当てとノード間のルーティング テーブルの配布の操作も実行します。 現在の形式では、Headscale は、MagicDNS と Smart DNS のサポートを除き、管理サーバーのすべての基本機能を実装しています。 特に、ノードの登録 (Web 経由を含む)、ノードの追加または削除にネットワークを適応させる、名前空間を使用してサブネットを分離する (複数のユーザーに対して XNUMX つの VPN ネットワークを作成できます)、異なる名前空間内のサブネットへのノードの共有アクセスを組織する機能です。 、ルーティング制御 (外部にアクセスするための出口ノードの割り当てを含む)、ACL によるアクセス分離、および DNS サービスの運用。

出所: オープンネット.ru

コメントを追加します