DNS で名前解決がどのような流れで行われるかをご紹介します。辿り方は、手動で権威サーバに反復問い合わせを行うというものです。
使うのは dig コマンド。オプションとして “+norec” を与えることで非再帰問い合わせとなります。始まりはルートサーバからです。「tech.yamashiro.blog.」の名前解決がどのように行われるかを見ていきましょう。
[root@localhost ~]# dig +norec @a.root-servers.net. tech.yamashiro.blog.
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> +norec @a.root-servers.net. tech.yamashiro.blog.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48246
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 9
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;tech.yamashiro.blog. IN A
;; AUTHORITY SECTION:
blog. 172800 IN NS d.nic.blog.
blog. 172800 IN NS a.nic.blog.
blog. 172800 IN NS b.nic.blog.
blog. 172800 IN NS c.nic.blog.
;; ADDITIONAL SECTION:
d.nic.blog. 172800 IN A 212.18.249.94
d.nic.blog. 172800 IN AAAA 2a04:2b00:13ff::94
a.nic.blog. 172800 IN A 194.169.218.94
a.nic.blog. 172800 IN AAAA 2001:67c:13cc::1:94
b.nic.blog. 172800 IN A 185.24.64.94
b.nic.blog. 172800 IN AAAA 2a04:2b00:13cc::1:94
c.nic.blog. 172800 IN A 212.18.248.94
c.nic.blog. 172800 IN AAAA 2a04:2b00:13ee::94
;; Query time: 132 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: 火 7月 14 08:41:53 JST 2020
;; MSG SIZE rcvd: 292
ルートサーバに問い合わせた結果、yamashiro.blog. は blog. に委任していることが分かりました。blog. のネームサーバは a.nic.blog. です。
a.nic.blog. に tech.yamashiro.blog. を問い合わせてみます。
[root@localhost ~]# dig +norec @a.nic.blog. tech.yamashiro.blog.
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> +norec @a.nic.blog. tech.yamashiro.blog.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53400
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;tech.yamashiro.blog. IN A
;; AUTHORITY SECTION:
yamashiro.blog. 3600 IN NS ns2.wpx.ne.jp.
yamashiro.blog. 3600 IN NS ns3.wpx.ne.jp.
yamashiro.blog. 3600 IN NS ns1.wpx.ne.jp.
;; Query time: 131 msec
;; SERVER: 194.169.218.94#53(194.169.218.94)
;; WHEN: 火 7月 14 08:43:53 JST 2020
;; MSG SIZE rcvd: 111
a.nic.blog. に問い合わせた結果、yamashiro.blog. は ns1.wpx.ne.jp が管理していることが分かりました。tech.yamashiro.blog. の名前解決は一旦中断し、ns1.wpx.ne.jp. の名前解決を実行します。再度ルートサーバから問い合わせをやり直します。
[root@localhost ~]# dig +norec @a.root-servers.net. ns1.wpx.ne.jp.
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> +norec @a.root-servers.net. ns1.wpx.ne.jp.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35267
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 8, ADDITIONAL: 16
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ns1.wpx.ne.jp. IN A
;; AUTHORITY SECTION:
jp. 172800 IN NS a.dns.jp.
jp. 172800 IN NS d.dns.jp.
jp. 172800 IN NS e.dns.jp.
jp. 172800 IN NS f.dns.jp.
jp. 172800 IN NS h.dns.jp.
jp. 172800 IN NS g.dns.jp.
jp. 172800 IN NS c.dns.jp.
jp. 172800 IN NS b.dns.jp.
;; ADDITIONAL SECTION:
a.dns.jp. 172800 IN A 203.119.1.1
a.dns.jp. 172800 IN AAAA 2001:dc4::1
d.dns.jp. 172800 IN A 210.138.175.244
d.dns.jp. 172800 IN AAAA 2001:240::53
e.dns.jp. 172800 IN A 192.50.43.53
e.dns.jp. 172800 IN AAAA 2001:200:c000::35
f.dns.jp. 172800 IN A 150.100.6.8
f.dns.jp. 172800 IN AAAA 2001:2f8:0:100::153
h.dns.jp. 172800 IN A 65.22.40.25
h.dns.jp. 172800 IN AAAA 2a01:8840:1ba::25
g.dns.jp. 172800 IN A 203.119.40.1
c.dns.jp. 172800 IN A 156.154.100.5
c.dns.jp. 172800 IN AAAA 2001:502:ad09::5
b.dns.jp. 172800 IN A 202.12.30.131
b.dns.jp. 172800 IN AAAA 2001:dc2::1
;; Query time: 132 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: 火 7月 14 08:46:44 JST 2020
;; MSG SIZE rcvd: 498
ルートサーバに問い合わせた結果、wpx.ne.jp は jp. に委任していることが分かりました。jp. のネームサーバは a.dns.jp. です。
a.dns.jp. に ns1.wpx.ne.jp. を問い合わせてみます。
[root@localhost ~]# dig +norec @a.dns.jp. ns1.wpx.ne.jp.
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> +norec @a.dns.jp. ns1.wpx.ne.jp.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5707
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 25
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ns1.wpx.ne.jp. IN A
;; AUTHORITY SECTION:
wpx.ne.jp. 86400 IN NS ns1.wpx.ne.jp.
wpx.ne.jp. 86400 IN NS ns3.wpx.ne.jp.
wpx.ne.jp. 86400 IN NS ns2.wpx.ne.jp.
;; ADDITIONAL SECTION:
ns1.wpx.ne.jp. 86400 IN A 157.112.145.232
ns1.wpx.ne.jp. 86400 IN A 157.112.145.65
ns1.wpx.ne.jp. 86400 IN A 157.112.145.66
ns1.wpx.ne.jp. 86400 IN A 157.112.145.67
ns1.wpx.ne.jp. 86400 IN A 157.112.145.68
ns1.wpx.ne.jp. 86400 IN A 157.112.145.69
ns1.wpx.ne.jp. 86400 IN A 157.112.145.70
ns1.wpx.ne.jp. 86400 IN A 157.112.145.145
ns1.wpx.ne.jp. 86400 IN A 157.112.145.146
ns2.wpx.ne.jp. 86400 IN A 183.90.225.216
ns2.wpx.ne.jp. 86400 IN A 183.90.225.217
ns2.wpx.ne.jp. 86400 IN A 183.90.225.218
ns2.wpx.ne.jp. 86400 IN A 120.136.10.149
ns2.wpx.ne.jp. 86400 IN A 120.136.10.150
ns2.wpx.ne.jp. 86400 IN A 120.136.10.243
ns2.wpx.ne.jp. 86400 IN A 183.90.225.214
ns2.wpx.ne.jp. 86400 IN A 183.90.225.215
ns3.wpx.ne.jp. 86400 IN A 157.112.182.227
ns3.wpx.ne.jp. 86400 IN A 157.112.182.228
ns3.wpx.ne.jp. 86400 IN A 157.112.182.229
ns3.wpx.ne.jp. 86400 IN A 157.112.182.230
ns3.wpx.ne.jp. 86400 IN A 157.112.182.254
ns3.wpx.ne.jp. 86400 IN A 210.188.201.244
ns3.wpx.ne.jp. 86400 IN A 157.112.182.226
;; Query time: 19 msec
;; SERVER: 203.119.1.1#53(203.119.1.1)
;; WHEN: 火 7月 14 08:47:12 JST 2020
;; MSG SIZE rcvd: 476
a.dns.jp. に問い合わせた結果、グルーレコードから ns1.wpx.ne.jp. の IP アドレスが分かりました。ns1.wpx.ne.jp. の名前解決は終了したので、元の名前解決に戻ります。
ns1.wpx.ne.jp. に tech.yamashiro.blog. の問い合わせを行います。
[root@localhost ~]# dig +norec @ns1.wpx.ne.jp. tech.yamashiro.blog.
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> +norec @ns1.wpx.ne.jp. tech.yamashiro.blog.
; (9 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61707
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;tech.yamashiro.blog. IN A
;; ANSWER SECTION:
tech.yamashiro.blog. 3600 IN A 157.112.145.9
;; Query time: 13 msec
;; SERVER: 157.112.145.70#53(157.112.145.70)
;; WHEN: 火 7月 14 08:48:38 JST 2020
;; MSG SIZE rcvd: 53
上記のように名前解決に成功しました。この名前解決の流れはよくあるパターンの1つなので、覚えておくと役に立ちます。