• ベストアンサー
  • すぐに回答を!

プライマリDNSがこけた時のDNSクエリの挙動

CentOSを使用しています。 /etc/resolv.confファイルの項目「nemeserver」に、プライマリDNS、セカンダリDNSともに公開DNSサーバを設定して使用しています。 ここでお伺いしたいのですが、プライマリDNSとして設定している公開DNSサーバが落ちている場合は、セカンダリDNSにクエリをかけにいくと思いますが、 この時の通信の様子をダンプして見ると、通信のたびに毎回つねに、 プライマリDNSにクエリをかける→5秒後にタイムアウト→セカンダリDNSにクエリをかける という動作を行っているようなのです。 したがって、POSTFIXでメールをリレーさせたりする時に、異常に時間がかかり、サーバとして使い物にならなくなっていまします・・・ このような状況を回避するために、 プライマリDNSが落ちているような場合は、プライマリDNSにはDNSクエリをかけずにセカンダリDNSにクエリをかけるようにしたいと思っています。 どのような設定をすれば可能でしょうか? 色々調べたのですが、該当する設定が見当たらず・・・ 何卒ご指南をいただけましたらお願い申し上げます。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1754
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

この場合は、死活監視をしてくれるロードバランサーをpostfixが動作しているサーバとDNS Recursorの間に設置する必要があります。 ロードバランサーが監視をし、DNS RecursorのAサーバが応答を返さなくなったら、DNS RecursorのBサーバのみに転送されるようになります。 DNS RecursorのAサーバが応答を返すようになったら、再びDNS RecursorのAサーバにも転送されるようになります。 LVSというLinuxのロードバランサーがありますので、そちらを確認してみてください。 ただ、この場合、ロードバランサー自体も冗長化しないといけなくなるかもしれませんね…。 費用対効果を考えると、そこまでコストをかけられない場合は、ご要望からは外れますが以下の様な方法もあります。 ・resolv.confのoptionにtimeoutがありますので、タイムアウトまでの間隔を縮める ・resolv.confのooptionにrotateがあります。これを用いることでtimeoutが適用されるのが1/xになります 更にご要望から外れるかもしれませんが、postfixが動作しているサーバ自体にDNS Recursorを動作させても良いかもしれません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご指南いただきまして大変ありがとうございます。 目が覚める思いです。 私のサーバの運用上、DNSキャッシュの導入がよいのではと思いました。

