8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

digを使って名前解決をしてみる

Last updated at Posted at 2024-12-19

この記事は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ではドメイン名をベースに管理範囲を階層化して委任することで分散管理をしています。委任によって管理をしている範囲をゾーン("権威サーバー群"図の点線で囲ったところ)と呼びゾーン管理者は権威サーバーで情報を管理します。権威サーバーが管理するのは下記の情報です。

  1. そのゾーンのホストのドメイン名とIPアドレス
  2. 委任先の権威サーバーの情報(ドメイン名とIPアドレス)

権威サーバーを纏めたものを権威サーバー群としてここでは説明します。google.comedocode.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.80172.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.53e.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グループでは人材募集をしています。興味のある方は、下記のリンクからぜひ募集中の求人をご確認ください!

JOBS | Wano Group

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?