突然共有フォルダに繋がらなくなった時の話
なぜか同じサーバーのSMBファイル共有に繋がらなくなったので、トラブルシュート手順のメモ。
アクセス権を確認
アクセス権は問題ない。
SMB設定を確認
これもSMB2だけが有効にできている。
Windowsアップデートを確認
ちょうど問題が起きたあたりにアップデートがあり、再起動待ちだったので再起動するも解決せず。
Windowsイベントログを確認
Get-WinEvent -LogName "Microsoft-Windows-SmbServer/Operational" -MaxEvents 30 | Select-Object TimeCreated, Message | Format-List
失敗のログらしきものは見当たらない。
Windowsファイアウォールを確認
SMB 受信 (Inbound) のルールはTrueになっているので、ファイアウォールは一見問題なさそう…がこれが罠だった(後述)
NTLMv1設定を確認
WindowsUpdateが何か書き換えたのか?と疑って色々確認。
設定してないので出ない。
SMB用のポートを確認
LISTENINGになっている。
クライアントから確認
ここで端末がiPadだったので、 blink shell からping, nc -zv host 445 してもタイムアウトすることを確認。一方でSSH接続には問題ない。やっぱFirewallでは?
もう一度Firewallを確認
一度無効化すると、問題なく接続できることを確認できた。
ので、いったん戻す。
SMB 受信 のルールで確認すると、プライベートのネットワークのルールが無効化されていた。
プロファイルのルールを明示的に許可 → 解決!
いちおうプロファイルを確認しておいて、
設定すると自分の接続しているプロファイルのルールが書き換わる。
設定の直後にちゃんと通るようになった。
原因: ネットワークプロファイルを変更したから、別ルールの扱いになっていた
タイミング的にはWindowsアップデートかな?と思ったけど、一つ前のSSH接続の時にそういえばネットワークプロファイルをパブリックからプライベートに変えたなーと思い出した。 -DisplayName "*ファイルとプリンターの共有*" のルールセット上では問題なく許可できているように見えているが、実際のところ SMB 受信 ではパブリックのみ許可になっていたので、プライベートプロファイルにも許可することで通信が通るようになった。確かに最初よく考えずに一番厳しそうなパブリックにしとこ、みたいにやったなぁ。。。
おまけ: 明示的な新規ルール
明示的に新しいルールを作るときはプロファイルも指定して許可