- ベストアンサー
NT4.0 DNS での名前解決が出来なくなる
NT4.0 をDNSサーバとし稼動しています。 が、ついさっきまでつながっていたHPにアクセスしようとすると、「サーバが見つかりません」となってしまう事があります。その際は、ローカル接続を「無効、有効」とやると接続できるようになります。 数台のPCで、このような不具合がたまに発生するのですが、となりのPCでは、このような問題は全く起きません。 何が悪いのでしょうか? ちなみに問題となっているPCは、Win2Kのみで95・98・NTではこのような問題は起きません。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#4補足より >「DNS Client」を無効にしても、やはり同様の症状がでました。 > あら~。てっきり解決したものだと思ってました^ ^;; DNSキャッシュが問題なかったということですね。 >その他、どのような対策があるでしょうか。 > う~ん。 まず障害発生時にipconfig /allでDNS設定に問題がないかを確認してみましょう。 DNS Servers とか DNS Suffix Search Listとか。 正常な時と違いがないか確認ですね。 次に、問題ないとは思いますが一応DNSサーバのチェックを。 その症状が出た時にnslookupを起動し(コマンドプロンプトでnslookup) Default ServerとAddressが正常なDNSサーバの指定になっているか確認してください。 で、「>」のプロンプトの後にドメイン(例えばwww.okweb.ne.jpなど)を入力し Address: 211.132.11.193 などと返ってくるか確認してください。 ここでNon-existent domainなんか返ってきたらうれしいのですが(DNSサーバ側の問題となります) たぶん正常に引けるでしょうね^ ^; そうなると#1から疑っているようにWindows2000側のDNSリゾルバですね。 この仕様等は自分もよくわからないので、ちょっとお手上げです。すみません。 とりあえず気休めにSP3を入れてみるとか。 気力があれば再構築してみるとか。 (でも数台で同様の現象なんですよね?) お役に立てずにすみません! 何か思いついたら補足します。
その他の回答 (4)
#3補足より >QueryIpMatching を追加し、1を設定してみましたが、同様の症状が発生しました。 > すみません。 記載した方法だと有効にならないという報告もあるので、 とりあえず、参考URLにあるように変えてみてもらえますか? #今回の障害とは関係なさそうですが...。 >「DNS Client」のサービスを無効にしたところ、表示されました。 > おぉDNSキャッシュが原因でしたかぁ...といいたいところですが、微妙ですね。 DNS解決がDNSサーバに接続できなかったなどで ホスト情報が無いという「Negative cache」されて、 そのキャッシュをクリアしたことでDNS解決できたということが考えられます。 >「DNS Client」のサービスを無効にしておけばいいのですか? > 「DNS Client」は起動したままで、 現象が出た時点で、zousandesuさんの言われているとおり コマンドプロンプトから「ipconfig /flushdns」を行うという手もあります。 ただ、DNSキャッシュが原因かどうかをチェックする為にも、 しばらく「DNS Client」のサービスを無効にして再現するかどうかのチェックをお願いします。 >無効にすると、どのような不都合が生じるのでしょうか? > DNSキャッシュは一度参照したDNS情報をキャッシュすることで、 2回目からのDNS名前解決を早くするものです。 ただ、DNSサーバがLAN等高速な回線上にあるのであれば、 このキャッシュ機能を無効にしてもほとんど影響がないでしょう。 そもそもWin2000で出来た機能なので、これが無効になっても Win9xやNTと同等の応答時間になるということですしね。
補足
「DNS Client」を無効にしても、やはり同様の症状がでました。 その他、どのような対策があるでしょうか。
#1補足より >ipconfig /displaydns をすると、名前解決できないサーバが > Negative cache entry for no records >となっていました。 > Negative caching されているということなので、 DNSキャッシュというよりDNSの解決ができていないということかな。 そうなるとDNSリゾルバの動きが怪しいような気が...。 とりあえずこれを判断するために「DNS Client」のサービスを無効にして 同様の現象が発生するかしばらくやってみてください。 これで解決したらDNSキャッシュが問題ということですし、 まだ発生するのであれば、ちょっと別の調査方法を考えます。
補足
QueryIpMatching を追加し、1を設定してみましたが、同様の症状が発生しました。 > とりあえずこれを判断するために「DNS Client」のサービスを無効にして > 同様の現象が発生するかしばらくやってみてください。 > これで解決したらDNSキャッシュが問題ということですし、 「DNS Client」のサービスを無効にしたところ、表示されました。 「DNS Client」のサービスを無効にしておけばいいのですか? 無効にすると、どのような不都合が生じるのでしょうか? 素人ですみません。。
- zousandesu
- ベストアンサー率70% (19/27)
WIN2Kでのみ発生となると、DNSキャッシュの影響が考えられます。まぁ正常な事態ではないですが。。。 ipconfig/displaydns でHPアドレスを確認してみて下さい。おかしいときには/flushdnsでクリアすれば、ローカル接続を無効にしなくても良いかと思います。
自分も昔なったことがあります。 ただ数日で直ってしまってそれきりだし、特に手をうったわけでもなかったので 原因、解決方法ちょっとわからないです。すみません。 まず確認ですが、DNSサーバの設定(DNSサーバ検索順、サフィックス等)は大丈夫ですよね? で次に、接続が出来なくなった時に ドメインに対してとそのIPアドレスpingを打つとどうなりますか? 例えば ping www.hoge.com と ping 11.11.11.11 ドメインは「host unknown.」でIPアドレスは正常に返ってきますか? そうなると、Windows2000のDNSリゾルバが問題となっていると思います。 #ここでIPアドレスもRequest Timed out.等応答が無い場合は、 #DNSではなくDHCP等別があやしいですね。 Windows2000にはDNSリゾルバの脆弱性が確認されてます。 DNS query を送った IP アドレス以外からのDNS reply でも受けつけてしまう って奴です。 これは、 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DnsCache\Parameters に「QueryIpMatching」エントリ (REG_DWORD) を作って、「1」としするようです。 http://www.kb.cert.org/vuls/id/458659 これで言われている障害が発生する可能性はかなり低いかと思いますが、一応ご確認を。
補足
ping をするとhost unknownが帰ってきます。(アドレスではOK) また、ipconfig /displaydns をすると、名前解決できないサーバが Negative cache entry for no records となっていました。
お礼
>あら~。てっきり解決したものだと思ってました^ ^;; >DNSキャッシュが問題なかったということですね。 すみません。連休の為テストが出来ませんでした。 nslookup をしてみたのですが、問題無く応答が帰ってきました。 いろいろと有難う御座いました。 SP3でも入れてみようかな・・・。