「DNSはインターネットの住所録」―現場で役立つdigコマンドの使いこなし術
こんにちは。ネットワーク運用現場の最前線で、日々パケットの荒波と格闘しているシニアエンジニアです。
皆さんは「インターネットが繋がらない!」という緊急連絡を受けたとき、まず何を疑いますか? ケーブルの断線? ルーターの故障? 実は、現場で遭遇するトラブルの半分以上は、「DNS(ドメイン・ネーム・システム)」が原因だったりします。
DNSは、言わば「インターネット上の住所録」。WebサイトのURL(ドメイン)を、コンピューターが理解できるIPアドレスに変換してくれる大切な仕組みです。今日は、この住所録が正しく引けているかを確認するための魔法の杖、dig コマンドについて、現場の視点からお話ししましょう。
—
なぜ「住所録」を確認する必要があるのか?
例えば、皆さんが誰かに手紙を送る際、相手の住所が間違っていたらどうなるでしょう? 当然、手紙は届きませんよね。
DNSも同じです。「このドメインはどこのIPアドレスに繋がればいいのか?」という情報が間違っていたり、古かったりすると、アクセス先は迷子になってしまいます。そんな時、エンジニアは「今、世界中のどのDNSサーバーが、どんな答えを返しているのか?」をこの目で確認する必要があります。そこで使うのが dig コマンドです。
—
現場で使う「レコードタイプ」の読み方
dig を使うとき、ただ dig google.com と打つだけでは足りないことがあります。「メールサーバーはどこ?」「このドメインの管理者は誰?」といった詳細情報を引き出すために、「レコードタイプ」を指定してクエリ(問い合わせ)を送るのです。
郵便配達に例えて、主要なレコードを見ていきましょう。
1. Aレコード(IPv4アドレス)と AAAAレコード(IPv6アドレス)
- 役割: 「このドメインの場所(IPアドレス)を教えて!」という基本の問い合わせです。
- イメージ: 「山田さんの家はどこですか?」という質問に対する「〇〇町1-2-3です」という返事です。
# Aレコードを問い合わせる
dig example.com A
# AAAAレコード(IPv6)を問い合わせる
dig example.com AAAA
2. CNAMEレコード(別名)
- 役割: 「このドメインは、実はあっちのドメインと同じだよ」という別名案内です。
- イメージ: 「山田さんは現在、田中という名字で活動しています」という「別名」の通知です。
# CNAMEレコードを確認する
dig www.example.com CNAME
3. MXレコード(メール配送先)
- 役割: 「このドメイン宛のメールはどこに送ればいい?」という配送先情報です。
- イメージ: 「この会社への手紙は、こちらの郵便局(メールサーバー)に届けてね」という配送指示です。
# MXレコードを確認する
dig example.com MX
4. NSレコード(ネームサーバー)
- 役割: 「このドメインを管理している住所録(DNSサーバー)はどれ?」という情報です。
- イメージ: 「この町内の住所録は、あそこの役所(DNSサーバー)で管理してるよ」という案内板です。
# NSレコードを確認する
dig example.com NS
5. TXTレコード(テキスト情報)
- 役割: 自由なテキストを記述できる場所です。最近では「このメールは本物ですよ」という証明(SPFなど)によく使われます。
- イメージ: 住所録の端っこに書かれた「この家は不在が多いので、宅配ボックスへ」といった注意書きのようなものです。
# TXTレコードを確認する
dig example.com TXT
—
困ったときの現場のテクニック
トラブルシューティング中、「自分のPCがどのDNSを参照しているか分からない」という場面がよくあります。そんなときは、明示的にDNSを指定して問い詰めるのが定石です。
# GoogleのDNSサーバー(8.8.8.8)に直接聞いてみる
dig @8.8.8.8 example.com A
ここで重要なのは、「自分の環境のDNS」と「外部のDNS」で結果が違う場合、キャッシュ(古い情報の残り)を疑うことです。DNSの世界では「昨日の情報がまだ残っていて、今日の変更が反映されていない」というケースが日常茶飯事だからです。
—
最後に:恐れずパケットを覗いてみよう
dig コマンドで表示されるずらっと並んだ英語の結果を見て、「難しそう…」と身構える必要はありません。最初は ANSWER SECTION(答えが書いてある場所)だけを見れば十分です。
「今日、自分が打ったコマンドが、世界中のどこかのサーバーに旅をして、どんな返事を持って帰ってきたのか」。
この感覚を大切にしてください。トラブルシューティングとは、パケットという「手紙」の足跡を追いかける旅です。焦らず、一歩ずつ確認していけば、必ず原因は見えてきます。
皆さんのネットワーク運用ライフが、少しでも快適なものになりますように!
コメント