« 外付RAID1ディスクケース RAIDON SR3610 | Main | レビュー:KVMスイッチ Rextron DAG14 »

2006.07.23

Windowsのマイネットワークに表示されるコンピュータの一覧

Windowsの「マイ ネットワーク」「ネットワーク コンピュータ」に表示されるコンピュータの一覧がたまに見えなくなることがあります。
この仕組みは結構ややこしいことになっていて、理解の範疇を超えているところがありますので、簡単に説明します。

ざっくり言うと、

  • 名前解決はNetBIOS over TCP/IPブロードキャストとLMHOSTS、WINSが担当する
    コンピュータ名とIPアドレスの変換は
    • ブロードキャストで「xxxいますか?」と通知して応答を得る方法
    • WindowsシステムディレクトリにあるLMHOSTSファイルで解決する
    • WINSサーバに問い合わせる
    の3種類が伝統的な方法です。
    Windows 2000以降ではこれにDNSが加わりますが、基本的な名前解決は上の3種類です。


  • サブネットを超える名前解決はLMHOSTSかWINSを使う
    ブロードキャストはサブネットの範囲までですから、サブネットを超える名前解決はローカルのLMHOSTSファイル、またはWINSサーバを参照することになります。


  • コンピュータ名の一覧は適当なPCがマスタブラウザになって提供する
    コンピュータ名の一覧はマスタブラウザが提供するのですが、マスタブラウザはサブネットごとに1台、適当なPCがなるため管理者の管理範囲外になることが多いです。
    マスタブラウザになる優先順位としては、ドメインコントローラ→サーバOS→NT系ワークステーションOS(NT Workstation, 2000 Pro, XP Pro, XP Home)→Win9x+ファイル共有という順で、サーバOSが常時起動している環境ではコンピュータ名の一覧が見えなくなるパターンは少ないと思います。


  • WINSサーバはコンピュータ名の一覧を提供する機能はない
    コンピュータ名の一覧が見えなくなったときに「WINSを指定してください」という回答をよく見ることから、「WINSがコンピュータ名の一覧を提供している」と勘違いされている方も多いようです。
    しかし、WINSは名前解決を行うのみでコンピュータ名の一覧は提供しません。
    コンピュータ名の一覧は必ずマスタブラウザが提供しており、マスタブラウザになったPCはWINSを参照して他のサブネットの同じワークグループのコンピュータ名の一覧を取得して自分の持つコンピュータ名の一覧とマージして表示しています。


  • Windows XPにSP2を後付け適用した端末が通信を阻害する
    Windows XP SP2を後付け適用してWindowsファイアーウォールを有効にすると、Windowsファイル共有が正常に動かないことがあります。
    そのため、こういった端末が一度マスタブラウザになると同じサブネット内にサーバOSがあってもマスタブラウザを譲らなくなるため、コンピュータ名の一覧が異常になることがあります。
    ただし、WINS名前解決は動いているため、コンピュータ名をアドレスバーに入力するなど手動で指定すれば問題が解決することが多いです。


と、いうことで、コンピュータ名の一覧の提供とコンピュータ名とIPアドレスの変換は、全く別の仕組みを使って独立して動いています。
そのため、複数の拠点など、複数のサブネットから構成されるネットワークの場合は、

  • 全社統一のWINSサーバを用意する
  • DHCPでWINSのIPアドレスを配布する
  • DHCP/固定IPアドレスが混在している環境では、固定IPアドレスを割り振っている端末は必ずWINSサーバを指定する
  • 各サブネットごとにマスタブラウザになるサーバOS、またはSamba(=Windows対応のNAS)を配置する
  • パーソナルファイアーウォールやWindowsファイヤーウォールを入れたPCがあるとコンピュータ名の一覧が不正になるため、コンピュータ名一覧を提供したい場合は、社内LANではファイアーウォールをオフにする、または適切に設定する

ということを実施しないと、拠点間でのWindowsファイル共有のトラブル解決は難しいです。
管理者不在の中小企業のLANだとこの手の問題は常時茶飯事かもしれないですね。
この手の情報源としては、マイクロソフトが100%の情報公開をしていないため、たかはしもとのぶ氏のアンドキュメンテッドMicrosoftネットワークを読むのがよいと思います。
この本ではActiveDirectoryまわりの情報は少ないのですが、NT 4.0までのクラシックなWindowsネットワークはWindows Server 2003にも引き継がれていますから、トラブルシューティングのために1冊読んでおくとよいでしょう。

参考リンク
Microsoft ネットワークを解剖する(MONYO-COM)
アンドキュメンテッドMicrosoftネットワーク

2006/08/08 追記:
以前書いたのですが、Windows 98クライアントをWindows Server 2003のドメインに参加させた時、ネットワークコンピュータの一覧が表示されなかったり、「リソースへのアクセス権がありません」というエラーが表示されたりします。
これはドメインコントローラのグループポリシーでSMB署名が有効になることが原因のようです。
本件の対策は、"Default Domain Controllers Policy"のセキュリティオプションから以下の項目を無効にすることです。

  • Microsoft ネットワーク クライアント:サーバーが同意すれば通信にデジタル署名を行う
  • Microsoft ネットワークサーバー : 常に通信にデジタル署名を行う


参考リンク:KB325379 「Windows 2000 ドメイン コントローラを Windows Server 2003 にアップグレードする方法」

|

« 外付RAID1ディスクケース RAIDON SR3610 | Main | レビュー:KVMスイッチ Rextron DAG14 »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Windowsのマイネットワークに表示されるコンピュータの一覧:

« 外付RAID1ディスクケース RAIDON SR3610 | Main | レビュー:KVMスイッチ Rextron DAG14 »