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

ZimaOSでリモートSMB共有をマウントする:Docker版Tailscaleではホストネットワークを拡張できない理由

A September 2025 thread where a ZimaOS source server could run Tailscale only in Docker, so the host and Files app could not see the remote CasaOS SMB server through that container network. The user changed the design and joined the remote CasaOS server to the ZeroTier network used by ZimaOS, which they reported worked well.

VPNコンテナはリモートネットワークに接続できますが、ZimaOSホストはその経路をまったく認識しないままにできます。これは、2025年9月のこの元スレッドで問題になった点です。ユーザーのTailscaleコンテナはtailnetへの参加に成功しましたが、ZimaOS自体、ひいてはFilesアプリとホストのSMBマウントワークフローからは、コンテナのネットワーク名前空間を経由してリモートのCasaOSサーバーに接続できませんでした。

ユーザーは、TailscaleコンテナをホストVPNにしようとするのではなく、構成を変更することで実際のバックアップ問題を解決しました。リモートのCasaOSサーバーをZimaOSに関連付けられたZeroTierネットワークに参加させたところ、SMBアクセスが正常に機能したと報告しています。

元のトポロジーには2台のリモートサーバーがあった

元の構成は次のとおりです。

  • ZimaOSを実行するZimaBladeがソースマシン。
  • SMBバックアップ先はCasaOSを実行するリモートサーバー。
  • Tailscaleで両サイトを接続。

以前、両方のマシンでCasaOSを実行していたときは、ユーザーはホストにTailscaleを直接インストールし、リモートSMB共有を通常どおりマウントしていました。

Tailscaleコンテナはtailnetに参加したが、ZimaOSは参加しなかった

ZimaOSでは、ユーザーはDockerでTailscaleを実行しました。これにより、Tailscaleコンテナ自体には接続性が生まれました。しかし、Tailscaleの経路やアドレスがZimaOSホストのネットワーク名前空間に自動的に追加されたわけではありません。

そのため、Tailscaleコンテナ内部からしか到達できないSMBサーバーを、Filesアプリから単純に参照することはできませんでした。

これはSMBパスワードの問題ではなく、ネットワーク名前空間の境界の問題

Dockerコンテナには通常、独自のインターフェース、経路、ファイアウォールコンテキストがあります。コンテナからリモートのtailnetアドレスにpingを送信できたとしても、VPNをホストネットワーク、ルーティング、またはプロキシ構成に意図的に統合しない限り、ホスト上のアプリケーションがその経路を引き継ぐことはありません。

SMB認証情報を変更しても、この不足している経路は解決できません。

ユーザーはリモートのCasaOSサーバーをZeroTierに切り替えた

さらに調査した後、元の投稿者はリモートのCasaOSサーバーにZeroTierをインストールし、ZimaOSが使用する仮想ネットワークに参加させました。その後、リモートサーバーからSMB共有にアクセスでき、解決策は正常に機能したと述べています。

フォーラムに記載された正確なインストールコマンドは、ユーザーが提供したコミュニティの案内です。その1行のインストールスクリプトをそのままコピーすることよりも、再利用可能なアーキテクチャのほうが重要です。

現在のZimaOSのリモートアクセスはZeroTierベースの仮想ネットワークを中心に構築されている

現在のIceWhaleのドキュメントでは、ZimaOSのリモートログイン/ネットワークIDをZeroTierネットワークのIDとして説明しています。ZimaClientは、この仮想ネットワークを暗号化されたリモート接続に使用します。

そのため、元のユーザーの解決策は、見た目ほど特殊な回避策ではありません。Docker上のTailscaleの経路をホストに公開しようとする代わりに、リモートNASを、ZimaOSがすでにホストレベルで使用している仮想ネットワークに参加させる方法だからです。

IceWhaleは現在、他のNASプラットフォームでも同じパターンを文書化している

現在のQNAP同期向けZimaOSドキュメントでは、ZimaOSのネットワークIDを取得し、QNAP側にZeroTierをインストールしてそのIDに参加させてから、ネットワーク間同期タスクを作成するよう案内しています。

現在のNAS間ZeroTierネットワーク構成を、サポートされているアーキテクチャの参考資料として利用してください。

ホストレベルのTailscaleは別の解決策

その後、コミュニティのプロジェクトによって、TailscaleがネイティブのZimaOS systemd-sysextとしてパッケージ化されました。これはホストに実際のTUNインターフェースを提供し、ホストレベルのルーティングをサポートすることを目的としています。元の名前空間の制限には対処できますが、これはコミュニティソフトウェアであり、ZimaOSのファーストパーティTailscale機能ではありません。

目的がリモートSMBバックアップだけであれば、新しいホストレベルのVPN拡張機能をインストールするよりも、リモートサーバーを既存のZimaOS仮想ネットワークに参加させるほうが簡単な場合があります。

FilesでSMBをマウントするには、まずホストレベルの到達性が必要

どのオーバーレイネットワークを選ぶ場合でも、ZimaOSホストがリモートSMBサーバーのアドレスにルーティングできる必要があります。それができて初めて、SMB共有名、ユーザー名、パスワード、権限が次のトラブルシューティング項目になります。

リモートSMB保存先をバックアップのセキュリティ境界の一部として扱う

オーバーレイネットワーク経由で到達できるバックアップ共有にも、認証を必須にし、バックアップワークフローに必要なフォルダーだけを公開する必要があります。通信が暗号化されているからといって、リモートサーバー全体を書き込み可能にすることは避けてください。

オーバーレイネットワーク経由のリモートSMBに関するFAQ

なぜTailscaleコンテナからはリモートサーバーに接続できたのに、ZimaOSのFilesからは接続できなかったのですか?

コンテナには独自のネットワーク名前空間と経路があり、ZimaOSホストはそれらを自動的に引き継がなかったためです。

元の投稿者は代わりに何を使いましたか?

リモートのCasaOSサーバーをZimaOSが使用するZeroTierネットワークに参加させ、正常に機能したと報告しました。

現在のZimaOSはリモートネットワークにZeroTierを使用していますか?

現在のIceWhaleのドキュメントでは、リモートログインのネットワークIDとNAS間ワークフローに、ZeroTierベースの仮想ネットワークを使用すると説明されています。