質問: 名前解決の仕組み 例えば、windowsのクライアントpcにおいて、優先dnsと代替dnsを下記のように 設定していたとします。 優先dns:内部dnsサーバのアドレス 代替dns:ispのグローバルdnsサーバのアドレス 今までグローバルdnsサーバに定義されていたaレコードの内容を 内部dnsサーバに定義しました。(このときグローバルdnsサーバの 該当aレコードは削除しました。) クライアントpcからnslookupを実行して、aレコードを引くと、きちんと 内部dnsサーバに定義されていたaレコードの値が返ってきます。 しかしこのaレコードをメールのpop3に設定すると、受信が出来ませんでした。 (エラーはなし)mxレコードとaレコードは、間違いなく定義しております。 そのドメインあてには、テストメールは送付していて、送信者にはエラーは 返ってきておりません。 メールサーバにもメールが届いていることを確認しております。 優先dnsを見ていないように思えるのですが(代替dnsを見ている?)、なぜなのでしょうか。 また、このような事象が起こることがあるのでしょうか? 今まで優先dnsで名前解決が出来ない場合は、代替dnsに問い合わせにいくと思っていましたが、 ランダム?に名前解決しているように思えました。 そもそも、優先dnsに内部dnsサーバを定義し、フォワーダーとして、ispのグローバルdnsサーバの ipアドレスを定義するので、クライアントpcには代替dnsサーバは定義しなくてもいいということ なのでしょうか? 詳しい方アドバイスを頂ければと思います。 よろしくお願いいたします。
回答: windowsのdnsクライアントの動作は以下のwebサイトを参考にして下さい。 http://www.atmarkit.co.jp/fwin2k/win2ktips/241dnsservers/dnsservers.html ざっくり言うと、優先dnsサーバが一定時間内に応答を返さないと代替dnsサーバが使用されるということになります。 ここで注意は、non-existent domain(否定応答)は応答したと判断するということです。 >今まで優先dnsで名前解決が出来ない場合は、代替dnsに問い合わせにいくと思っていましたが、 名前解決出来ない場合ではなく、一定時間内に応答がない場合ですね。 >優先dnsを見ていないように思えるのですが(代替dnsを見ている?)、なぜなのでしょうか。 >また、このような事象が起こることがあるのでしょうか? 優先dnsと代替dnsが同じリソースを管理していない場合はこのような事象が発生することがあります。 つまり今回の場合は該当します。 優先dnsサーバが何らかの理由で応答を返すのが遅いため、代替dnsサーバからの応答を是とましたが、代替dnsサーバは該当aレコードを持っていないため non-existent domain(否定応答)が返ったのだと思われます。 この応答からwindows側はその名前は無いとの判断になったのだと思います。 優先dnsサーバがそんなに遅いの?という疑問はありますが、これは通信をキャプチャするなどして覗いてみないと詳しいことはわからないですね。 ただ、一度このやり取りをしますと名前が無いという情報がクライアントにキャッシュされますのでキャッシュ時間内は再度の問い合わせを行いません。 キャッシュ時間は、ネガティブキャッシュのttlに依存しますが1日とかに設定していることも多いです。 >クライアントpcからnslookupを実行して、aレコードを引くと、きちんと >内部dnsサーバに定義されていたaレコードの値が返ってきます。 nslookupコマンドは指定したdnsサーバに対してしか問い合わせを行いません。 つまり、デフォルトでは優先dnsサーバが問い合わせ先のサーバになるため、優先、代替の仕組みはコマンド内では動作しません。 >そもそも、優先dnsに内部dnsサーバを定義し、フォワーダーとして、ispのグローバルdnsサーバの >ipアドレスを定義するので、クライアントpcには代替dnsサーバは定義しなくてもいいということ >なのでしょうか? 内部dnsサーバとispのグローバルdnsサーバが同じリソースを管理しているのであれば、代替dnsサーバを設定する意味はあると思います。 内部dnsサーバがdnsをサービス出来ないような状況になった場合でも名前解決が出来るルートがありますので。 ただ、今回のように管理しているaレコードが違うなどリソースの内容が異なる場合にはトラブルが発生する場合があります。 それぞれのdnsサーバのレコードの内容を同じに出来ないのであれば、トラブルの元なので代替dnsサーバは設定しないほうがいいと思います。