先日、自宅でWindows7を使用している方が、自分のパソコンから他のパソコンや周辺機器に接続しようとしたところ、できなかったとのことで相談がありました。
解決方法は非常に簡単なのですが内容を知っている人以外には、想像すらつかないと思いますので参考になればと思い記載しておきます。
まず、どのようなことなのか・・
知り合いのご自宅では、先日までWindowsXPのパソコンを使用していたそうで、今回Windows7に変更したらしい。
linuxベースのSambaを常時立ち上げてていて新しいWindows7でネットワークに繋いだところ、ネットワーク上にSMBの表示がされなかった。
Windows7からセキュリティが強固になっているため、デフォルトでNetBios-over-TC/IPを使用しない状態になっています。
Windows7の標準ファイアウォールはもちろん、市販のウィルス対策ソフト(ノートン インターネットセキュリティ、F-Secure Internet Securityなど)もデフォルトで無効になっています。
よって、次のような方はコレで解決します。
・WindowsXPがあるLAN環境でWindows7からWindowsXPに接続、共有ができない。(表示されない)
・Linux,ホームサーバー,NAS,MacOS,Windows7,WindowsXPのLAN環境で他のPCに接続、共有ができない。
Answer
・Windows 7のNetBIOS over TCP/IPが無効になっている。
下記のポートをファイアウォール設定でポート開放することで接続できるようになります。
・NetBIOS名前サービス(137/UDP)
・NetBIOS名前サービス(137/TCP)
・NetBIOSデータグラムサービス(138/UDP)
・NetBIOSセッションサービス(139/TCP)
・ダイレクトホスティングサービス (445/TCP、445/UDP)
※Windows Vista以降、今後もIPv4からIPv6への移行のため使わなくなる方向で進んでいきます。
さらにSMBのポートを使ったウイルス攻撃もあるようですので、今後のネット構築にはNetBIOS Protocolを使用しない環境を。。
設定方法
- コントロールパネルから「ネットワークと共有センター」を選択する。
- 「ネットワークと共有センター」の画面左側にある「アダプターの設定の変更」を選択する。
- 対象となるローカルエリア接続(接続アダプタ)を選択する。(参考画像だとローカルエリア接続2 Marvell yukon88e8056 PCI-E Gigabit Ethernet Controller)
- プロパティからインターネットプロトコルバージョン 4 (TCP/IPv4)を選び、プロパティを開く。
- インターネットプロトコルバージョン 4 (TCP/IPv4)のプロパティの下にある詳細設定を押す。
- TCP/IP詳細設定でタブをIP設定からWINSに切り替える。
- Net/BIOSが表示されるので、「NetBIOS over TCP/IPを有効にする(N)」を選択する。
- コントロールパネルにあるシステムを選択する。
- システムの「コンピューター名、ドメインおよびワークグループの設定」のワークグループ名を他のデバイスと同じにする。
Macintosh,Linux-Samba,NAS,WindowsXPなどデバイス名を同じにすること! - コントロールパネルの管理ツールを開く。
- ローカルセキュリティポリシーを開き、右側の「ローカルポリシー」内にある「セキュリティオプション」を開く。
- 「ネットワークセキュリティ:LAN Manager認証レベル」でLMとNTLM応答を送信する」に設定。
Windows7 Home Editionは廉価版なのか管理画面が省略されています。
面倒くさいのですが、ホームエディションのかたはRegistryEditerで変更してください。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa
LmCompatibilityLevel の値を 3 から 1 へ変更
これで解決するはずです。。
次は「ローカルネットワーク内にWindows7が複数ある場合で双方のパソコンが共有できない場合」の対処法をご紹介します。