この記事はEDOCODE Advent Calendar 2024、12月19日の記事です。 1つ前の記事は、エンジニアのYupingさんによるGojiberryローカライゼーションの話でした。 また、グループ親会社であるWanoのAdvent Calendarもありますので、そちらもどうぞ!
はじめに
EDOCODEでエンジニアをしているYutakaです。今年は業務でインフラ周りを触る機会があり、DNSについて改めて学習しました。弊社のWebサイトwww.edocode.co.jp
のIPアドレス取得(名前解決)までに行われる流れと用語を自分なりに説明してみます。また実際の問い合わせにはdigを使います。
名前解決の全体像
登場した要素
四角と三角の用語をそれぞれを見ていきます。
スタブリゾルバー
stub(スタブ)は「末端」という意味があり、利用者端末で動きます。名前解決をする端末で動きフルリゾルバーに問い合わせを送ります。フルリゾルバーのIPはMacやLinuxには/etc/resolve.conf
に記載があります。
フルリゾルバー
スタブリゾルバーからの問い合わせを受け、権威サーバー群に対して名前解決を依頼します。その結果をスタブリゾルバーに返します。また、一定期間、結果をキャッシュします。
権威サーバー群
権威サーバーはネームサーバーとも言います。ここでは権威サーバーと統一して説明します。DNSではドメイン名をベースに管理範囲を階層化して委任することで分散管理をしています。委任によって管理をしている範囲をゾーン("権威サーバー群"図の点線で囲ったところ)と呼びゾーン管理者は権威サーバーで情報を管理します。権威サーバーが管理するのは下記の情報です。
- そのゾーンのホストのドメイン名とIPアドレス
- 委任先の権威サーバーの情報(ドメイン名とIPアドレス)
権威サーバーを纏めたものを権威サーバー群としてここでは説明します。google.com
、edocode.co.jp
, gojiberry.jp
を例に権威サーバー群の構造を示したのが下記の図です。
問い合わせの種類
再帰的問い合わせ と 非再帰的問い合わせ
スタブリゾルバーが名前解決を依頼する再帰的問い合わせ("名前解決の全体像"図の青線)と、フルリゾルバーが名前解決をする非再帰的問い合わせ("名前解決の全体像"図の緑線)があります。digでは +norecurse
または+norec
をつけることで非再帰的問い合わせを行うことができます(デフォルトは再帰的問い合わせ)。
名前解決
ここからはスタブリゾルバー、フルスタブリゾルバーになってdigでwww.edocode.co.jp
の名前解決をしてみます。
スタブリゾルバーになって名前解決をする
Cloudflareが提供する1.1.1.1をフルリゾルバーに指定してwww.edocode.co.jp
のレコードタイプにA(IPv4)を指定して問い合わせるコマンドはdig @1.1.1.1 www.edocode.co.jp A
になります。
DNSで問い合わせる際に指定するタイプをレコードタイプと言います。ここでは代表的なものと今回、名前解決で使うものを載せています。
タイプ | 説明 | 用途 |
---|---|---|
A | IPv4 IPアドレスレコード | IPv4 IPアドレスを返す |
AAAA | IPv6 IPアドレス | IPv6 IPアドレスを返す |
NS | ネームサーバーレコード | DNSゾーン自身や下位ドメインの権威DNSサーバを返す |
CNAME | 別名レコード | 他の名称へのエイリアス(別名)を返す |
TXT | テキストレコード | ドメインを所有しているかの確認などで使われる 例: Let's encryptのDNSを使った認証, Blueskyのhandle名に自ドメインを使う |
先ほどのdigコマンドの結果は下記になります。
dig @1.1.1.1 www.edocode.co.jp A
; <<>> DiG 9.10.6 <<>> @1.1.1.1 www.edocode.co.jp A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29383
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.edocode.co.jp. IN A
;; ANSWER SECTION:
www.edocode.co.jp. 3600 IN CNAME edocode-corporate.pages.dev.
edocode-corporate.pages.dev. 300 IN A 172.66.44.80
edocode-corporate.pages.dev. 300 IN A 172.66.47.176
;; Query time: 138 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Wed Dec 11 21:46:16 JST 2024
;; MSG SIZE rcvd: 119
QUESTION SECTIONとANSWER SECTIONを詳しく見ていきます。
QUESTION SECTION
;; QUESTION SECTION:
;www.edocode.co.jp. IN A
問い合わせた内容が{ドメイン} {クラス} {レコードタイプ}
の順になっています。クラスにはIN(Internet),以外にもCS(CSNET),CH(Chaosnet) などがあります。指定がない場合、digはINクラスで問い合わせを行います。
ANSWER SECTION
;; ANSWER SECTION:
www.edocode.co.jp. 3600 IN CNAME edocode-corporate.pages.dev.
edocode-corporate.pages.dev. 300 IN A 172.66.44.80
edocode-corporate.pages.dev. 300 IN A 172.66.47.176
回答が一行ごとに{ドメイン名} {TTL} {クラス} {レコードタイプ} {値}
のフォーマットになっています(後述のAUTHORITY SECTION, ADDITIONAL SECTIONも同様のフォーマット)。
- 1行目
www.edocode.co.jp. 3600 IN CNAME edocode-corporate.pages.dev.
からwww.edocode.co.jp.
はedocode-corporate.pages.dev.
の別名(エイリアス) - 2行目
edocode-corporate.pages.dev. 300 IN A 172.66.44.80
からedocode-corporate.pages.dev.
のIPv4アドレスは172.66.44.80
- 3行目
edocode-corporate.pages.dev. 300 IN A 172.66.47.176
からedocode-corporate.pages.dev.
のIPv4アドレスは172.66.47.176
ということがわかりました。このことからwww.edocode.co.jp.
はedocode-corporate.pages.dev.
の別名でIPアドレスは172.66.44.80
と172.66.47.176
ということがわかりました。
TTLはTime to liveの略でフルリゾルバーが問い合わせ内容をキャッシュする時間(単位は秒)です。
フルリゾルバーになって名前解決をする
次にフルリゾルバーになって同じwww.edocode.co.jp
の名前解決をしてみます。前で紹介した権威サーバー群の一番頂点にあるルート(.)へ問い合わせを行います。ルートはICANNが管理をしておりIPアドレスはこちらから取得できます。今回はVerisign, Inc.の198.41.0.4
を利用してみます。
.(ルート)
権威サーバーにwww.edocode.co.jp
を問い合わせ
コマンドはdig +norec @198.41.0.4 www.edocode.co.jp A
になります。フルリゾルバーは非再帰的問い合わせのため+norec
(non-recursive)を指定します。結果は下記のようになりました(これ以降AUTHORITY SECTION, ADDITIONAL SECTIONの中を一部省略しています)。
dig +norec @198.41.0.4 www.edocode.co.jp A
; <<>> DiG 9.10.6 <<>> +norec @198.41.0.4 www.edocode.co.jp A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9272
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 8, ADDITIONAL: 16
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.edocode.co.jp. IN A
;; AUTHORITY SECTION:
jp. 172800 IN NS e.dns.jp.
--- 途中省略 ---
jp. 172800 IN NS b.dns.jp.
;; ADDITIONAL SECTION:
e.dns.jp. 172800 IN A 192.50.43.53
e.dns.jp. 172800 IN AAAA 2001:200:c000::35
--- 途中省略 ---
b.dns.jp. 172800 IN A 202.12.30.131
b.dns.jp. 172800 IN AAAA 2001:dc2::1
;; Query time: 46 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Wed Dec 18 14:18:28 JST 2024
;; MSG SIZE rcvd: 502
QUESTION SECTIONの内容は先ほどの「スタブリゾルバーになって名前解決をする」と同じになりました。今回はANSWER SECTIONがありませんでした。前回はなかったAUTHORITY SECTION, ADDITIONAL SECTIONを詳しく見ていきます。
AUTHORITY SECTION
;; AUTHORITY SECTION:
jp. 172800 IN NS e.dns.jp.
--- 途中省略 ---
jp. 172800 IN NS b.dns.jp.
権威サーバーが答えを知らない場合、尋ねられた権威サーバー(root
)は委任情報(jp
)をこのセクションに含めます。フォーマットはANSWER SECTIONと同様で{ドメイン名} {TTL} {クラス} {レコードタイプ} {値}
です。そのためjp. 172800 IN NS e.dns.jp.
からjp.
の権威サーバー(NS)はe.dns.jp.
ということがわかります。他にもb.dns.jp.
や省略されているものもありますが今回はe.dns.jp.
を使っていきます。
ADDITIONAL SECTION
;; ADDITIONAL SECTION:
e.dns.jp. 172800 IN A 192.50.43.53
e.dns.jp. 172800 IN AAAA 2001:200:c000::35
--- 途中省略 ---
b.dns.jp. 172800 IN A 202.12.30.131
b.dns.jp. 172800 IN AAAA 2001:dc2::1
AUTHORITY SECTIONでは委任情報のドメイン名(e.dns.jp.
)が含まれました。それらのドメイン名に対応するIPアドレスがこのセクションに含まれます。フォーマットはANSWER, AUTHORITY SECTIONと同様のため、e.dns.jp. 172800 IN A 192.50.43.53
はe.dns.jp.
のIPv4は192.50.43.53
ということがわかります。
jp.
権威サーバーにwww.edocode.co.jp
を問い合わせ
一つ前で取得したjp.の権威サーバーを使って問い合わせを行います。コマンドはdig +norec @192.50.43.53 www.edocode.co.jp A
になります(@以降のIPアドレスだけが変わっています)。結果はこちらになります。
dig +norec @192.50.43.53 www.edocode.co.jp A
; <<>> DiG 9.10.6 <<>> +norec @192.50.43.53 www.edocode.co.jp A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7130
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.edocode.co.jp. IN A
;; AUTHORITY SECTION:
edocode.co.jp. 86400 IN NS dns01.muumuu-domain.com.
edocode.co.jp. 86400 IN NS dns02.muumuu-domain.com.
;; Query time: 51 msec
;; SERVER: 192.50.43.53#53(192.50.43.53)
;; WHEN: Wed Dec 18 15:00:21 JST 2024
;; MSG SIZE rcvd: 103
今回はAUTHORITY SECTIONがありますが、ADDITIONAL SECTIONがありません。そのため、AUTHORITY SECTIONに記載のあるdns01.muumuu-domain.com.
又はdns02.muumuu-domain.com.
に問い合わせをする必要があります。ルート権威サーバーに問い合わせた際、権威サーバーのIPアドレスがADDITIONAL SECTIONにありました。今回は詳細の説明は省きますが、これらをグルーレコードと言います。権威サーバーはdns01.muumuu-domain.com.
ということがわかりましたが、IPアドレス(Aレコード)がわからないので問い合わせをします。
.(ルート)
権威サーバーにdns01.muumuu-domain.com
を問い合わせ
dig +norec @198.41.0.4 dns01.muumuu-domain.com A
; <<>> DiG 9.10.6 <<>> +norec @198.41.0.4 dns01.muumuu-domain.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41575
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 27
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;dns01.muumuu-domain.com. IN A
;; AUTHORITY SECTION:
com. 172800 IN NS l.gtld-servers.net.
--- 途中省略 ---
com. 172800 IN NS e.gtld-servers.net.
;; ADDITIONAL SECTION:
l.gtld-servers.net. 172800 IN A 192.41.162.30
l.gtld-servers.net. 172800 IN AAAA 2001:500:d937::30
--- 途中省略 ---
e.gtld-servers.net. 172800 IN A 192.12.94.30
e.gtld-servers.net. 172800 IN AAAA 2001:502:1ca1::30
;; Query time: 46 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Wed Dec 18 15:17:24 JST 2024
;; MSG SIZE rcvd: 848
この結果から、com.
権威サーバーのIPアドレスが192.41.162.30
(l.gtld-servers.net.
)だとわかりました。これを使って引き続き問い合わせを行います。
com.
権威サーバーにdns01.muumuu-domain.com
を問い合わせ
dig +norec @192.41.162.30 dns01.muumuu-domain.com A
; <<>> DiG 9.10.6 <<>> +norec @192.41.162.30 dns01.muumuu-domain.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35673
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;dns01.muumuu-domain.com. IN A
;; AUTHORITY SECTION:
muumuu-domain.com. 172800 IN NS dns01.muumuu-domain.com.
muumuu-domain.com. 172800 IN NS dns02.muumuu-domain.com.
;; ADDITIONAL SECTION:
dns01.muumuu-domain.com. 172800 IN A 202.239.23.45
dns02.muumuu-domain.com. 172800 IN A 160.251.249.62
;; Query time: 55 msec
;; SERVER: 192.41.162.30#53(192.41.162.30)
;; WHEN: Wed Dec 18 15:22:35 JST 2024
;; MSG SIZE rcvd: 118
これからdns01.muumuu-domain.com.
のIPアドレスは202.239.23.45
とわかりました。引き続きwww.edocode.co.jp
のIPを問い合わせしてみます。
dns01.muumuu-domain.com.
権威サーバーにwww.edocode.co.jp
を問い合わせ
dig +norec @202.239.23.45 www.edocode.co.jp A
; <<>> DiG 9.10.6 <<>> +norec @202.239.23.45 www.edocode.co.jp A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8153
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.edocode.co.jp. IN A
;; ANSWER SECTION:
www.edocode.co.jp. 3600 IN CNAME edocode-corporate.pages.dev.
;; Query time: 88 msec
;; SERVER: 202.239.23.45#53(202.239.23.45)
;; WHEN: Wed Dec 18 15:25:32 JST 2024
;; MSG SIZE rcvd: 87
こちらから、www.edocode.co.jp.
はedocode-corporate.pages.dev.
のエイリアス(CNAME)だということがわかりました。実体であるedocode-corporate.pages.dev.
を問い合わせていきます。
.(ルート)
権威サーバーにedocode-corporate.pages.dev
を問い合わせ
dig +norec @198.41.0.4 edocode-corporate.pages.dev A
; <<>> DiG 9.10.6 <<>> +norec @198.41.0.4 edocode-corporate.pages.dev A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26963
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 5, ADDITIONAL: 11
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;edocode-corporate.pages.dev. IN A
;; AUTHORITY SECTION:
dev. 172800 IN NS ns-tld1.charlestonroadregistry.com.
--- 途中省略 ---
dev. 172800 IN NS ns-tld4.charlestonroadregistry.com.
;; ADDITIONAL SECTION:
ns-tld1.charlestonroadregistry.com. 172800 IN A 216.239.32.105
ns-tld1.charlestonroadregistry.com. 172800 IN AAAA 2001:4860:4802:32::69
--- 途中省略 ---
ns-tld4.charlestonroadregistry.com. 172800 IN A 216.239.38.105
ns-tld4.charlestonroadregistry.com. 172800 IN AAAA 2001:4860:4802:38::69
;; Query time: 118 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Wed Dec 18 15:27:55 JST 2024
;; MSG SIZE rcvd: 412
この結果から、dev.
権威サーバーのIPアドレスが216.239.32.105
(ns-tld1.charlestonroadregistry.com.
)だとわかりました。これを使って引き続き問い合わせを行います。
dev.
権威サーバーにedocode-corporate.pages.dev
を問い合わせ
dig +norec @216.239.32.105 edocode-corporate.pages.dev A
; <<>> DiG 9.10.6 <<>> +norec @216.239.32.105 edocode-corporate.pages.dev A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45941
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;edocode-corporate.pages.dev. IN A
;; AUTHORITY SECTION:
pages.dev. 10800 IN NS karl.ns.cloudflare.com.
pages.dev. 10800 IN NS adi.ns.cloudflare.com.
;; Query time: 43 msec
;; SERVER: 216.239.32.105#53(216.239.32.105)
;; WHEN: Wed Dec 18 15:30:03 JST 2024
;; MSG SIZE rcvd: 110
再び、ADDITIONAL SECTIONがないため権威サーバーkarl.ns.cloudflare.com.
のIPアドレスをルート権威サーバーに問い合わせをします。
.(ルート)
権威サーバーにkarl.ns.cloudflare.com
を問い合わせ
dig +norec @198.41.0.4 karl.ns.cloudflare.com A
; <<>> DiG 9.10.6 <<>> +norec @198.41.0.4 karl.ns.cloudflare.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37415
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 27
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;karl.ns.cloudflare.com. IN A
;; AUTHORITY SECTION:
com. 172800 IN NS l.gtld-servers.net.
--- 途中省略 ---
com. 172800 IN NS e.gtld-servers.net.
;; ADDITIONAL SECTION:
l.gtld-servers.net. 172800 IN A 192.41.162.30
l.gtld-servers.net. 172800 IN AAAA 2001:500:d937::30
--- 途中省略 ---
e.gtld-servers.net. 172800 IN A 192.12.94.30
e.gtld-servers.net. 172800 IN AAAA 2001:502:1ca1::30
;; Query time: 107 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Wed Dec 18 15:32:37 JST 2024
;; MSG SIZE rcvd: 847
この結果から、com.
権威サーバーのIPアドレスが192.41.162.30
(l.gtld-servers.net.
)だとわかりました。これを使って引き続き問い合わせを行います。
com.
権威サーバーにkarl.ns.cloudflare.com
を問い合わせ
dig +norec @192.41.162.30 karl.ns.cloudflare.com A
; <<>> DiG 9.10.6 <<>> +norec @192.41.162.30 karl.ns.cloudflare.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14258
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 5, ADDITIONAL: 21
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;karl.ns.cloudflare.com. IN A
;; AUTHORITY SECTION:
cloudflare.com. 172800 IN NS ns3.cloudflare.com.
--- 途中省略 ---
cloudflare.com. 172800 IN NS ns7.cloudflare.com.
;; ADDITIONAL SECTION:
ns3.cloudflare.com. 172800 IN A 162.159.0.33
ns3.cloudflare.com. 172800 IN A 162.159.7.226
ns3.cloudflare.com. 172800 IN AAAA 2400:cb00:2049:1::a29f:21
ns3.cloudflare.com. 172800 IN AAAA 2400:cb00:2049:1::a29f:7e2
--- 途中省略 ---
ns7.cloudflare.com. 172800 IN A 162.159.4.8
ns7.cloudflare.com. 172800 IN A 162.159.6.6
ns7.cloudflare.com. 172800 IN AAAA 2400:cb00:2049:1::a29f:408
ns7.cloudflare.com. 172800 IN AAAA 2400:cb00:2049:1::a29f:606
;; Query time: 67 msec
;; SERVER: 192.41.162.30#53(192.41.162.30)
;; WHEN: Wed Dec 18 15:34:30 JST 2024
;; MSG SIZE rcvd: 581
この結果から、cloudflare.com.
権威サーバーのIPアドレスが162.159.0.33
(ns3.cloudflare.com.
)だとわかりました。これを使って引き続き問い合わせを行います。
cloudflare.com.
権威サーバーにkarl.ns.cloudflare.com
を問い合わせ
dig +norec @162.159.0.33 karl.ns.cloudflare.com A
; <<>> DiG 9.10.6 <<>> +norec @162.159.0.33 karl.ns.cloudflare.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33459
;; flags: qr aa; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;karl.ns.cloudflare.com. IN A
;; ANSWER SECTION:
karl.ns.cloudflare.com. 86353 IN A 172.64.33.190
karl.ns.cloudflare.com. 86353 IN A 173.245.59.190
karl.ns.cloudflare.com. 86353 IN A 108.162.193.190
;; Query time: 48 msec
;; SERVER: 162.159.0.33#53(162.159.0.33)
;; WHEN: Wed Dec 18 15:36:45 JST 2024
;; MSG SIZE rcvd: 99
karl.ns.cloudflare.com
のIPアドレスが172.64.33.190
だとわかりました。これを使ってedocode-corporate.pages.dev
を問い合わせしていきます。
karl.ns.cloudflare.com
権威サーバーにedocode-corporate.pages.dev
を問い合わせ
dig +norec @172.64.33.190 edocode-corporate.pages.dev A
; <<>> DiG 9.10.6 <<>> +norec @172.64.33.190 edocode-corporate.pages.dev A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55065
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;edocode-corporate.pages.dev. IN A
;; AUTHORITY SECTION:
edocode-corporate.pages.dev. 300 IN NS donna.ns.cloudflare.com.
edocode-corporate.pages.dev. 300 IN NS yahir.ns.cloudflare.com.
;; Query time: 59 msec
;; SERVER: 172.64.33.190#53(172.64.33.190)
;; WHEN: Wed Dec 18 15:39:14 JST 2024
;; MSG SIZE rcvd: 113
再び権威サーバーのIPアドレスがADDITIONAL SECTIONにないため、donna.ns.cloudflare.com.
のIPアドレスを問い合わせします。以前、cloudflare.com.
権威サーバーのIPアドレスを取得しているのでキャッシュが残っている想定で問い合わせをします。
cloudflare.com.
権威サーバーにdonna.ns.cloudflare.com.
を問い合わせ
dig +norec @162.159.0.33 donna.ns.cloudflare.com A
; <<>> DiG 9.10.6 <<>> +norec @162.159.0.33 donna.ns.cloudflare.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53553
;; flags: qr aa; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;donna.ns.cloudflare.com. IN A
;; ANSWER SECTION:
donna.ns.cloudflare.com. 86353 IN A 173.245.58.151
donna.ns.cloudflare.com. 86353 IN A 172.64.32.151
donna.ns.cloudflare.com. 86353 IN A 108.162.192.151
;; Query time: 49 msec
;; SERVER: 162.159.0.33#53(162.159.0.33)
;; WHEN: Wed Dec 18 15:46:14 JST 2024
;; MSG SIZE rcvd: 100
donna.ns.cloudflare.com.
権威サーバーのIPは173.245.58.151
なので、edocode-corporate.pages.dev
を問い合わせします。
donna.ns.cloudflare.com.
権威サーバーにedocode-corporate.pages.dev
を問い合わせ
dig +norec @173.245.58.151 edocode-corporate.pages.dev A
; <<>> DiG 9.10.6 <<>> +norec @173.245.58.151 edocode-corporate.pages.dev A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6896
;; flags: qr aa; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;edocode-corporate.pages.dev. IN A
;; ANSWER SECTION:
edocode-corporate.pages.dev. 300 IN A 172.66.44.80
edocode-corporate.pages.dev. 300 IN A 172.66.47.176
;; Query time: 53 msec
;; SERVER: 173.245.58.151#53(173.245.58.151)
;; WHEN: Wed Dec 18 15:48:32 JST 2024
;; MSG SIZE rcvd: 88
やっとwww.edocode.co.jp
の実体edocode-corporate.pages.dev
のIPアドレス172.66.44.80
,172.66.47.176
がわかりました。
最後に
実際に非再帰的問い合わせを行うことで、DNSの問い合わせの流れイメージが湧きました。また社内の福利厚生で利用したCodeCraftersの中でDNSサーバーを実装したことでプロトコルに対しての理解が深まりました。
今後もインプットだけでなくこのようにアウトプットを続けていきたいと考えています。
明日、12月20日(金)は、エンジニアのAnne-LiseさんによるExploring the consistency of characters generated with AI-image generator toolsです。
私たちWanoグループでは人材募集をしています。興味のある方は、下記のリンクからぜひ募集中の求人をご確認ください!