【入門編】 digコマンドによる詳細なDNSレコード照会とトレース機能 – トラブルシューティング&ネットワーク運用監視実践ガイド

「名前解決がうまくいかない…」そんな夜に。digコマンドでDNSの裏側を覗き見よう

夜中の3時、アラートの音で飛び起きる。監視画面には「Webサイトにアクセスできません」の文字。ブラウザを叩いても、真っ白な画面が虚しく表示されるだけ。「またDNSか?」と溜息をつきつつ、ターミナルを開く。

ネットワークの世界で、DNSは「電話帳」だとよく言われます。でも、現場にいる僕らにとって、DNSはもっと生々しい「郵便局の仕分けシステム」のようなもの。今日は、そんなDNSの迷宮で迷子にならないための最強の武器、digコマンドについてお話しします。

—

DNSは「住所へのリレーマラソン」

私たちがブラウザで example.com と打ち込むとき、裏側では膨大なやり取りが行われています。

1. 「 example.com の住所を教えて!」(あなたのPC)
2. 「うーん、知らないからあそこの大きい郵便局に聞いてみて」(ローカルDNSサーバ)
3. 「じゃあそっちへ…」(次々とリレー)

普段は意識しませんが、このやり取りが途中で止まると、Webサイトは表示されません。そんなとき、DNSがどこで詰まっているのかを突き止めるのが、今回紹介する dig です。

—

+traceオプション:迷路を最初から歩き直す

皆さんが普段使う dig example.com は、いわば「一番近い郵便局に聞く」という行為です。でも、その郵便局自体が間違った情報を覚えていたら?

そんなときこそ、+trace オプションの出番です。これを付けると、世界に13個しかない「ルートDNSサーバ」という、いわば世界の郵便局の頂点から、順番に「道順」を追いかけてくれます。

# ルートサーバから順に、目的地までの道のりを全て追跡する
dig +trace example.com

これを実行すると、膨大なログが出てきます。最初はびっくりするかもしれませんが、見方は簡単です。

  • NS と書かれている行: 「次の宛先はこの郵便局(サーバ)だよ」と教えてくれている場所です。
  • A と書かれている行: 「ここが最終目的地(IPアドレス)だよ!」という答えです。

+trace を使うことで、「世界中の誰が、どこで間違った道を教えたのか」を、一歩ずつ辿りながら特定できるんです。

—

よく使う「魔法の呪文」たち

実務では、+trace 以外にもいくつかのオプションを組み合わせて使います。現場でよく使うものをいくつか紹介しますね。

1. 特定のDNSサーバを直撃する

「ISPのDNSは怪しいな」と思ったら、GoogleのパブリックDNS(8.8.8.8)やCloudflare(1.1.1.1)に直接聞きに行きましょう。

# @マークの後にサーバを指定することで、特定の場所から回答を得られます
dig @8.8.8.8 example.com

2. 「短い」回答だけが欲しいとき

ログが多すぎて見づらいときは、+short オプションを付けます。

# IPアドレスだけをシンプルに抽出します
dig +short example.com
# 結果:93.184.216.34

3. MXレコード(メール配送先)を調べる

メールが届かない!というトラブルの時は、メールの配送先である MX レコードを調べます。

# mail exchange(配送先)の情報を問い合わせる
dig example.com MX

—

トラブルシューティングの極意:まずは「どこで止まっているか」

現場で障害対応をするとき、一番やってはいけないのは「勘」で設定をいじることです。

1. まず dig +trace で、どこの階層までたどり着いているか確認する
2. 特定のDNSサーバ(@8.8.8.8など)なら解決できるのか比較する
3. もし特定のサーバでだけ解決できないなら、そのサーバのキャッシュが汚れている可能性がある

このように、一つずつ「事実」を積み上げていくのが、百戦錬磨のエンジニアへの第一歩です。

—

最後に:恐れることはありません

DNSは複雑そうに見えますが、やっていることは「誰に聞けばいいか」を順番に探しているだけです。dig は、その探偵のような役割を果たしてくれる、私たちエンジニアの親友です。

もし今度、ネットワークが繋がらなくなったら、焦らずに dig +trace を叩いてみてください。画面に流れるパケットの行進が、きっとあなたのヒントになるはずです。

それでは、次回のトラブルシューティングでお会いしましょう。現場からは以上です!

コメント

タイトルとURLをコピーしました