「名前解決がうまくいかない…!」を即座に解決する、digコマンドの読み解き方
ネットワークエンジニアの現場では、深夜のトラブル対応こそが腕の見せ所です。「Webサイトが見られない」「APIが叩けない」。そんな時、真っ先に疑うのはDNS(ドメインネームシステム)です。
しかし、いざターミナルで dig コマンドを叩いても、ずらりと並ぶ英語の羅列に圧倒されていませんか?「結局どこを見ればいいの?」と焦ってしまう気持ち、痛いほどよくわかります。
今日は、DNSという「インターネットの電話帳」を引くための最強ツール dig を、日常の「郵便配達」に例えながら、その中身を丸裸にしていきましょう。
—
DNSを「郵便配達」でイメージしてみよう
まずは、DNSが何をしているのかを整理しましょう。あなたが google.com とブラウザに入力するのは、住所を知らない相手に手紙(パケット)を送ろうとしているのと同じです。
1. Question: 「google.com の住所を教えて!」と近所の郵便局(DNSサーバー)に問い合わせる。
2. Answer: 郵便局が「それはこの住所(IPアドレス)ですよ」と回答をくれる。
dig コマンドは、このやり取りのプロセスをすべて可視化してくれる「窓口の会話記録」のようなものなのです。
—
実際に叩いてみよう:基本のコマンド
まずは、一番シンプルなコマンドを打ってみましょう。
# google.com の情報を問い合わせる
dig google.com
実行すると、たくさんの情報が出てきますよね。この出力結果を、大きく4つのセクションに分けて解説します。
1. QUESTION SECTION(質問)
ここはシンプルです。自分が「何を知りたくて問い合わせたのか」が記載されています。
;; QUESTION SECTION:
;google.com. IN A
google.com.: 知りたい相手の名前です。IN: インターネット上の情報ですよ、という決まり文句。A: 「住所(IPv4アドレス)を教えて!」というリクエストの種類です。
2. ANSWER SECTION(回答)
ここが一番重要です!郵便局から返ってきた「答え」がここに書かれています。
;; ANSWER SECTION:
google.com. 280 IN A 142.250.206.78
142.250.206.78: これがgoogle.comの住所です。このIPアドレス宛に、あなたのデータは旅立っていきます。280: TTL(Time To Live)といって、「この住所情報はあと280秒間だけ有効ですよ」という期限です。
3. AUTHORITY SECTION(権威)
ここからは少し専門的になります。「誰がこのドメインの管理責任者なのか」を示しています。
;; AUTHORITY SECTION:
google.com. 172800 IN NS ns1.google.com.
NS: ネームサーバーの略。google.comに関してはns1.google.comが一番詳しいですよ、という紹介状のようなものです。
4. ADDITIONAL SECTION(付録)
最後に、親切な郵便局が「ついでに教えといてあげるよ」と添えてくれる情報です。
;; ADDITIONAL SECTION:
ns1.google.com. 172800 IN A 216.239.32.10
- 上のセクションで名前だけ出てきた
ns1.google.comの住所まで、わざわざ教えてくれています。これがあれば、次に問い合わせる時にわざわざ探しに行かなくて済みますよね。
—
トラブル時に「どこを見るか」の鉄則
現場で障害が起きたとき、私はまず ANSWER SECTION が空っぽになっていないかを確認します。
- ANSWERが空っぽ: DNSサーバーが情報を知らないか、通信が途中でブロックされています。
- ANSWERはあるのに繋がらない: DNSの問題ではなく、サーバー側のサービスダウンやファイアウォールの設定ミスを疑います。
もっと深掘りしたい時のテクニック
もし、標準のDNSサーバーではなく、GoogleのDNSサーバー(8.8.8.8)を使って回答を確かめたい場合は、こう打ちます。
# 特定のDNSサーバーを指定して問い合わせる
dig @8.8.8.8 google.com
また、余計な情報を削ぎ落として、答えだけサクッと知りたいときは +short を使いましょう。
# 答えのIPアドレスだけ表示する
dig google.com +short
—
最後に:ネットワークは「対話」である
dig を眺めていると、ネットワークがただの電気信号ではなく、サーバー同士が「あ、それならあっちに聞いてみて」「了解、ありがとう」と丁寧な対話を繰り返していることがわかります。
最初は難しく感じるかもしれませんが、今日紹介した「郵便配達」のイメージを頭に置いておけば、もう怖くありません。エラーが出ても、まずは dig を叩いて「郵便局が何と言っているか」を確認してみてください。
あなたのエンジニアライフが、少しでも快適なものになりますように。また次の現場でお会いしましょう!
コメント