関連するQ&A

  • プロキシサーバのDNS名前解決タイムアウトエラー

    CentOSでプロキシサーバをsquid及びDNSサーバをBIND9で運用において、プロキシのeht0の設定がDNS1のみ(セカンダリなし)で、ネットサーフィンしているときにたまにDNSの名前解決がタイムアウト(セカンダリがあればセカンダリに問い合わせる)になって、止まってしまうのですが、プロキシの挙動はプライマリしかDNSがない場合には、タイムアウト時に再度問い合わせもしくは、端末にエラーを返すことしないのでしょうか? もしくはエラーを返す場合のsquidの設定は何を指定すればよいのでしょうか。

  • プライマリDNSが復活してもセカンダリDNSを使い続けてしまう!?

    アクセスありがとうございます。 Windows98機の場合アクセスのたびにプライマリDNSに問い合わせるようなのですがWindowsXP機の場合プライマリDNSがダウンするとトラフィック軽減のためか、それ以降プライマリDNSに問い合わせなくなるようです。そのためプライマリDNSが復活してもクライアントはそのことに気づかずセカンダリDNSを利用し続けます。 そのため再度プライマリDNSを利用したい場合はコンピュータを再起動するかセカンダリDNSを削除しています。 しかしWindowsXP機のどこかの設定を変更すれば、この手間を省けるのではないかと思っているのですが、もし、そうだとしたら、いったい、どこをどのように設定すればいいのでしょうか。 よろしくお願いします。

  • DNSサーバーにプライマリ、セカンダリ設定は必要?

    DNSサーバーを外部のDNSサービスへ変更を検討しています。 別々のDNSサービスに1台ずつ申し込もうと考えています。 いいな!と思ったサービスは他社からのゾーン転送に対応していないなど、DNSサービスの選定に悩んでしまいます。 ふと思ったのですが、プライマリ、セカンダリの設定は必要でしょうか? 私の認識では、 ・DNSサーバーのプライマリ、セカンダリは、ただプライマリの設定(ゾーン)をセカンダリが複製するだけで、両方のDNSサーバーの設定を間違わずに設定すれば良い。 ・レジストラへの登録もプライマリ、セカンダリは変わらない。 ・プライマリ、セカンダリを設定しても、結局、問い合わせされるDNSサーバーはランダム googleのように、4台もDNSサーバーを持っていたら1台だけの設定で楽になるかもが、DNSサーバーの設定なんて滅多に変更しないと思いますし、2台なら特に必要ないかな?と思います。 私の認識はあっているでしょうか? また、みなさまのご意見を教えて頂ければ幸いです。

  • DNSの設定について

    サーバのDNSの設定に関して、サーバ上でホスト名(FQDN)の名前解決を行おうとした際に、たとえば、 # nslookup > set debug > www.yahoo.co.jp とすると、結果が以下のようになって、IPアドレスが返ってきません。 QUESTIONS: www.yahoo.co.jp.mydomainxxx.co.jp, type = A, class = IN ANSWERS: .... (※mydomainxxx.co.jpは架空のドメインです) タイミングによっては、 QUESTIONS: www.yahoo.co.jp, type = A, class = IN ANSWERS: .... となって、正しい結果を返すときもあります。 /etc/resolv.confの設定は、以下のようになっています。 search mydomainxxx.co.jp nameserver プライマリDNSサーバのIPアドレス nameserver セカンダリDNSサーバのIPアドレス 上記のようになる原因について、調べるべき設定個所を教えてください。 よろしくお願いします。

  • セカンダリDNSは必ず必要ですか?

    DNSにはプライマリDNSとセカンダリDNSが必要といわれますが、セカンダリDNSは必ず必要なものなんでしょうか? 現在(ど素人の)私は家庭のLANにてネームサーバをスレーブとして立ち上げており、ダイナミックDNSをフォワーダにしております。 LAN内のネームサーバのプライマリDNS設定欄にはブロードバンドルータのIPアドレスを入力しているのでISPのDNSに転送されてますが、セカンダリDNS設定欄には何も記載してません。 このような状態(セカンダリDNSを使っていない状態)から判断してセカンダリDNSが必ず必要というわけではないと言い切れますでしょうか・・ 今後LAN内のDNSサーバを正式にレジストラ登録したいので悩んでます。 宜しくお願いします。

  • NTT PR-S300SEのDNS設定方法

    外部にサーバーを公開する場合、NTT PR-S300SEのDNS設定方法を教えてください。 自宅からWebサーバーでホームページを外部に公開しています。 その他 メールサーバー、DNSサーバーも使用しています。 DNSサーバーは、内部向けのみとし、名前解決できない時は、プロバイダのDNSサーバーに聞きに行くようにしています。  forwarders { XXX.XXX.XX.XX; // プロバイダのプライマリ DNS の IP アドレス XXX.XXX.XX.XX; // プロバイダのセカンダリ DNS の IP アドレス }; 先日、●NTT西日本フレッツ光プレミアム から ●フレッツ光ネクスト に乗り換えました。 ●光プレミアムではCTUの設定を  [接続先詳細設定] ISPのプライマリDNS:auto セカンダリDNS:auto  [ドメイン問い合わせ先設定] 内部のDNSサーバーのアドレス としていました。 ●光ネクスト PR-S300SE(HGW)には[詳細設定]に[DNS設定]がありますが  プライマリ、セカンダリDNSサーバアドレス に自宅DNSサーバアドレス(V4)を入力するとエラーとなり設定できません。 (説明書には、IPv6アドレスのみ設定できます。とあります) しかたなしに、[基本設定][接続先設定][メインセッション][DNSサーバアドレス]  [プライマリDNS] 自宅DNSサーバーアドレス   [セカンダリDNS] プロバイダのプライマリDNSアドレス として使っています。 [セカンダリDNS]にプロバイダのプライマリDNSアドレスを入れているのは、自宅サーバーがダウンした時に外部に接続可能とするために設定しています。 以上のような変則的な設定をしていますが、正しくはどのようにしたらよろしいのでしょうか。 (自宅DHCPサーバーはたてていません。HGWのDHCPを使用いています) よろしくお願いします。

  • セカンダリDNSのNSレコードの動作がわからなくて困ってます。

    DNSサーバについての質問です。或るドメインに対して、以下の設定がされている状態で、プライマリDNSサーバが障害にあった場合、名前解決について何か支障がでるのでしょうか?また、支障が出るとすればどういった症状になるのでしょうか。  ・レジストラにはプライマリ、セカンダリDNSサーバをそれぞれ登録しています。  ・プライマリDNSサーバの、ゾーンファイルのNSレコードには、セカンダリDNSサーバの記述がありません。  ・セカンダリDNSサーバのnamed.confには、プライマリDNSサーバのIPアドレスが記述されています。 つまり、セカンダリDNSサーバには、プライマリDNSサーバからのゾーンファイル転送によって、自身のNSレコードを含まないゾーンファイルが存在しています。 レジストラには登録されているので、問題なく名前解決ができるのではと思っているのですが・・・。 すみません、いまいちNSレコードの役割がわかっていません。 ご教授よろしくお願いします。

  • DNSサーバのプライマリとセカンダリ

    インターネットに接続する際に設定するDNSサーバですが、普通はプライマリとセカンダリと2つあります。 普段通信しているとき、どちらかに異常がない(ダウンしていない)時でも2つ同時に使用されることはあるのでしょうか?

  • DNSサーバとDNSクライアントについて

    DNSサーバから、そのDNSを使用しているDNSクライアントがどれだけあるか確認出来ますでしょうか? DNSクライアントだと思われる装置から、毎回Resolv.Confを確認してそのDNSサーバのIPが記述されているかを確認するしか方法はないのでしょうか?(結構手間なのでそれだけではないと思うのですが。。) DNSサーバのnamed.confに記述のあるIPアドレスの正引きや逆引きのファイルがあるのですが、これって、あくまで問い合わせしてきたDNSクライアントへの答えなので実際のDNSクライアントってわかりませんよね。。。 う~~~ん、、何かご回答、アドバイスなどありましたらお願いします。

  • DHCPサーバのresolv.confについて

    DHCPサーバについて勉強しているのですが、 dhcpd.confにdnsの設定が書いてあるところがありまして、 option domain-nameおよびoption domain-name-serversのところは resolv.confにも設定が入っている場合は書き換えないといけないのでしょうか。 また、設定を更新した場合は/etc/init.d/dhcpd restartで 再起動すると思いますが、プライマリおよびセカンダリと 普通冗長構成になってることが多いと思いますが、 その場合プライマリを再起動させればセカンダリのDHCPサーバも 反映されるようなことが一般的でしょうか。 DNSはプライマリを反映させると同期とってセカンダリを更新されるようなことが 多いと思いますが.. レベル低いこととなりますが教えてください。