2019年6月24日月曜日

Windowsでネットワークサーバーにつながらぬぬぬ

…という事例が内輪で何件かあったのでメモしておこうと思った小濱研の松井であります。

主にWindows10から、古いPC/NASに接続する際に見えない、というのが症状で、いろいろ調べたところ原因は「SMB1.0の無効化」だった。

この症状の特徴として、
  • pingコマンドを打つと、ちゃんと通る。
  • 共有フォルダにはアクセスできない。
 ということがあげられる。


Windows10ではひそかにSMB1.0が無効化されているが、理由はその通信形式にセキュリティ的な弱さがある(あった?)ためらしい。
なので「有効化できるけれどリスクは理解したうえでやってね」とのこと。

ネットワーク的に見えているかの確認 

  1. コマンドプロンプトを開く
  2. 「ping 接続先名」と打ってEnter。
    例えばPC名がPlateauなら、「ping Plateau」
 このとき、
Plateau [xxx.xxx.xx.xxx]に ping を送信しています 32 バイトのデータ:
xxx.xxx.xx.xxx からの応答: バイト数 =32 時間 =1ms TTL=64
...

と出るようなら、ネットワーク的にはつながっている。
一方、
ping 要求ではホスト Plateau が見つかりませんでした。ホスト名を確認してもう一度実行してください。
と出るようであれば、そもそも名前で接続できない状況なので、原因は違うっぽい。

SMB1.0の有効化

SMB1.0の有効化は、コントロールパネルから行う。
コントロールパネルはスタートメニュ―で検索するか、「すべてのアプリ」→「Windows システム ツール」→「コントロールパネル」と辿ることで開ける。


「プログラム」→「Windowsの機能の有効化または無効化」




その後表示されるウィンドウ内の「SMB 1.0/CIFS~」の項目を開いて、「SMB1.0/CIFS Client」にチェックを入れる。






この時に注意するのは、二つ下にある「~自動削除」にチェックを入れないこと。
チェックを入れていると、「数日間SMB1.0を介した通信がない」場合に自動的にSMB1.0Clientのチェックを外してくれる親切な機能まで有効になってしまう。
(なお、この自動削除の項目が存在しない場合もあるっぽい)

OKを押すと再起動を促されるので、指示に従う。

これで、見えるようになっているはず。