• 締切済み

DNSサーバのTTL値について(ネガティブキャッシュ??)

はじめまして。 最近DNSサーバを触る機会が増えてきており、基本から勉強しているところです。 そこでどうしても知識として整理がつかないことがあります。 それが、DNSのTTLというものです。 いろいろなHPを拝見すると、通常のキャッシュを保持する時間と書いてあるところもあれば、ネガティブキャッシュを保持する時間と書いてあるところもあります。 いろいろ調べたところ、RFC 2308から役割が変更され、SOAレコードのTTL値はネガティブキャッシュを表していると、 また通常のキャッシュの値はSOAレコード内ではなく、$TTLで指定すると認識しました。 これで正しいのでしょうか? 参照URL:http://jprs.jp/tech/dnsuis/info001.html SOAレコードの値はネガティブキャッシュというのは、広く認識されていることなのでしょうか? HPによっては通常のキャッシュ保持時間と書かれているところも数多くあります。 また、よくDNSサーバ移行時にTTLを値を小さくするといいますが、その値とは通常のキャッシュ保持時間、つまり$TTLの値を小さくするのでしょうか? SOA内のTTL値ではないということですよね? もう一点あります。 あるネームサーバのTTLを確認するときにnslookupコマンドでset type=soaと指定し、default TTL値を確認してました。 これは、通常のキャッシュ保持時間ではなく、ネガティブキャッシュの時間ということでしょうか? 今まで、これが通常のキャッシュ保持時間だと認識してました・・・ であるとすると、TTL値(通常のキャッシュ保持時間)はどのように確認すればよいのでしょうか? nslookupでは確認不可?? このSOAのTTL値をネガティブキャッシュとして扱うというのは、すべてのDNSサーバでそういう役割になったという認識でよろしいのでしょうか? どうも、知識として整理がつかず、ごちゃごちゃになってしまってます。 ご存知の方、ご教授願えますでしょうか。 宜しくお願いいたします。

みんなの回答

  • oi_goo
  • ベストアンサー率44% (20/45)
回答No.2

こんにちは. #1さんと同じ内容ですが. > これで正しいのでしょうか? 8.2以降は、はい。(と各RRでも) > SOAレコードの値はネガティブキャッシュというのは、広く認識されていることなのでしょうか? 個人的には余り認識されていないような気がしますね。 (知っててもスルーしている人も多いと思いますが) > HPによっては通常のキャッシュ保持時間と書かれているところも数多くあります。 それは、そのHPの作成・更新タイミング次第ではないでしょうか。 (バージョンが記載されていないHPを参考にするときはご注意ということで) # view もしかり。 > これは、通常のキャッシュ保持時間ではなく、ネガティブキャッシュの時間ということでしょうか? そのサーバのバージョンによりますね。8.2以降は、はい。 > であるとすると、TTL値(通常のキャッシュ保持時間)はどのように確認すればよいのでしょうか? > nslookupでは確認不可?? digは何もせず表示されますよね.nslookupはデバッグモードしかないようですね. > このSOAのTTL値をネガティブキャッシュとして扱うというのは、すべてのDNSサーバでそういう役割になったという認識でよろしいのでしょうか? 受信したあなたのCacheサーバの解釈(bindのバージョン)次第のはずです。(多分)

  • anights
  • ベストアンサー率72% (35/48)
回答No.1

>また通常のキャッシュの値はSOAレコード内ではなく、$TTLで指定すると認識しました。 >これで正しいのでしょうか? bindの設定方法ということであれば正しいです。 http://www.atmarkit.co.jp/flinux/rensai/bind902/bind902b.html >HPによっては通常のキャッシュ保持時間と書かれているところも数多くあります。 ネガティブキャッシュに限らず、必ずしも正しく記載しているサイトばかりでは ありません。DNSの情報は間違った記載が多いと感じます。 RFC2181のようなものがあるくらいなのでややこしいのかもしれません。 >SOA内のTTL値ではないということですよね? おおむねそうだと思いますが多分同時にネガティブキャッシュも短い方が良いと 考える方もいるかもしれません。 >これは、通常のキャッシュ保持時間ではなく、ネガティブキャッシュの時間ということでしょうか? そうです。 >nslookupでは確認不可?? Windowsでならset d2などでデバッグモードを使えば出るようです。 http://www.atmarkit.co.jp/fnetwork/netcom/nslookup/nslookup.html Linux等ならdigなどを使った方がいいでしょう。 >このSOAのTTL値をネガティブキャッシュとして扱うというのは、 >すべてのDNSサーバでそういう役割になったという認識でよろしいのでしょうか? 古い実装であればネガティブキャッシュも普通のキャッシュも同じTTLを使うという ことだと思います。 BINDであればRFC2308を受けて8.2以降では前述の設定で 二つのキャッシュを分けて設定が行えて、取り扱いも分かれたということだと思います。

