質問: windows xpでdnsサーバの設定 windowsxpでは、tcp/ipの詳細設定で「dnsサーバー アドレス(使用順)(n):」の欄に幾つかのdnsサーバを指定できるかと思います。 「この欄に、1台だけdnsサーバーを記入するとうまく名前解決できる」 という状況にありましたが、 「さらに3台追記したら名前解決ができなくなった」 という状況に陥っております。 「優先dnsサーバーは変わってないので名前解決できるのでは?」と思うのですが、代替dnsサーバーが増えたことにより名前解決できなくなる理由は何が考えられますでしょうか? 状況: dnsサーバーが1台だけの場合、ホスト名でping出すと、正しいアドレスに問い合わせ、返信も返ってくる。 dnsサーバーを4台に増やすと、ホスト名でping出すと、そのホストがいない 旨のメッセージで終わってしまう。 その際、そのホスト名でnslookupすると、優先dnsサーバから正しいipアドレスが返ってくる。 (優先)dnsサーバを正しく理解し、dnsサーバからも正しい返答が返せるのに、pingで 名前からipアドレスがなぜわからないのかが理解できない。 -- よろしくお願いいたします。
回答: 優先dnsと代替dnsの動作については下記urlを参考にしてください。 http://www.atmarkit.co.jp/fwin2k/win2ktips/241dnsservers/dnsservers.html >「優先dnsサーバーは変わってないので名前解決できるのでは?」と思うのですが、代替dnsサーバーが増えたことにより名前解決できなくなる理由は何が考えられますでしょうか? urlに説明があるように優先という言葉の通り、優先的に使用されるのはその通りですが、 ネットワークやサーバの応答の状況により、サーバが切り替わることがあります。 そして、一度切り替わると、再度遅延などがあるかサービスの再起動をするまでは切り替わったサーバつまり代替dnsサーバ側が優先となります。 これは内部的なdnsサーバリストによって別に管理されます。 この切り替わりはあくまでも応答が規定時間内に無かった場合の動作なので、レコードやゾーンがないなどの否定応答では切り替わりません。 増えたdnsサーバが、同じゾーンを管理していれば問題ありませんが、 優先dnsサーバには、example.localゾーンを管理しているが、代替dnsサーバは管理していない場合はこのようなことになることはあります。 (よくactive directoryの環境でこのような間違いは多く見られます) 言い換えると、優先dns、代替dnsはともに同じゾーンの名前解決が出来て、同じレコード情報を持っている必要がありますが、 この辺に心当たりはありませんでしょうか。 >nslookupすると、優先dnsサーバから正しいipアドレスが返ってくる。 nslookupコマンドは、必ず優先dnsサーバを使用するような動作となります。 (現在のdnsのサーバリストがどうなっていようと) 代替dnsへの切り替え動作は行いません。 そのため、pingコマンドでの名前解決動作とは必ずしも同じにはなりません。