2008年4月17日
Windowsの名前解決が失敗する件
常駐先で利用させていただき賜うているパソコン(XPproSP2)が名前解決に失敗あらせられる。
WORKGROUP配下に一覧が出ないというレベルではなく、「ping コンピュータ名」 とかが漏れなくcould not find host になる。もちろん、「\\コンピュータ名」も使えない。
ちゃんと解決するのは面倒なので hosts に書いて運用していた。見に行くサーバは1台だけだし。
しかし、見に行くサーバが3台ぐらいに増えて、hosts の管理が面倒くさくなった。「1台、2台、たくさん、もっとたくさん」って感じ。
これはちゃんと解決しなければならない。
ipconfig /all をよく見ると、Node Type が Peer-Peer になっている。
これは WINS鯖が存在する環境用の設定だ。ここの環境では特に指定がないので、Hybrid になるのが正解のはずだ。
これをクリアすべく、ipconfig /renew とか、ipconfig /release とか、インターフェースの無効→有効とかいろいろ試したが、Peer-Peer のままだ。なお、デバイスドライバの削除→インストールは面倒なので試していない。
レジストリを見ると、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
の
DhcpNodeType
が
2
だった。
これを削除し、ipconfig /renew をしたら、今度は Unknown になった。でも周りのパソコンは漏れなく Unknown なので気にしない。
これで名前解決ができるようになった。
このパソコン、別の環境で誰かがセットアップして、宅配便で送られてきたものである。
セットアップした環境では WINS鯖が居て、DHCP鯖ではNodeType(046)にPeer-Peer(2)が指定されていたのだろう。そんなMS的キッチリな環境から、ユビキタス的ユルイ環境に持ってくるとこの現象が起こるっぽい。
クライアントPCに負担を掛けない解決策としては、ユビキタス的ユルイ環境のDHCP鯖において、NodeTypeを明示的にHybrid(8)(またはBroadcast(1))と指定しておくことだろうか。
っていうかOSのバグだろこれ。
http://support.microsoft.com/kb/903267/ja で解決できるから問題ナシとか考えてないだろうな?>MS
このエントリーのトラックバックURL:
http://weblog.rukihena.com/mt/mt-tb.cgi/768