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

Tailscale使用時にZimaOSのSMBが停止する場合は、まずルーティングを確認してください

A Windows SMB transfer to ZimaOS stalled with error 0x8007003B until Tailscale was disabled on a PC sharing an overlapping home-LAN subnet route.

結論:SMBは正常で、ローカルPCがTailscaleの誤った経路を使用していた

転送が停止し、ZimaOS Filesでもネットワークエラーが発生し、最終的にWindowsは0x8007003Bを報告しました。決め手となったテストは、ローカルのWindows PCでTailscaleを無効にすることでした。するとSMBはすぐに正常に動作しました。NASはディスクを交換したりSambaを再起動したりして直ったのではなく、NASへの経路が変わったのです。

SMBでZimaOSへ転送中に発生したWindowsファイルエクスプローラーのエラー0x8007003B
元のケースでは、複数のファイルを転送した後に処理が停止し、ストレージ自体は利用可能だったにもかかわらず、最終的にWindowsエラー0x8007003Bが返されました。

ローカル接続が誤ってLANの外へ出てしまう理由

自宅のルーターは、192.168.8.0/24ネットワーク全体を広告するTailscaleサブネットルーターでもありました。そのため、Tailscaleを実行しているローカルのWindows PCには、同じLANに向かう直接接続の経路とTailscale経由の経路が両方存在する可能性がありました。このスレッドではNATヘアピンニングと説明されていましたが、より一般的で有用な診断は、経路の重複または非対称性です。

192.168.8.0/24の自宅サブネットを広告しているルーターを示すTailscale管理画面
ルーターが192.168.8.0/24のLAN全体をTailscaleに広告していたため、ローカルSMBの競合に関係する経路が作られていました。

Tailscaleの現在の重複するサブネット経路の説明によると、WindowsとmacOSはデフォルトでサブネット経路を受け入れるため、経路が重複する場合は意図的な経路設計が必要になることがあります。

SMBの設定に触れる前に経路を確認する

route print
tracert ZIMAOS_LAN_IP
tailscale status
ping ZIMAOS_LAN_IP

このテストを、Tailscaleが有効な状態と無効な状態でそれぞれ実行します。オーバーレイネットワークが有効な場合にのみSMBが失敗するなら、ストレージや共有の設定は変更せず、ネットワーク経路を修正してください。これにより、権限、ファイルシステム、Sambaの調整に時間を浪費せずに済みます。

自宅にいるときはZimaOSのLANアドレスを使用する

ローカルネットワーク上では、LAN IPアドレスまたはローカルホスト名でNASに接続します。外出先ではTailscaleを使用してください。サブネットルーターを通じて自宅LANを意図的に広告している場合は、通常の同一LAN内の通信が不要な経路へ流れないよう、tailnetの経路ポリシーを確認してください。

ZimaOSのSMB認証は、ファイル共有設定を管理するための制御経路です。

エラー0x8007003Bから分かること、分からないこと

Windowsでは、このエラーは予期しないネットワークエラーとして表示されます。しかし、それだけではディスク障害、SMB認証情報の問題、ルーターの問題のいずれかを特定できません。Microsoftのネットワークエラーは症状にすぎず、このケースの原因を絞り込むのは経路テストです。

MicrosoftのWindowsのSMB動作で、プロトコルの背景を確認できます。

ZimaClientとTailscaleがネットワーク経路を競合することもある

同じスレッドでは、同一のWindowsマシン上で両方のクライアント方式を実行すると、その環境で分かりにくい動作が発生する可能性も確認されました。現在のZimaOSでは、内蔵のZimaClientリモートアクセス、または標準プロトコルによるTailscale/WireGuard経路のいずれかを利用できます。同じ目的のために両方を有効にする必要はありません。

ZimaClientリモートアクセスTailscaleリモートアクセスから、どちらの方式を使うか意図的に選択できます。

より安全なホームラボ向けルーティングパターン

ローカルLANへのアクセスは直接接続のままにします。リモートから実際に到達する必要があるサブネットだけを広告し、より狭い経路で対応できる場合は広すぎる経路を避けてください。サブネットルーターがメインルーターも兼ねている場合は、NAT、DHCP、Tailscaleルーティング、デフォルトゲートウェイの動作をどのデバイスが担当するか記録しておきます。ネットワークの境界部分が複雑になると、上位層では「SMBがランダムに停止する」ように見えることがあります。

最後に、Tailscaleを実行していない2台目のLANコンピューターから、同じテストファイルを同じSMB共有へコピーしてみます。その転送が安定していれば、サーバー側のストレージ性能ではなく、問題のクライアントのルーティング状態を示す明確なA/B比較になります。

よくある質問

Tailscaleを無効にするとSMBが動作するのはなぜですか?

これは、ZimaOSのディスクやSMBサービスの障害ではなく、経路またはオーバーレイネットワークの相互作用が原因である可能性を強く示しています。

Windowsエラー0x8007003BはSambaのバグですか?

必ずしもそうではありません。これは一般的なネットワーク転送エラーであり、経路の不安定さ、フィルタリング、VPNソフトウェア、その他のネットワーク経路の問題によって発生する可能性があります。

サブネット経路を完全に無効にすべきですか?

それらが不要な場合に限ります。より適切な設計は、リモートから必要なネットワークだけを広告し、直接接続されたLAN経路との競合を避けることです。

外出先からSMBにTailscaleを使用できますか?

はい。ルーティングとアクセス制御が正しく設定されていれば、Tailscaleアドレスまたは広告された自宅サブネットを通じて、リモートからSMBを利用できます。

ZimaClientとTailscaleの両方が必要ですか?

いいえ。これらは異なるリモートアクセス方式です。両方を実行するかどうかは任意ですが、一部のクライアントではルーティングが複雑になる可能性があります。