DNSの「迷子」を救え!digコマンドで読み解く、名前解決の舞台裏
ネットワークエンジニアの皆さん、こんにちは。現場で叩き上げられたNOCの現場からお届けします。
ネットワーク障害の現場に駆けつけると、最初に行う切り分け作業の一つが「DNSの確認」です。「名前が引けない」という悲鳴が上がったとき、皆さんはどうやって原因を突き止めていますか?ブラウザの画面を見つめていても、原因は分かりません。そこで登場するのが、ネットワークエンジニアの頼れる相棒 dig コマンドです。
今日は、dig を叩いた時に表示されるあの「呪文のような出力」を、郵便配達の仕組みに例えて紐解いていきましょう。
—
そもそも、DNSって何をしているの?
DNS(Domain Name System)は、いわばインターネットの「電話帳」です。皆さんが google.com と入力すると、裏側では「その名前の住所(IPアドレス)を教えて!」という問い合わせが飛び交っています。
dig を使うと、その問い合わせに対するサーバーからの「返信」を詳細に覗くことができます。この返信メッセージには、大きく分けて4つの「セクション(区画)」があります。
# google.com の情報を引くコマンド
dig google.com
このコマンドを打つと、;; QUESTION SECTION:、;; ANSWER SECTION:……といった見出しが出てきますよね。これらについて、一つずつ見ていきましょう。
—
1. QUESTION SECTION:これが「注文書」です
ここは、「自分が何を知りたいのか」を改めて確認する場所です。
- 例えるなら: 郵便局の窓口で「この宛先(
google.com)の住所を教えてください」と書いたメモを渡すのと同じです。 - 現場の視点: ここが自分の意図したドメイン名と違っていたら、そもそも勝負の土俵に立てていません。まずは「ここに誤字はないか?」を確認する、基本の「き」です。
2. ANSWER SECTION:これが「回答」の核心部です
ここには、問い合わせに対する「ズバリの答え」が書かれています。
- 例えるなら: 郵便局員さんが「その宛先の住所はここですよ!」と教えてくれた、まさにその情報です。
- 現場の視点: ここに期待するIPアドレスが表示されていれば、名前解決は成功です。もしここが空っぽなら、そのサーバーは答えを知らないか、何らかの理由で黙り込んでいます。
3. AUTHORITY SECTION:これが「紹介状」です
ここには、「誰に聞けばいいか」という情報が入っています。
- 例えるなら: 郵便局員さんが「私には分かりませんが、あちらの専門部署(権威DNSサーバー)なら知っているはずですよ」と、別の窓口を紹介してくれるようなものです。
- 現場の視点: 自分が問い合わせたサーバーが「直接の答え」を持っていない場合、このセクションに「このドメインの管理者はこのサーバーだよ(NSレコード)」というヒントが書かれています。
4. ADDITIONAL SECTION:これが「おまけの親切」です
最後に、このセクション。ここには「authorityセクションで紹介したサーバーの住所」などが書かれています。
- 例えるなら: 「紹介先の窓口に行こうにも、場所が分からないと困るでしょ? その窓口までの地図も一緒に渡しておくね!」という、親切な付録です。
- 現場の視点: ここに情報があるおかげで、次の問い合わせ先までスムーズにたどり着けます。
—
トラブルシューティングの勘所:ゾーン情報の不整合を見抜く
現場でよく遭遇するのが、「権威DNSサーバーの不整合」です。例えば、DNSを移行した直後に「一部の環境からは繋がるけど、一部からは繋がらない」という状況。
この時、dig の AUTHORITY セクションと ANSWER セクションをじっくり見てください。
# 特定のDNSサーバーを指定して問い合わせる例
dig @8.8.8.8 example.com
もし、ANSWER セクションに古いIPが表示され、AUTHORITY セクションに本来管理しているはずのサーバー名と食い違いがある場合、それは「委任エラー」や「キャッシュの期限切れ待ち」の可能性が高いです。
現場で役立つコマンドテクニック
初学者の皆さんは、まず -trace オプションを使ってみてください。
# 名前解決の全行程を追いかける
dig +trace example.com
これを実行すると、ルートサーバーから順に、どうやって目的のサーバーまでたどり着いたのか、その足取りが全て表示されます。トラブルの際、「どの段階で答えがズレているのか」を一目瞭然にしてくれる、非常に強力なツールです。
—
まとめ:ネットワークは「対話」である
DNSのトラブルは、一見複雑に見えますが、こうしてセクションごとに役割を分けると、「誰が」「何を」「誰に聞いているのか」というシンプルな対話の積み重ねであることが分かります。
dig の出力結果は、サーバーからの「正直な報告書」です。焦らず、まずは QUESTION で問いを正し、ANSWER で答えを確認し、もしダメなら AUTHORITY で次の一手を探る。この手順を繰り返せば、どんなに厄介なネットワークの迷子も、必ず居場所を突き止められます。
明日からの現場で、ぜひこの「4つのセクション」を意識して dig を叩いてみてください。画面の向こう側のパケットたちが、少し違った景色に見えてくるはずですよ!
それでは、また次回の記事でお会いしましょう。現場からは以上です!
コメント