DNS SOAレコードの存続時間の負の時間の使用をトリガーするものは何ですか?


8

私は次のDNSチュートリアルを読んでおり、この例が含まれています。

domain.com.  IN SOA ns1.domain.com. admin.domain.com. (
                                        12083   ; serial number
                                        3h      ; refresh interval
                                        30m     ; retry interval
                                        3w      ; expiry period
                                        1h      ; negative TTL
)

negative TTL値の説明は次のとおりです。

1h:これは、要求された名前がこのファイルで見つからない場合にネームサーバーが名前エラーをキャッシュする時間です。

このような名前エラーをキャッシュするようにサーバーをトリガーできる条件は何ですか?例は本当に役に立ちます。

回答:


11

SOA権限のあるサーバーが、要求されたレコードが存在しないことを示したときに、ネガティブキャッシュ間隔が機能します。具体的なケースは次のとおりです。

  • 応答コードで応答しますNXDOMAIN
  • NODATA合成状態で返信しますが、SOAレコードが存在するフォームのみを形成します。(NOERRORrcode、0回答、SOA権限セクションの1 レコード+オプションのNSレコード)

サーバーソフトウェアがローカルで構成された最大値をこの値に強制することは一般的です。そのため、86400存在しない負のTTLがある場合でも、リモート再帰サーバーによってその長い間キャッシュされるとは限りません。

詳細については、RFC 2308セクションで説明されています。セクション2をプライマーとして読んでから、5-6を読んでください。


IIUCが権限のあるサーバーから「not.available.example.com」を要求すると、負の存続期間の間キャッシュされますか?
Ole

正しい。完全な再帰的サーバーは存在しないものを確実にキャッシュしますが、スタブリゾルバー(OSリゾルバーライブラリなど)の動作は異なります。たとえば、Windowsです。「名前が存在しません。」の出力ではipconfig /displaydns、を表しNXDOMAINます。その出力にも「タイプXのレコードがありません」のインスタンスが見つかりますNODATA。これはに対応します。ほとんどのUNIXベースのシステムでは、やるではない、彼らは追加の設定なしに、すべてではキャッシュされませんので、。(nscdキャッシュが有効になっている、ローカル再帰サーバー、およびDNSルックアップに127.0.0.1を使用しているなど)
Andrew B

それで、目的を正しく想像している場合、完全な再帰サーバーによれば、「not.available.example.com」が本当に使用できないことを再確認できるのでしょうか?言い換えると、IPアドレスを取得できない場合、/ displaydnsエンドポイントのようなサーバーでクエリを実行でき、結果にはアドレスが実際に存在しないことの確認が含まれているはずですか?
Ole

ipconfig /displaydnsローカルスタブリゾルバキャッシュの内容を通知するために存在します。それ以上でもそれ以下でもありません。管理者がその情報を使用して何をしたいのかは自由です。
アンドリューB

@Ole目的は、サーバーがリゾルバに存在しないことをすでに通知した後、名前に対するクエリの繰り返しを防ぐことです。他のキャッシングと同じように。
Barmar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.