Windows 11から古いNASやSambaサーバーへアクセスしようとすると、共有フォルダーを開けないことがあります。
例えば、
\\192.168.1.100\share
へアクセスしても接続できず、古いサーバー側がSMB1.0しか対応していないことが原因になっている場合があります。
Windowsの「Windowsの機能」を確認すると、
SMB 1.0/CIFS ファイル共有のサポート
の中に、
SMB 1.0/CIFS クライアント
SMB 1.0/CIFS サーバー
SMB 1.0/CIFS 自動削除
などが表示されます。
ここで迷うのが、
古いSambaサーバーへ接続したいだけなら、どれを有効にすればいいのか?
という点です。
結論からいうと、Windows 11から古いNAS・Sambaサーバーへ接続するだけなら、基本的に必要なのは「SMB 1.0/CIFS クライアント」側です。
この記事では、SMB1.0が必要になる理由と、Windows 11での確認方法、そしてSMB1を有効にするときの注意点を紹介します。
SMBとは?
SMB(Server Message Block)は、Windowsなどでファイル共有に使用されるプロトコルです。
例えば、
Windows 11
↓
\\fileserver\share
↓
ファイルサーバー
というアクセスでSMBが利用されます。
SMBには複数の世代があり、大きく、
SMB1
SMB2
SMB3
があります。
現在のWindowsではSMB2/SMB3が中心ですが、非常に古いNASやSambaサーバーではSMB1しか利用できない場合があります。
その場合、
Windows 11
│
SMB2/3
│
×
│
古いNAS/Samba
SMB1のみ
となり、共有フォルダーへアクセスできないことがあります。
まずSMB1が本当に必要なのか確認する
いきなりSMB1を有効にするのはおすすめしません。
最初に、
接続先NASの機種
Sambaのバージョン
サーバーOS
対応SMBバージョン
を確認します。
接続先でSMB2やSMB3を有効にできるのであれば、サーバー側をSMB2/3へ移行する方を優先します。
つまり、
接続できない
↓
SMB1を有効化
とすぐ判断するのではなく、
接続できない
↓
接続先のSMBバージョン確認
↓
SMB2/3へ変更できる?
┌────┴────┐
YES NO
↓ ↓
SMB2/3へ SMB1を使う必要性を
移行 検討
という順番で考えます。
SMB1は古いプロトコルなので注意
SMB1は古いプロトコルで、現在のWindows環境で積極的に使用するものではありません。
そのため、
接続できないから、とりあえずSMB1を全部有効にする
という対応は避けた方がよいでしょう。
特に業務PCでは、組織のセキュリティポリシーを確認してから変更してください。
Windows 11から古いSambaへ接続する場合はどれを有効にする?
Windowsの機能を見ると、
SMB 1.0/CIFS ファイル共有のサポート
│
├─ SMB 1.0/CIFS クライアント
│
├─ SMB 1.0/CIFS サーバー
│
└─ SMB 1.0/CIFS 自動削除
などが表示されます。
ここで重要なのが、Windows 11がどちらの役割なのかです。
例えば、
Windows 11
↓
古いSambaサーバー
なら、
Windows 11 = クライアント
Samba = サーバー
です。
したがってWindows 11側では、必要性が確認できた場合に、
SMB 1.0/CIFS クライアント
を検討します。
「SMB 1.0/CIFS サーバー」は何のため?
反対に、
別のPC
↓
Windows 11の共有フォルダー
という使い方なら、Windows 11がSMBサーバー側になります。
つまり、
Windows 11
↑
SMB1で接続してくる機器
を受け付けるための機能が、
SMB 1.0/CIFS サーバー
です。
古いSambaサーバーへアクセスするだけなのに、Windows 11側のSMB1サーバー機能まで有効にする必要は通常ありません。
この違いを理解しておくことが重要です。
Windows 11でSMB1クライアントを有効にする
GUIから設定する場合は、
コントロール パネル
↓
プログラム
↓
プログラムと機能
↓
Windowsの機能の有効化または無効化
を開きます。
一覧から、
SMB 1.0/CIFS ファイル共有のサポート
を展開します。
古いSamba/NASへWindows 11から接続する目的なら、
SMB 1.0/CIFS クライアント
を有効にします。
設定変更後、Windowsから再起動を求められた場合は再起動します。
SMB1を全部チェックする必要はない
ここがこの記事で特に伝えたいポイントです。
例えば、
☑ SMB 1.0/CIFS クライアント
☑ SMB 1.0/CIFS サーバー
☑ SMB 1.0/CIFS 自動削除
と全部チェックするのではなく、
Windows → 古いSamba
という通信なら、
Windows = SMBクライアント
なので、必要な機能だけを考えます。
不要なSMB1機能まで有効にしない方が安全です。
PowerShellからSMB1の状態を確認する
PowerShellからWindowsのオプション機能を確認する方法もあります。
管理者としてPowerShellを起動し、
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
などで状態を確認できます。
環境によってSMB1関連機能を確認したい場合は、
Get-WindowsOptionalFeature -Online | Where-Object FeatureName -like "*SMB1*"
とすると分かりやすいです。
例えば、
FeatureName : SMB1Protocol-Client
State : Disabled
なら、SMB1クライアント機能が無効になっています。
PowerShellでSMB1クライアントを有効にする
GUIではなくPowerShellから操作する場合は、管理者権限で、
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
を使用できます。
実行後に再起動が必要になる場合があります。
ただし、業務環境ではスクリプトなどで大量の端末へ展開する前に、なぜSMB1が必要なのかを確認することをおすすめします。
SMB1を有効にしても接続できない場合
SMB1を有効にしたからといって、必ず接続できるとは限りません。
例えば、
SMBバージョン
名前解決
TCP/445
Firewall
ユーザー名・パスワード
Samba側の共有設定
NTLMなどの認証方式
ゲストアクセス
といった別の原因も考えられます。
そのため、
SMB1有効
↓
接続不可
↓
SMB1を入れ直す
と繰り返すのではなく、次の切り分けへ進みます。
IPアドレスで接続してみる
例えば、
\\fileserver\share
で接続できない場合、
\\192.168.1.100\share
のようにIPアドレスを指定して確認します。
もし、
ホスト名 → NG
IPアドレス → OK
なら、SMBそのものよりも、
DNS
名前解決
NetBIOS
などを疑う材料になります。
つまり、
共有フォルダーに接続できない=SMB1が原因
とは限りません。
TCP/445を確認する
Windowsから接続先サーバーのTCP/445へ接続できるか確認します。
PowerShellなら、
Test-NetConnection 192.168.1.100 -Port 445
を使用できます。
例えば、
TcpTestSucceeded : True
なら、少なくともテストした端末から接続先TCP/445までの到達性を確認する材料になります。
一方、
TcpTestSucceeded : False
なら、
Firewall
ルーティング
サーバー停止
SMBサービス
ネットワーク
なども調査します。
net useで接続を確認する
エクスプローラーだけでなく、
net use
を使って確認する方法もあります。
例えば、
net use \\192.168.1.100\share /user:username
を実行します。
パスワード入力を求められたら入力します。
これによってエクスプローラーでは分かりにくかったエラーが確認できる場合があります。
古い接続情報が残っていないか確認する
以前使用した資格情報が残っていると、別のユーザーで接続しようとしても問題になる場合があります。
まず、
net use
で現在の接続を確認します。
例えば、
\\192.168.1.100\IPC$
への接続が残っていることがあります。
不要な接続であることを確認したうえで、
net use \\192.168.1.100\IPC$ /delete
などで切断できます。
その後、必要なユーザーを指定して再接続します。
この部分は別記事として、
net useで共有フォルダーの接続を削除・ユーザーを指定して再接続する方法
に分けてもよいでしょう。
「資格情報が違う」問題とSMB1を混同しない
例えば、
Windows 11
↓
Samba
↓
接続できない
というだけでは、
SMB1が無効
なのか、
資格情報が違う
のか分かりません。
そのため、
SMBプロトコル
ネットワーク
認証
共有権限
ファイル権限
を分けて考えることが重要です。
古いSamba側を更新できるなら、そちらを優先する
例えば、
Windows 11 × 100台
↓
古いSamba × 1台
という環境なら、
Windows 100台でSMB1を有効化
するより、
古いSambaを更新
↓
SMB2/3対応
↓
WindowsはSMB1不要
とする方が長期的には望ましい構成です。
もちろん、古い業務システムでは簡単に更新できないこともあります。
その場合でも、
SMB1を恒久的な標準設定にするのではなく、必要な端末・通信範囲をできるだけ限定する
という考え方が重要です。
SMB1が必要になる古いシステム
実際の業務環境では、
古いNAS
古いSamba
古い複合機
古いスキャナー
旧式の業務システム
更新できない組み込み機器
などが残っていることがあります。
そのため、
SMB1は古い
↓
全部廃止
と簡単にはいかない環境もあります。
重要なのは、
なぜSMB1が必要なのか
どの端末が必要なのか
どのサーバーへ接続するのか
いつまで必要なのか
を把握しておくことです。
私ならこの順番で調べる
Windows 11から古いNAS/Sambaへ接続できない場合、次のように切り分けます。
共有フォルダーに接続できない
↓
接続先は生きている?
↓
IPアドレスで接続
↓
TCP/445確認
↓
接続先のSMBバージョン確認
↓
SMB1しか使えない?
┌──┴──┐
NO YES
│ │
SMB2/3で調査 SMB1クライアントを
必要性を確認して有効化
↓
再接続
↓
net use確認
↓
資格情報・権限確認
最初からSMB1を有効にするのではなく、
「本当にSMB1が原因なのか?」
を確認しながら進めます。
SMB1を有効にするのは「対処」であって「理想的な解決」ではない
古いSambaサーバーへ接続できるようになった場合、
SMB1有効化
↓
接続成功
なので、トラブルとしては解消します。
しかし、長期的には、
SMB1
↓
古いプロトコル
↓
SMB2/3へ移行
を検討する必要があります。
つまり、
SMB1を有効にして接続できたところで終わらず、「なぜSMB1が必要なのか」を記録しておく
ことをおすすめします。
特に企業・学校など、多数のWindows端末を管理している環境では重要です。
まとめ
Windows 11から古いNASやSambaサーバーへ接続できず、接続先がSMB1しか対応していない場合は、
SMB 1.0/CIFS クライアント
が必要になることがあります。
ポイントは、
Windows 11
↓
古いSamba
なら、
Windows 11 = クライアント
だということです。
古いSambaへアクセスするだけなら、Windows 11の、
SMB 1.0/CIFS サーバー
まで有効にする必要は通常ありません。
そして、SMB1を有効にする前に、
SMB2/3へ移行できないか
TCP/445は通るか
IP指定なら接続できるか
資格情報に問題はないか
も確認します。
トラブル対応としては、
「共有に接続できないからSMB1を有効にする」ではなく、「接続先がSMB1しか使えないことを確認してから、必要なクライアント機能だけを有効にする」
という順番が重要です。

コメント