『DNSがよく分かる教科書』を読みましたので、感想を書きます。基礎技術の勉強は投資対効果が高く、自分にとって重要だと考えており、今回はDNSについての勉強をしました。
感想
読んでよかったです。基礎編、実践編、アドバンス編と別れており、基礎編と実践編をメインに読みました。アドバンス編はDNSの運用についての内容が多く、自分の業務範囲との乖離が大きいと感じたため、流し読みをしました。
特に良いと感じたのは下記の点です
- ドメインの名前解決の流れについて理解できた
- digコマンドの使い方を覚えた
- 図解が多く説明が丁寧で、理解しながら読み進められた
「第4章 DNSの構成要素と具体的な動作」の内容が特にわかりやすく、DNSの役割をスタブリゾルバー、フルリゾルバー、権威サーバーに分けてそれぞれの動作について解説されています。WEBの記事だと「DNSサーバー」といったワードが使われることがありますが、フルリゾルバーと権威サーバーどちらを指しているかによって動作が異なるので注意が必要ということも書かれており、納得感がありました。
digコマンドメモ
下記は私が運用している企業検索サービスのドメイン宛にdigコマンドを使用しました。
$ dig company-ranking.net ; <<>> DiG 9.10.6 <<>> company-ranking.net ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22963 # NOERROR(通常応答) ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 # rd(recursion desired, 転送要求), ra(recursion available, 転送可能) ;; OPT PSEUDOSECTION: # 問い合わせセクション ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;company-ranking.net. IN A ;; ANSWER SECTION: # 応答セクション company-ranking.net. 20 IN A 18.139.201.98 # Aリソースレコード company-ranking.net. 20 IN A 54.255.56.197 # Aリソースレコード ;; Query time: 57 msec ;; SERVER: 2404:1a8:7f01:b::3#53(2404:1a8:7f01:b::3) ;; WHEN: Mon Mar 28 17:05:17 JST 2022 ;; MSG SIZE rcvd: 80
下記はCNAMEリソースレコードの応答確認のために、www.ietf.org宛にdigコマンドを使用しました。
$ dig www.ietf.org ; <<>> DiG 9.10.6 <<>> www.ietf.org ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19537 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;www.ietf.org. IN A ;; ANSWER SECTION: www.ietf.org. 1060 IN CNAME www.ietf.org.cdn.cloudflare.net. # CNAMEリソースレコードで正式名称を設定 www.ietf.org.cdn.cloudflare.net. 300 IN A 104.16.45.99 www.ietf.org.cdn.cloudflare.net. 300 IN A 104.16.44.99 ;; Query time: 28 msec ;; SERVER: 2404:1a8:7f01:b::3#53(2404:1a8:7f01:b::3) ;; WHEN: Mon Mar 28 17:26:38 JST 2022 ;; MSG SIZE rcvd: 118