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

Posted by rukihena at 12:58:23
トラックバックURL

このエントリーのトラックバックURL:
http://weblog.rukihena.com/mt/mt-tb.cgi/768

コメント