内蔵 Tailscale

ServerCC には Tailscale ネットワークのサポートが内蔵されています。デバイスにシステム全体の Tailscale VPN をインストールすることなく、アプリから直接 Tailscale ネットワーク上のサーバーに接続できます。

なぜ内蔵 Tailscale?

従来、iOS から Tailscale ネットワーク上のサーバーに接続するには、Tailscale アプリをシステム全体の VPN として実行する必要がありました。これは以下を意味します:

  • デバイスのすべてのトラフィックが Tailscale を経由する
  • iOS では同時にアクティブにできる VPN は1つだけ
  • 他に必要な VPN アプリと競合する可能性がある

ServerCC はアプリに直接 Tailscale ネットワーキングを組み込むことでこの問題を解決します。Tailscale 接続はアプリレベルのみで、デバイスの他のネットワークトラフィックには一切影響しません。

セットアップ

Tailscale はサーバーごとに設定します。サーバーの追加または編集時に有効にします。

1

Tailscale から Auth Key を取得

Tailscale 管理コンソールにアクセスして Auth Key を生成します。用途に応じて再利用可能なキーまたはワンタイムキーを選択できます。

2

サーバーフォームで Tailscale を有効にする

サーバーの追加または編集時に、Tailscale セクションまでスクロールし、Tailscale 経由で接続をオンにします。表示される Auth Key フィールドにキーを貼り付けます。

3

ホストを Tailscale アドレスに設定する

ホストフィールドに、サーバーの Tailscale IP アドレス(例:100.x.y.z)または MagicDNS ホスト名を入力します。ServerCC は内蔵の Tailscale ネットワークを通じて SSH 接続をルーティングします。

ヒント

Tailscale ネットワークで MagicDNS が有効になっている場合、IP アドレスの代わりにマシン名(例:my-server)を直接使用できます。

接続フロー

Tailscale が有効なサーバーを開くと、ServerCC は接続の進行状況をリアルタイムで表示します:

  1. Tailscale ネットワークを起動 — アプリがエフェメラルノードとして Tailscale ネットワークに参加
  2. Tailscale 経由で接続 — Tailscale トンネルを通じてターゲットサーバーに接続
  3. 接続のセットアップ — ローカル TCP プロキシが Tailscale トンネルと SSH クライアントを橋渡し
  4. SSH 接続を確立 — トンネル上で SSH 認証が通常通り進行

サーバー詳細ページでは、必要に応じて Tailscale をバイパスして直接接続するオプションも提供されます。

接続に失敗した場合

ServerCC はローカル Tailscale クライアントが報告する backend state に基づき障害を分類するため、エラーメッセージが実際の原因を直接指し示します:

  • Auth Key が無効/期限切れ — Tailscale 管理コンソールでキーをローテーションし、ServerCC のサーバー設定を更新してください
  • 認証処理中 — ノードが立ち上がるのを少し待ってから再試行すると、通常は成功します
  • ホストに到達できない — 対象マシンがオフライン、もしくは同じ tailnet に参加していません
一時的な失敗では Auth Key を破棄しません

一時的な起動失敗でローカルの Tailscale 状態ディレクトリを消去しないようになったため、ネットワーク不調やバックエンドの一時的な不具合で再利用可能な Auth Key が「焼却」されることはありません。キーの再生成が必要になるのは、Tailscale 自身が「無効/期限切れ」と報告した場合のみです。

仕組み

Tailscale を設定すると、ServerCC は提供された Auth Key を使用してエフェメラルノードとして Tailscale ネットワークに参加します。これはすべてアプリ内で行われます:

  • アプリがユーザースペースで Tailscale 接続を確立し、システムの VPN スロットは使用しません
  • 同じ Auth Key を使用するサーバー間で Tailscale ノードが共有されます(参照カウント方式)
  • SSH 接続はローカル TCP プロキシを通じて Tailscale トンネルにブリッジされます
  • その他のすべてのトラフィック(Tailscale 以外のサーバー、Web ブラウジング、他のアプリ)は影響を受けません
  • Tailscale サーバーと非 Tailscale サーバーの両方に同時に接続できます

Tailscale アプリとの共存

ServerCC はアプリレベルの Tailscale 接続を使用するため、公式 Tailscale アプリとは独立して動作します。以下のことが可能です:

  • デバイスで別の VPN がアクティブな状態でも ServerCC の Tailscale 機能を使用できます
  • 公式 Tailscale アプリと ServerCC を競合なく並行して実行できます
  • Tailscale アプリを切断したまま、ServerCC 内でのみ Tailscale ネットワーキングを使用できます
注意

Auth Key は iOS キーチェーンに安全に保存されます(サーバーごと)。キーが期限切れになった場合は、Tailscale 管理コンソールから新しいキーを生成し、ServerCC でサーバーを編集して更新する必要があります。