TCP 445 番ポートが遮断されていると Windows 8、Windows Server 2012 以降の OS からファイル共有通信ができない

適用対象: Windows 8Windows 8.1Windows 10

現象


以下のようなシナリオを想定します。

・クライアント コンピューターからファイルサーバーまでのネットワーク経路上の機器で TCP 445 番ポートを遮断します。
・Windows 8 / Windows Server 2012 以降のクライアント コンピューターからファイルサーバーに対して、SMB バージョン 2 以降のプロトコルを利用してファイル共有通信を試みます。

このシナリオでは、ファイル共有通信が失敗して、次のようなエラーメッセージが表示されることがあります。

「ネットワークパスがみつかりません 。詳細:エラーコード0x80070035」
「システムエラー 53 が発生しました。ネットワークパスが見つかりません。」


原因


Windows 8 以降のクライアントでは、SMB のバージョン 2 以降のプロトコルを使用してファイル共有通信をする場合、TCP 139 番ポートを使用しなくなり、TCP 445 番ポートのみを利用します。
このため、TCP 445 番ポートを遮断したネットワークでは、SMB バージョン 2 を使用したファイル共有通信ができません。


解決方法


ネットワーク機器で TCP 445 番ポートを許可します。


回避策


以下のいずれかの方法でも回避できます。

(1) Windows 8 / Windows Server 2012、Windows 8.1 / Windows Server 2012 R2 では、以下のレジストリを追加することで、TCP 139 番ポート上での SMB バージョン 2 を使用できるようになります。
* このレジストリは Windows 10 では使用できません。

キー : HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
名前 : EnableNetBTForSmb2
種類 : DWORD
設定値 : 1

(2) クライアント、またはファイルサーバーで SMB2 を無効化します。
SMB2 無効化の手順は以下の URL を参照ください。

参照 URL
How to enable and disable SMBv1, SMBv2, and SMBv3 in Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, and Windows Server 2012
https://support.microsoft.com/en-us/kb/2696547


状況


この動作は仕様です。