このプロジェクトについて
tailscaled-rsは、Tailscale制御プロトコルを実装することで、WireGuardベースのメッシュオーバーレイネットワークに参加するためにゼロから設計された、独立したRustシステムデーモンです。組み込み可能な`tailscale-rs`エンジンライブラリの上に構築されたこのプロジェクトは、欠けていたデーモン層を提供します。すなわち、調整可能な状態機械、永続化された設定、そして薄いCLI(`tnet`)を介して対話するためのローカル制御ソケットを備えた常駐バックグラウンドサービス(`tailnetd`)です。
主な機能は以下の通りです:
- **ネットワーク参加**:事前認証キーを使用して実際のtailnetに非対話的に参加し、tailnet IPを取得してDERPリレーリンク経由で接続を確立します。
- **状態管理**:実際のエンジンの状態から導出されるIPNスタイルの状態機械(NoState → NeedsLogin → Starting → Running)を実装し、状態のずれを防ぎます。ホスト名やルーティング設定などの設定は再起動後も永続化されます。
- **ローカル制御**:Unixドメインソケット上でLocalAPIを公開し、`tnet` CLIがノードの状態管理、接続のアップ/ダウン、ホスト名やルート受け入れなどのポリシーを再接続なしでリアルタイムに調整できるようにします。
- **システム統合**:Linux(systemd)およびmacOS(launchd)でのシステムサービスとしてのインストールをサポートし、起動時の自動起動とシャットダウン時のネットワークルートのクリーンな解除を処理します。
このプロジェクトは現在、実験的なMVP段階にあります。デフォルトではユーザースペースネットワーキングモードで動作します。つまり、カーネルTUNインターフェースをプログラムしたり、OSレベルのDNS/ルーティングを直接変更したりはまだ行いません。アプリケーションはデーモンのnetstackを介してtailnetに到達します。将来のロードマップには、TUNモードのサポート、対話型ブラウザログイン、MagicDNS統合、出口ノード機能、SSH/Serve機能が含まれています。
重要な警告があります:基盤となる暗号技術は未監査であり、このソフトウェアには安定性の保証がありません。Tailscale Inc.とは提携、承認、後援関係にありません。開発が成熟するまで、本番環境でのデータプライバシーをこれに依存すべきではありません。このプロジェクトはBSD-3-Clauseの下でライセンスされています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.