Help us understand the problem. What is going on with this article?

digコマンドによるDNSサーバの挙動確認

はじめに

digコマンドを使ってDNSサーバへ問い合わせた際のメッセージ内容やコマンドの使い方をまとめます。OSはCentos7です。

digのインストール

# yum install bind-utils

フルリゾルバーへのDNS問い合わせ

# dig www.google.com IN A

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.google.com IN A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10632
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     150 IN  A   216.58.197.228

;; Query time: 31 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Oct 04 19:16:47 UTC 2019
;; MSG SIZE  rcvd: 59

HEADER

status 意味
NOERROR 正常応答
SERVFAIL サーバ側での異常による名前解決失敗
NXDOMAIN リソースレコードが存在しない
REFUSED リクエストが拒否された

id:DNSのトランザクションID。問い合わせ時にランダムに生成される

flags 意味
qr 問い合わせが0, 応答が1。上記例では応答なので flags: qr となっている
rd 権威サーバへの問い合わせ(非再帰的問い合わせ)は0, フルリゾルバーへの問い合わせ(再帰的問い合わせ)は1
ra 応答した相手が名前解決処理できる(フルリゾルバーである)場合は1

セクション

セクション 意味(各セクションの有無が0,1で表される)
QUERY 問い合わせ内容(ドメイン、タイプ)のセクション
ANSWER 問い合わせ内容に対するリソースレコードのセクション
AUTHORITY 権威を持っているDNSサーバー情報のセクション
ADDITIONAL

権威サーバへのDNS問い合わせ

yahoo.co.jpを委任されているサーバ(権威サーバ)の確認
# dig yahoo.co.jp NS

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> yahoo.co.jp NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56429
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;yahoo.co.jp.           IN  NS

;; ANSWER SECTION:
yahoo.co.jp.        899 IN  NS  ns02.yahoo.co.jp.
yahoo.co.jp.        899 IN  NS  ns01.yahoo.co.jp.
yahoo.co.jp.        899 IN  NS  ns12.yahoo.co.jp.
yahoo.co.jp.        899 IN  NS  ns11.yahoo.co.jp.

;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Oct 05 01:31:27 UTC 2019
;; MSG SIZE  rcvd: 116


# dig ns01.yahoo.co.jp A

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> ns01.yahoo.co.jp A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43327
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;ns01.yahoo.co.jp.      IN  A

;; ANSWER SECTION:
ns01.yahoo.co.jp.   838 IN  A   118.151.254.133

;; Query time: 170 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Oct 05 01:31:45 UTC 2019
;; MSG SIZE  rcvd: 61
yahoo.co.jpの権威サーバの一つ118.151.254.133に対して直接、非再帰的な問い合わせ(+norec)を行う

;; flags: qr aaのようにAA(Authoritative Answer)ビットがセットされており、応答したサーバ118.151.254.133が問い合わせたドメインの管理権限を持つことがわかる。
また、yahoo.co.jpの権威サーバのNSリソースレコードとAリソースレコードが4つずつセットされている。

# dig +norec @118.151.254.133 yahoo.co.jp

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> +norec @118.151.254.133 yahoo.co.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12964
;; flags: qr aa; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;yahoo.co.jp.           IN  A

;; ANSWER SECTION:
yahoo.co.jp.        300 IN  A   182.22.59.229
yahoo.co.jp.        300 IN  A   183.79.135.206

;; AUTHORITY SECTION:
yahoo.co.jp.        900 IN  NS  ns01.yahoo.co.jp.
yahoo.co.jp.        900 IN  NS  ns11.yahoo.co.jp.
yahoo.co.jp.        900 IN  NS  ns12.yahoo.co.jp.
yahoo.co.jp.        900 IN  NS  ns02.yahoo.co.jp.

;; ADDITIONAL SECTION:
ns01.yahoo.co.jp.   900 IN  A   118.151.254.133
ns02.yahoo.co.jp.   900 IN  A   118.151.254.149
ns11.yahoo.co.jp.   900 IN  A   124.83.255.37
ns12.yahoo.co.jp.   900 IN  A   124.83.255.101

;; Query time: 17 msec
;; SERVER: 118.151.254.133#53(118.151.254.133)
;; WHEN: Sat Oct 05 01:33:53 UTC 2019
;; MSG SIZE  rcvd: 212

権威サーバへ再帰的問い合わせをしてみる

yahoo.co.jpドメインの権威サーバ118.151.254.133に対して、管理外のwww.google.comを再帰的(+norecを付けずに)問い合わせてみる。

以下の通り、status: REFUSEDとリクエストが拒否されて、
flags: qr rdにもraが含まれていないため、応答した相手が名前解決ができないことがわかる。

# dig  @118.151.254.133 www.google.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> @118.151.254.133 www.google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 51205
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.com.            IN  A

;; Query time: 19 msec
;; SERVER: 118.151.254.133#53(118.151.254.133)
;; WHEN: Sat Oct 05 01:41:48 UTC 2019
;; MSG SIZE  rcvd: 43

参考

jprs用語辞典(フルサービスリゾルバー)

DNSの勉強ノート【その3】フルサービスリゾルバとコンテンツサーバ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした