安全なアプローチでは、各クライアントで検出、トランスポート、認証、共有アクセス、ファイル操作を分離する一般的な段階的テストを、単一のコマンドではなく、観測可能なゲートの連続として扱います。
Windows、macOS、LinuxのSMBクライアントにサービスを提供するホームNASでは、あるOSではSMB共有が機能するのに、別のOSでは失敗したり挙動が異なったりすることが実際のリスクになります。現在のIDと復旧ポイントを記録し、影響の最も小さい切り分けから始め、別の変数を変更する前に成功と失敗の結果を解釈し、ストレージが不安定になった場合や、復旧可能なコピーが唯一公開されることになる場合は中止してください。以下のワークフローは、元のワークロードが成功するか、証拠がエスカレーションの境界に達するまで完了しません。
クロスプラットフォームの基準テストを1つ作成する
1つのNAS IPアドレス、1つのホスト名、既知のユーザー1つ、1つの共有、そして使い捨てのテストフォルダー1つを選びます。クライアントのOSバージョン、ネットワークの場所、SMBクライアントのコマンドまたはGUIの手順、サーバー時刻、正確なエラーを記録します。基準情報の収集中は、セキュリティ制御やファイアウォールを無効にしないでください。
実用的な段階的なSMB接続のトラブルシューティングでは、SMB接続の失敗を、名前解決、TCP 445への到達性、プロトコルネゴシエーション、認証、共有接続、ファイル認証に分けます。動作するpingを、動作するSMBセッションと取り違えないよう、この順番を使ってください。
すべてのクライアントから、IPアドレスとホスト名を別々に使ってテストします。ホスト名だけが失敗する場合は、DNSまたはローカルの名前解決を修復します。TCP 445に到達できない場合は、パスワードや共有権限を変更する前に、ルーティングとファイアウォールポリシーを確認します。
認証情報のあいまいさを解消し、ネゴシエーションを確認する
同じサーバーへの既存のSMBセッションを切断し、Windowsの資格情報マネージャー、macOSのキーチェーン、またはLinuxの認証情報ファイルやキーリングから、該当するキャッシュ済み認証情報だけを削除します。明示的なアカウント名で再接続し、サーバーが意図したマッピングユーザーを認識しているか記録します。
ネゴシエートされたSMBダイアレクト、署名の状態、設定されている場合は暗号化、ゲストアクセスか認証済みアクセスかを確認します。テストを成功させるためだけにSMB1を有効にしたり、署名を無効にしたりしないでください。クライアントとサーバーのポリシーを比較し、具体的な不一致を特定します。
WindowsとmacOSのSMBの違いに関するZimaSpaceの記事では、Windowsでは機能するがmacOSでは失敗する一般的な分岐に焦点を当てています。共有された基準テストでmacOSだけが異なることが分かった後に、ホスト名、認証情報、署名、Finderの確認に関する説明を使ってください。
共有アクセスとファイル権限を分離する
認証後、共有一覧を取得し、正確な共有名に接続してから、使い捨てのフォルダーで一覧表示、読み取り、作成、名前変更、削除をテストします。NAS上で得られた所有者とACLを記録します。マウントに成功しても作成に失敗する場合は、認証の問題であり、検出の問題ではありません。
Linuxでは、コマンドラインのsmbclientテストを、CIFSのマウントオプションおよびデスクトップのファイルマネージャーと比較します。Linux SMBクライアントのマウントガイドでは、クライアント側のマウント要素が説明されています。ローカルのUIDとGIDの値を表示するだけのオプションでは、サーバー側の認証が必ずしも変更されるとは限りません。
macOSではFinderによる認証情報の再利用とメタデータファイルに注意し、Windowsでは別のユーザーで確立された既存のセッションに注意します。クライアント側のキャッシュがNASの権限の違いに見えないよう、すべてのクライアントで同じサーバーアカウントを使用します。
元のワークロードを検証し、個別に測定する
基本操作が機能するようになったら、元のタスクを繰り返します。大容量のシーケンシャルコピー、多数の小さなファイル、アプリケーションでの開閉と保存、またはスリープ後の再接続などです。SMBの性能が遅いと判断する前に、同じファイルセットと有線経路を使い、1クライアントずつ測定します。
スループットが異なる場合は、署名、暗号化、Wi-Fiリンク、クライアントCPU、サーバーCPU、ローカルストレージ速度を記録します。接続性の修正と推測に基づく性能チューニングを組み合わせないでください。あるクライアントがより強いポリシーや別のネットワーク経路を使用しているために、共有自体は正常でも速度が遅い場合があります。
すべての対象クライアントが正しいユーザーとして認証され、許可されたファイル操作を実行し、再起動後に再接続でき、必要なセキュリティポリシーを維持できたら、問題を解決済みとします。サーバーログにプロトコルエラーが繰り返し記録される場合、NASのファイルシステムがI/O障害を報告する場合、またはサポート対象外のレガシークライアントだけが設定の弱体化を必要とする場合は、エスカレーションしてください。
サポートとヒント
もっと読む

名前を変更したデータセットと安定したファイルハンドルのためのNFS移行チェックリスト
ストレージの識別情報が変わるとファイルハンドルも変わる可能性があることを前提としてください。クライアントを停止し、エクスポートを意図的に切り替え、再マウントして、開いているファイルと新規ファイルを検証してください。

アプリ、データベース、バックアップ向けホームサーバーのシークレットローテーションチェックリスト
ローテーションは依存関係の移行として扱い、すべての利用箇所を洗い出し、可能な場合は認証情報を重複配置し、新しい値を検証してから、古い値を無効化し、復旧をテストします。

プロキシとCookieの変更に関するセルフホストアプリのセッション問題解決ガイド
直接接続とプロキシ経由のログイン経路を比較し、実際のCookieのやり取りを確認して、プロキシ、Cookie、またはバックエンドの変数を一度に1つずつ変更します。

