DNSは「インターネットの電話帳」!nslookup対話モードでトラブルの裏側を覗いてみよう
こんにちは!ネットワーク運用(NOC)の現場で、日々パケットの迷子を探し歩いているエンジニアです。
皆さんは、Webサイトにアクセスする際、ブラウザにURLを入力しますよね。でも、ネットワークの世界で実際に通信相手を特定しているのは、人間には覚えにくい「IPアドレス」という数字の列です。
「google.com」と打てば、裏側では瞬時に「142.250.xxx.xxx」のような住所に変換されています。この変換作業をしてくれるのがDNS(Domain Name System)。いわば、「名前から住所を探し出すインターネット専用の電話帳」です。
今日は、このDNSの仕組みを「直接」叩いて確認できるツール nslookup のお話です。コマンドラインが真っ黒な画面で怖い?大丈夫、一緒に一歩ずつ進んでいきましょう!
—
なぜ nslookup が必要なの?
普段、皆さんがWebサイトを見ているとき、ブラウザは裏でこっそりDNSに問い合わせを行っています。でも、もしサイトが表示されないとき、「DNSが正しい住所を教えてくれているのか?」あるいは「古い情報のまま止まっていないか?」を確かめるには、自分の手でDNSに直接聞く必要があります。
そこで使うのが nslookup です。特に「対話モード」を使うと、一度コマンドを起動すれば、何度も続けて色々な情報を調べられるので、トラブルシューティングにはもってこいなんです。
対話モードを起動してみよう
ターミナルやコマンドプロンプトを開いて、以下のコマンドを打ってみてください。
# 対話モードを開始
nslookup
すると、プロンプトが > に変わります。これで、DNSへ質問を投げかける準備は完了です。
—
郵便配達の宛先を調べる:主要レコードタイプ解説
DNSには「住所(IP)」以外にも、用途に応じた「名札」のような情報がたくさん入っています。代表的なものを郵便に例えて見ていきましょう。
1. AレコードとAAAAレコード(住所の正体)
- Aレコード: IPv4アドレス(昔ながらの数字4つ組の住所)
- AAAAレコード: IPv6アドレス(これからの主流、より長い住所)
# google.comの住所を教えて!
> set type=A
> google.com
# 詳しく知りたいならAAAAもチェック
> set type=AAAA
> google.com
2. CNAMEレコード(転送先)
「〇〇ビルにお届け」と書いたけど、実は「△△ビルに転送される」というケースがあります。これがCNAMEです。本名(正規名)を調べるのによく使います。
> set type=CNAME
> www.google.com
3. MXレコード(手紙の送り先・メールサーバー)
「メールを送りたいけど、どのサーバーに届ければいい?」というときに使います。
> set type=MX
> gmail.com
4. TXTレコード(身分証明書)
「このサーバーは本当に私が管理していますよ」という宣言や、セキュリティのための検証情報が書かれています。
> set type=TXT
> google.com
—
現場で役立つ「Tips」:DNSサーバーを指名する
普段、皆さんのPCはプロバイダーや社内のDNSサーバーを自動で使っています。しかし、トラブル時は「あえて別のDNSサーバーに聞いてみる」ことが非常に重要です。
例えば、「GoogleのDNSサーバー(8.8.8.8)なら正しく引けるけど、社内のDNSだと引けない…」となれば、犯人は社内DNSサーバーだと一発で特定できます。
# DNSサーバーを 8.8.8.8 に切り替える
> server 8.8.8.8
# その上で再度検索
> google.com
—
最後に:ネットワークトラブルを怖がらないで
nslookup を使っていると、まるでネットワークの深層心理に直接語りかけているような気分になります。最初は「set type とか面倒くさいな」と思うかもしれませんが、これを知っているだけで、トラブル解決のスピードは劇的に上がります。
もし結果が返ってこなくても、「あ、今はDNSが応答してくれないんだな」「設定したばかりだから、まだ反映されていないのかな」と、パケットの気持ちになって考えることが、プロへの第一歩です。
真っ黒な画面は、怖がる場所ではなく、ネットワークの鼓動を感じられる場所です。ぜひ、今日から自分の手でドメインの正体を暴いてみてくださいね!
それでは、また次回の記事でお会いしましょう!Happy Troubleshooting!
コメント