こんにちは、フルスタックエンジニアのryuです。
今回の記事では、Non-authoritative answerについて解説したいと思います。nslookupコマンドを実行すると表示される「Non-authoritative answer」とは一体なんなのでしょうか?直訳すると、”権威のない回答”となります。これは名前解決ができているのかどうか、詳しく解説します。
目次
「Non-authoritative answer」とは、nslookupコマンドを実行した際に表示されるものです。
例えば、以下のようにnslookupコマンドを実行した場合に表示されます。
これは、DNSクエリに対する応答が、そのドメインの権威あるDNSサーバーから直接提供されたものではないことを示す用語です。
ここで、権威あるDNSサーバーという単語が出てきました。権威あるDNSサーバーとはなんなのでしょうか?
権威あるDNSサーバーとは?
権威あるDNSサーバーとは、特定のドメイン名に対する公式な情報を持っている権威あるDNSサーバーのことです。
つまり、そのドメイン名のゾーンファイルを管理しているDNSサーバーのことです。
例えば、www.test.comの名前解決ができるDNSサーバーは、test.comドメインに対して権威あるDNSサーバーとなります。
権威のないDNSサーバーとは?
「Non-authoritative answer」とは、権威あるDNSサーバーからの応答ではないことをさします。つまり権威がないDNSサーバーからの応答となります。
ここで、権威のないDNSサーバーとは何を指すのでしょうか?
これは、キャッシュDNSサーバーやリゾルバが以前に他のクエリで取得した情報をキャッシュに保存し、そのキャッシュされた情報を基に提供する応答です。
キャッシュされた情報は一時的なものであり、元の権威あるDNSサーバーからの最新情報ではない可能性があります。
「Non-authoritative answer」と表示されると、名前解決ができているかどうか不安になる方もいるかもしれません。
しかし、これはエラー文ではないので、名前解決自体はできています。
しかし、さきほども記述したとおり、以前に他のクエリで取得し、保存されたキャッシュ情報を応答しているため、過去の情報の場合があります。
たとえば、Aレコードを変更したとしても、キャッシュが10分間ある場合を想定してみましょう。この場合、直接権威あるDNSサーバーに問い合わせを行なうと、変更後のIPアドレスが返されます。しかし、権威のないDNSサーバーに問い合わせを行なうと、キャッシュが残っている10分間は変更前のIPアドレスが返されてしまいます。
このように、動作の違いが発生する場合があるので、「Non-authoritative answer」と表示された場合は、すこし注意しておきましょう。
また、DNSを運用する方で、レコードの変更をする際は、キャッシュの時間(TTL)を意識して設定しましょう。
まとめ
今回は、DNSで名前解決をする際に表示される「Non-authoritative answer」について解説しました。
ちょっとした文章でも、調べてみると、動作が違うことが分かります。
Linuxコマンドを実行した後に表示される内容は注意深くみておきましょう。
当ブログでは、このようなLinuxやネットワークなどのインフラエンジニアにためになる知識を発信しているので興味のある方は引き続きご覧ください。