コミュニティソリューション

リモートアクセス用にZimaOSでTailscaleを実行する方法

A ZimaOS 1.2.5 user installed the Tailscale App Store package but its WebUI link only returned to ZimaOS. Community replies showed that the container should be authenticated through TS_AUTHKEY or the Tailscale CLI rather than treated like a normal web application.

ZimaOSにTailscaleアプリをインストールしても、そのWebUIをクリックしたときにZimaOSダッシュボードへ戻るだけなら、必ずしもTailscaleコンテナが壊れているわけではありません。2024年11月のコミュニティスレッドは、ZimaOS 1.2.5でまさにその症状が発生したことから始まりました。役立つ修正点は、Tailscaleは従来のアプリWebUIではなく、主に認証、環境変数、Tailscale CLIを通じて設定するということでした。

元の返信では、App Storeパッケージを使用し、次の場所からTailscale認証キーを入力することが推奨されていました。 TS_AUTHKEY。その後の2025年のZimaOSスレッドでは、別の動作する方法も確認されました。Tailscaleをインストールし、次を実行します。 tailscale status CLIで、CLIが返したログインURLを開き、ノードを認証します。現在のTailscale Dockerドキュメントは、認証キーを使う方式とログインを使う方式の両方をサポートしており、再起動後もコンテナが同じノードIDを維持できるよう、永続的な状態を使用することも推奨しています。

Tailscaleの「WebUI」リンクが誤解を招く理由

元のユーザーは、インストール後にアプリが管理ページを開くものと考えていました。しかし、ブラウザはZimaOSのホームページに戻りました。

元のコミュニティ報告に掲載されたZimaOS App StoreのTailscaleインストール画面
元のスレッドでは、WebUIリンクが通常のアプリページのように動作しなかったにもかかわらず、ZimaOSへのTailscaleのインストールには成功したことが示されています。
元の2024年のコミュニティスレッドに掲載されたZimaOS Tailscaleアプリの詳細
有用な設定は、独立したWebUIではなく、Tailscaleコンテナの設定と認証フローにあります。

元のコミュニティでの解決策:TS_AUTHKEYを使用する

最初の返信では、Tailscale認証キーを作成して次の場所に貼り付ければ、App Storeパッケージを利用できる可能性があると説明されていました。

TS_AUTHKEY

現在のTailscaleドキュメントでは、引き続き次のように定義されています。 TS_AUTHKEY Dockerコンテナをtailnetに認証するために使用される環境変数として。

現在のリファレンス:Tailscale Docker設定パラメーター。

Tailscale管理コンソールでキーを生成し、シークレットとして扱います。スクリーンショット、フォーラム投稿、Gitリポジトリ、共有Composeファイルに掲載しないでください。

代替手段:Tailscale CLIで認証する

後のZimaOSコミュニティの解決策では、次の方法が使われました。

tailscale status

ノードがまだ認証されていない場合、TailscaleはログインURLを返します。ユーザーはブラウザでそのURLを開き、デバイスを承認しました。

インストールされているコンテナやシェルのコンテキストによっては、ZimaOSホスト上で直接コマンドを実行するのではなく、Tailscaleコンテナ内で実行する必要があります。

まずコンテナを特定します。

docker ps --format '{{.Names}}' | grep -i tailscale

その後、必要に応じて:

docker exec -it TAILSCALE_CONTAINER tailscale status

システムに表示される実際のコンテナ名を使用します。

再起動後もTailscaleの状態を保持する

現在のTailscale Dockerドキュメントでは、次の設定が推奨されています。

TS_STATE_DIR=/var/lib/tailscale

そのディレクトリを永続的なホストストレージにマウントします。永続状態がないと、再起動または再作成されたコンテナが以前のIDを保持せず、新しいノードとして登録される可能性があります。

Tailscaleには次の機能もあります。

TS_AUTH_ONCE=true

コンテナに既存の状態がない場合にのみ認証するデプロイメント向けです。

現在のコンテナ構成に必要なもの

最小限の概念的なDocker構成には次が含まれます。

environment:
  - TS_AUTHKEY=YOUR_SECRET_KEY
  - TS_STATE_DIR=/var/lib/tailscale
  - TS_AUTH_ONCE=true

volumes:
  - /YOUR/ZIMAOS/PERSISTENT/PATH:/var/lib/tailscale

正確なホストパスおよび追加のネットワーク/デバイス設定は、ZimaOS App Storeの定義によって異なります。2024年のスレッドからCasaOSのチュートリアルにリンクされているという理由だけで、現在動作しているアプリ定義を古いCasaOS YAMLに置き換えないでください。