関連するQ&A

  • DNSキャッシュサーバのキャッシュ保持時間設定方法について

    DNSキャッシュサーバでキャッシュを保持する時間は、 通常はzoneファイルのTTLを見ていると思います。 このTTLを無視して強制的に全部のキャッシュ保持時間を 統一させる方法をご存知の方、いらっしゃいますでしょうか…。

  • DNSコンソール「このレコードのTTL」について教えてください。

    DNSコンソール「このレコードのTTL」について教えてください。 WindowsServer2003 DNSコンソールのSOAタブで TTLを変更しようと考えています。 問い合わせに失敗した場合、その後1時間までしか 名前解決ができない状況なので その時間を数時間程度に延ばすのが目的です。 「最小TTL値」を変更すればよいことはわかったのですが、 その下にある「このレコードのTTL」というプロパティも 同じように変更する必要があるのかが判りません。 デフォルトのままにした場合、 ゾーンファイルのSOAレコード部分が 1時間で無効になって名前解決できなくなるのでしょうか? 詳しい方、ご教授願えますでしょうか。 宜しくお願いいたします。 ※他のプロパティはデフォルトのままです  (更新間隔15分、再試行間隔10分、有効期限1日)

  • BIND(DNSサーバー)のTTL(生存時間)設定方法

    よろしくお願いします。 Bind8で、DNSサーバーの設定をしているのですが、 データベースファイルのCNAMEレコードの生存時間(TTL)が上手くいきません。 (SOAレコードではなく、CNAMEレコードのみの生存時間(TTL)を設定する必要があります) 他の書籍等を見ると、 (例) www 1D IN CNAME example.com. もしくは、 www 86400 IN CNAME example.com. 等で、 ドメイン名(www)とINの間に、タブを利用し、時間を設定すればよいように思うのですが、 named再起動時に、エラーになってしまいます。 ご存知の方がいましたら教えて頂けますでしょうか? よろしくお願い致します。

  • キャッシュサーバ(DNS)ってルータの事なんですか?

    最近少しDNSサーバに興味をもって本を読んでみて。 PC→キャッシュサーバ→コンテンツサーバ という流れで名前解決が行われるのを本で見たのですが、 キャッシュサーバとは自サーバのキャッシュを調べ、 名前解決に必要な情報が無ければ、 コンテンツサーバへルートから順に再帰的に問い合わせを行ってくれる。 ここでnslookupを使っていて思ったのですが、 下記の3つの僕の考えは正しいのでしょうか? 1、問い合わせ先DNS:ルータ 結果:ルータがキャッシュサーバの役割になり、ルータのキャッシュで名前解決できない場合は、ルータが、ルートから順にコンテンツサーバに問い合わせて、ルータが結果をPCに返してくれる(これが可能かは、ルータの機種による?) 2、問い合わせ先DNS:ルートのDNSサーバ 結果:ルータのDNSはキャッシュサーバでは無いので、次に問い合わせる先だけを教えてくれる(この問い合わせではキャッシュサーバが名前解決の経路に無い事になる) 3、問い合わせ先DNS:プロバイダに指定されたDNS(ns1.home.ne.jp) 結果:例えば、www.yahoo.co.jpを問い合わせたとして、ns1.home.ne.jpは自分には分からないよっとだけ答え、 他のアクションは起こさない。 (ns1.home.ne.jpはキャッシュサーバではないので、これだけしかアクションを起こせない) // 題名の「キャッシュサーバとはルータの事?」というのは、 上記3つのことから、本に書いてあったキャッシュサーバというのは、 ルータの事を指しているのかな?と疑問に思ったからです。 // *自分の環境は、PC→ルータ→インターネット *ルータはWBR-G54 *問い合わせDNS:(nslookupで指定した問い合わせ先) よろしくお願いします。

  • クライアントのDNSキャッシュについて

    クライアント(WindowsXP)のDNSキャッシュについての質問です。 DNSサーバ(Windows2003Srv)に登録されているIPアドレスの変更を行った際、Serial番号を上げ、TTLの時間を短くしました(デフォルトの86400秒から120秒)。 これにより、クライアントにもっているDNSキャッシュは、すぐさま更新されるのでしょうか? それとも、TTL(86400秒)経過した後(以内)に更新されるのでしょうか?もしくは、短くしたTTL(120秒)経過した後に更新されるのでしょうか? DNSサーバのエントリーを更新した際に、クライアントに浸透するまでの時間を、極力、短くしたいのです。(クライアントは、数百台あるので、ipconfig /flushdnsはできない)

  • DNSのTTLについて

    会社のWebサーバーの回線がADSLに変更されることになり、 移行作業を進めています。 DNS(BIND9)の正引きファイルと逆引きファイルの設定で、 TTL(キャッシュ)の数値を指定しますが、ここの数値を小さくしたいと 思うのです。 現在は86400(秒、つまり1日)を指定しているのですが、 ここの数値を600(=10分)とした場合、何か不具合が起こる可能性が あるのでしょうか? また、TTLに指定する適切な数値というのはあるのでしょうか?

  • MXレコードのキャッシュ

    DNSの情報ってTTLで設定した時間だけ、キャッシュしますよね。あれってMXレコードの情報もキャッシュするんですよね? MXレコードの情報とは このドメイン宛は、このSMTPサーバという情報 のことです。

  • Win2KのDNSキャッシュ

    こんにちは、honiyonです。  あるWWWサーバーがIPアドレスを変更したようなのですが、以下のような症状が発生しています。   ・nslookup [ドメイン名]の結果は新IP   ・ping [ドメイン名]とした場合は旧IPが表示。  調べてみた所、Win2Kや、NT,Win98はDNS情報をキャッシュするらしいのでこれが悪さをしているのだと思います。  このDNSキャッシュをクリアしたいのですが、どこに格納されているのでしょうか?また、このキャッシュのTTLの標準値はいくつになっているのでしょう?   OSはWin2KPROを使用しています。   宜しくお願いします(..

  • DNS動かず、、、

    linuxでnamed-serverを動かしたいのですが、 設定後、nslookup と打つと、 can' find server named for ***.***.***.*** Non-existent host/domai Default Server: **.***.ne.jp address ***.***.***.*** とでて、provider(OCN-economyのようにC未満でIP割当受けるサービス受け手ます)側で用意してもらったsecondaryが、default-serverで受けてくれます。 /var/log/message を見ると、各ゾーンファイルに対して、 Aug 23 00:43:10 dns named[5468]: Zone "0.0.127.IN-ADDR.ARPA" (file localhost.rev ): No default TTL set using SOA minimum instead のように、no default TTL ,,,,,, と出ています。 nslookupと打って、キチンとprimaryで設定してあるサーバーに返信して欲しいのですが。 どうしたらよいのでしょう。 よろしくお願いします。

  • DNS情報の伝播時間に関して

    DNS情報の伝播時間について質問します。 よくDNSの情報を更新する際に、「更新された情報が世界中に反映されるまでに半日(もしくは数時間)はかかるよ」とかいわれることがあります。 しかし、この意見には疑問があります。 DNS情報の賞味期限はTTLで指定することができるので、情報を更新する前のTTLが10分ならば、DNS情報を変えてから、少なくても10分後には、 世界中に反映されるのではないでしょうか? よく、そのように聞くと、キャッシュ云々の話をされるのですが、キャッシュの保持時間こそが、TTLのはずなので、理解できません。アプリケーションによっては、DNSで指定したTTL以上の時間、キャッシュを保持するものもあるということなのでしょうか? どなたか、ご教授いただけると幸いです。 以上、よろしくお願いします。