nslookup
コマンドを使ってDNSクエリを行うと、時々 「権限のない回答(Non-authoritative answer)」 という表示が出ることがあります。
本記事では、
- 「権限のない回答」とは何か?
- なぜ「権限のない回答」が表示されるのか?
- 「権限のある回答」との違いは?
- どうすれば「権限のある回答」を取得できるのか?
これらの疑問を深掘りしていきます。
🔹 「権限のない回答(Non-authoritative answer)」とは?
DNSサーバーには、大きく分けて2種類の役割があります。
1. 権威DNSサーバー(Authoritative DNS Server)
特定のドメインに関する正式な情報を保持し、DNSレコードを管理するサーバーです。
- 例えば、
example.com
のドメイン所有者が設定したDNSサーバーが該当。
2. キャッシュDNSサーバー(Recursive Resolver / Caching DNS Server)
ユーザーのDNSクエリを処理し、過去に取得したDNS情報をキャッシュして素早く返すサーバーです。
- ISPのDNSサーバーやGoogle Public DNS (
8.8.8.8
) などが該当。
🔽 「権限のない回答」が表示される理由
nslookup
で「権限のない回答」と表示されるのは、キャッシュDNSサーバーが過去の問い合わせ結果を返しているため です。
nslookup example.com
🔽 結果
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: example.com
Address: 93.184.216.34
ここで 8.8.8.8
(Google Public DNS)がキャッシュしていた結果を返しており、「Non-authoritative answer」 と表示されています。
🔹 「権限のある回答(Authoritative answer)」との違い
項目 | 権限のある回答(Authoritative) | 権限のない回答(Non-authoritative) |
---|---|---|
回答元 | 権威DNSサーバー | キャッシュDNSサーバー |
情報の正式性 | 公式な最新情報 | 過去に取得されたキャッシュ情報 |
nslookup時の表示 |
Non-authoritative answer の記載なし |
Non-authoritative answer が表示される |
🔹 どうすれば「権限のある回答」を取得できるのか?
「権限のある回答」を取得するには、権威DNSサーバーを直接指定して問い合わせる 必要があります。
① nslookup
で権威DNSサーバーを指定
nslookup example.com ns1.icann.org
🔽 結果
Server: ns1.icann.org
Address: 192.0.32.1#53
Name: example.com
Address: 93.184.216.34
→ 「Non-authoritative answer」 の表示がなくなり、権威DNSサーバーからの公式な回答になっている!
② dig
コマンドを使う(Linux / macOS)
dig example.com +trace
このコマンドを実行すると、ルートDNSサーバーから順に問い合わせを行い、最終的な権威DNSサーバーの情報を取得できます。
🔹 なぜ「権限のない回答」が必要なのか?
キャッシュDNSサーバーを利用することで、以下のメリットがあります。
✅ DNSクエリの応答速度向上 → キャッシュから取得することで問い合わせ時間を短縮。
✅ DNSの負荷軽減 → 毎回権威DNSサーバーに問い合わせると負担がかかるため、キャッシュを活用。
✅ ネットワークトラフィックの削減 → 余計な通信を減らし、インターネット全体のパフォーマンス向上。
しかし、キャッシュのデメリットとして、DNSレコードが変更されてもすぐには反映されない可能性がある点には注意が必要です。
🔹 まとめ
- 「権限のない回答」は、キャッシュDNSサーバーから返された過去の情報。
- 「権限のある回答」は、権威DNSサーバーから直接取得した情報。
-
nslookup
ではデフォルトで「権限のない回答」が表示される。 - 権威DNSサーバーを指定すると「権限のある回答」が取得できる!
-
dig +trace
を使うと、DNSの問い合わせの流れを詳細に確認できる。
DNSの動作を理解しておくと、ネットワークトラブルの調査やドメイン設定の確認に役立ちます!💡