[書評]「DNSがよくわかる教科書」は、すごくイイ!

   このエントリをはてなブックマークに登録    2018/12/12-1

Webエンジニアやネットワークエンジニアなど、インターネットに関わるIT系エンジニアは「DNSがよくわかる教科書」を読むことをお勧めします。 「DNSがよくわかる教科書」は、JPRSの方々が執筆しています(献本ありがとうございました)。

森下さんによると、この本は約1年半前から書き始めているようですが、DNSと日々向き合っているエンジニアの方々(DNSに人生をかけている人も)が時間をかけて書いた本だけあって、「わかりやすい」という方向性でありながら、かなりガチな内容です。

副題に「初心者エンジニア必見!やさしく、詳しい。これがDNS入門の決定版!仕組み・用語・運用をゼロから丁寧に解説」と書いてありますが、まさにその通りの内容です。 たとえば、BINDなどの特定の実装や、どこかの特定の事業者が提供しているサービスに偏った解説になっておらず、DNSそのものの概念や仕組みなどを丁寧に解説しています。

「DNSがよくわかる教科書」は、基礎編、実践編、アドバンス編の3つに分かれています。

最初の基礎編は、名前空間の範囲としての「ドメイン」と、その範囲を識別するための名前としての「ドメイン名」、DNSという仕組み、委任の仕組み、登録管理の仕組みと管理体制、レジストリとレジストラの役割、TLD、ドメイン名登録の流れ、DNSでの名前解決の仕組み、DNSの構成要素と具体的な動作、逆引き、などが解説されています。

実践編では、自分のドメイン名の設計と運用、WebサイトやメールサーバとDNSの運用の関係、ゾーンファイルとリソースレコードの種類、フルリゾルバの設定と運用、DNSの動作確認、DNSサーバに対するサイバー攻撃とその対策、などが解説されています。 コマンドラインツールの紹介では、dig、drill、kdig、(少しだけnslookup)が紹介されていますが、それぞれのコマンドの特徴などを含めて、わかりやすく記述されています。

CDNが運用されている場合のCNAMEの使われ方などが実例を元に紹介されており、大規模なトラフィックを伴うWebサーバを運用する必要がある方々の教科書としても使いやすい内容です。

「DNSがよくわかる教科書」は、DNSのQueryに含まれるRecursion Desired(RD)フラグを0にするdigの+norecurse(+norec)の有り無しを使い分けることを丁寧に解説しています。 たとえば、p.166では、権威サーバとフルリゾルバが兼用されていないことを確認するために、意図的に+norecを付けずにdigコマンドによる問い合わせを行なった例が示されています。 他にも、+norecに関連する解説が各所にあります。 DNSの仕組みを理解するうえでの大きなポイントのひとつとして、著者の方々が+norecの有無を重要視しているのがよくわかります。

アドバンス編では、ホスティング事業者の移行に伴う権威サーバーの移行、いわゆるDNSの引っ越しにおいて考慮すべき項目、本来あるべき引っ越し手順なども解説されています。 その他、良くあるトラブルや設定ミスとしてlame delegation、ファイアウォールやOSによるアクセス制限、$TTLを設定する場合の注意点、逆引き設定なども紹介されています。 また、アドバンス編ではDNSSECの仕組みやDNSにおけるプライバシーの概要と実装状況についても触れられています。

全体を読んだ感想ですが、非常にあっさりとしつつ、入門書的な切り口で語られているものの、扱っているテーマや視点はかゆいところもカバーしている専門書だと思いました。 DNSと日々向き合っているJPRSの方々だからこそ実現できた、本当に素晴らしい教科書だと思うので、できるだけ多くの方々に読んでほしいと心から思える本でした。

ただ、ひとつだけ気になる点があるとすると、少しDNSサーバ運用者に寄っている構成と内容であるという点です。 DNSサーバ運用者ではなく、Web関連の仕事をしていてDNSサーバ利用者としての視点で読みたい方々は、その方々が必要とするであろう情報にたどり着く前に挫折しそうな予感も多少します。 でも、非常に良い本だと思うので、根性で読めば得られるものも多いはずです。 ということで、是非、色々な方々に読んでいただきたいと思います!

   このエントリをはてなブックマークに登録