ZimaOSへのアクセスとLAN全体の広告は異なります

一般的な目的は2つあります。

  • Tailscaleノード自体にアクセスする: TailscaleアドレスまたはMagicDNS名を使用して、ZimaOS/Tailscaleノードに接続します。
  • ZimaOSのLAN上にある他のデバイスにアクセスする: ノードをTailscaleサブネットルーターとして構成します。

2つ目の目標はより複雑です。現在のTailscaleドキュメントでは、ルーターがルートを広告し、管理コンソールで承認されている必要があります。

Tailscaleサブネットルーターのドキュメントを参照してください。

Docker化したZimaOS Tailscaleアプリでのサブネットルーティングには追加要件があります

2026年のZimaOSコミュニティレポートでは、正常に接続できたもののLANルートの広告に失敗したTailscale Dockerコンテナが報告されています。その構成では、ホストネットワーク、特権モード、および /dev/net/tunただし、サブネットルートは表示されませんでした。

これは重要な境界です。tailnet への参加に成功したコンテナが、自動的にサブネットルーターとして機能するわけではありません。ルーティングには、カーネルおよびネットワーク権限、フォワーディング、ルート広告、管理者による承認が必要です。

目的がZimaOS自体へのリモートアクセスだけである場合は、サブネットルーティングを不必要に有効にしないでください。

TailscaleでSMBのゲストアクセスは不要

2024年のコミュニティ回答では、Tailscaleトンネル経由でSMBフォルダー共有を機能させるにはゲスト権限が必要だと説明されていました。しかし、それを現在のTailscaleの要件として一般化すべきではありません。

Tailscaleはネットワーク接続を提供します。SMB認証は独立したSamba/Windows/macOSの権限レイヤーです。適切に設定された名前付きSMBアカウントは、LAN経由と同じようにTailscale経由でも機能します。

ゲストアクセスは、以前の議論における特定のCasaOS/ZimaOS Samba設定の回避策だった可能性がありますが、Tailscale固有の要件ではありません。

セキュリティに関する注意

  • 導入環境の要件に応じて、スコープ付き・再利用可能な認証キー、または一時的な認証キーを使用します。
  • 認証キーをスクリーンショットやリポジトリに含めないでください。
  • ノードが何度も再登録されないよう、状態を永続化します。
  • TailscaleのACLまたはgrantを使用して、ZimaOSノードにアクセスできるtailnetデバイスを制御します。
  • リモートアクセスが必要だからといって、ZimaOSダッシュボードをパブリックインターネットに直接公開しないでください。

ZimaOS Tailscaleセットアップチェックリスト

  1. 最新のTailscale App Storeパッケージをインストールします。
  2. アプリのWebUIリンクを主要な設定方法として使用しないでください。
  3. 次で認証 TS_AUTHKEY または、Tailscale CLIのログインURLを使用します。
  4. 次を永続化 /var/lib/tailscale 次を使用 TS_STATE_DIR.
  5. Tailscale管理コンソールにノードが表示されることを確認します。
  6. 実行 tailscale status そして、ノードが接続されていることを確認します。
  7. サブネットルーティングを試す前に、ZimaOSノードへのアクセスをテストしてください。
  8. LAN全体にアクセスする必要がある場合は、サブネットルートを別途設定して承認してください。

ZimaOSとTailscaleに関するFAQ

TailscaleのWebUIリンクを開くとZimaOSに戻るのはなぜですか?

Tailscaleのコンテナは通常、従来のアプリWebUIではなく、環境変数、認証、CLIコマンドを通じて設定します。元のスレッドでは、まさにこの点が混乱の原因になっていました。

TS_AUTHKEYとは何ですか?

これは、コンテナをtailnetに認証するために使用するTailscale Dockerの環境変数です。

TS_STATE_DIRを永続化すべき理由は何ですか?

永続化された状態により、コンテナは再起動や再作成後もノードのIDと認証情報を保持できます。

ZimaOSにリモートアクセスするには、サブネットルーティングが必要ですか?

いいえ。サブネットルーティングが必要なのは、Tailscaleノードがローカルネットワーク上の他のTailscale非対応デバイスへのトラフィックをルーティングする場合だけです。

Tailscale経由でSMBにアクセスするには、ゲストモードが必要ですか?

一般的なTailscaleのルールとしては、いいえ。SMBアカウントの認証はTailscaleのネットワークとは別です。