ネットワークの「住所録」を覗き見よう! nslookup でDNSの迷宮を解き明かす
こんにちは!データセンターの最前線で、深夜の障害アラートと格闘し続けてきたシニアエンジニアです。
皆さんはインターネットを使っていて、「なぜウェブサイトの名前を入れるだけで、サーバーに辿り着けるんだろう?」と不思議に思ったことはありませんか?実は、インターネットの世界には、電話帳のような「DNS(Domain Name System)」という仕組みが隠れているんです。
今日は、そのDNSという「住所録」を直接叩いて、ネットワークの裏側を覗き見るための魔法のコマンド、nslookup についてお話しします。難しく考えず、まずは身近な例から紐解いていきましょう。
—
DNSは「インターネットの郵便局」
皆さんが普段ブラウザに打ち込む google.com のようなドメイン名は、私たち人間には覚えやすいですが、コンピュータにとってはただの文字列です。コンピュータ同士が通信するためには、142.250.196.110 のような「IPアドレス」という、いわば「番地」が必要になります。
この「名前」から「番地」を調べる作業、これがDNSの役割です。例えるなら、「この人の名前から住所を調べて!」と郵便局(DNSサーバー)に問い合わせるようなものですね。
その問い合わせをコマンドラインから直接実行できるのが nslookup です。
—
基本のキ:一発問い合わせで住所を確認する
まずは、一番シンプルな使い方から。ターミナル(またはコマンドプロンプト)を開いて、以下のコマンドを打ってみてください。
# google.com のIPアドレス(番地)を教えて!という命令
nslookup google.com
実行すると、こんな風に返ってきます。
Server: 8.8.8.8 # 問い合わせ先の郵便局(DNSサーバー)
Address: 8.8.8.8#53 # その場所
Non-authoritative answer: # 権威サーバーではない(キャッシュからの回答)
Name: google.com
Address: 142.250.196.110 # ここが目的地!
これだけで、「名前」と「住所」が一致しましたね。これがDNSの基本動作です。
—
専門家が愛用する「対話モード」の魅力
さて、ここからが少しエンジニアっぽい話です。単発の問い合わせも便利ですが、何度も連続して調べたいときや、もっと細かい調査をしたいときは「対話モード」を使うのが賢いやり方です。
nslookup とだけ入力してエンターキーを押してみてください。プロンプトが > に変わるはずです。
$ nslookup
> # ここからは対話モードです
この状態で、以下のように指示を出すことができます。
1. 問い合わせ先サーバーを切り替える
「普段使っている郵便局ではなく、あそこの郵便局に聞いてみたい」というときは、server コマンドを使います。
# 問い合わせ先を Google のパブリックDNSに変更
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
2. レコードの種類を指定する
住所といっても、ただの住所だけではありません。「メールを届ける場所(MXレコード)」や「管理者の情報(SOAレコード)」など、用途によって書式が変わります。これらを指定するのが set type です。
# メールサーバーの情報を調べたい場合
> set type=mx
> google.com
こうすることで、ウェブサイトの住所ではなく、メール配送のルールを教えてくれるようになります。現場のトラブルシューティングでは、「メールが届かない!」という時にこの mx レコードをチェックするのが定石です。
—
現場で役立つ「トラブルシューティング」のコツ
初心者の皆さんが最初につまずきやすいのは、「自分のPCがどの郵便局(DNSサーバー)を使っているのか分からない」という状況です。
そんな時は、まず nslookup を起動して、出てくる Server: の値を確認してください。もし、そこが社内のネットワーク設定や、プロバイダから自動で割り当てられたサーバーで、何だか調子が悪いと感じたら、一時的に server 8.8.8.8 (GoogleのDNS)に切り替えてみてください。
もし、8.8.8.8 に変えた途端に繋がるようになったら……そう、犯人は普段使っているDNSサーバー(郵便局)の不調だと特定できます。これが、百戦錬磨のエンジニアが最初に行う「切り分け」の第一歩です。
—
最後に:ネットワークは「体験」がすべて
ネットワークは、教科書を読むだけではなかなか実感が湧かないものです。でも、こうしてコマンドを叩いて、画面に文字が流れてくるのを見ていると、少しずつ「パケットがどこを通り、誰が返事をしているのか」が見えてくるようになります。
nslookup は、皆さんのPCとインターネットを繋ぐ最初の一歩です。ぜひ、今日から色々なドメインを調べてみてください。「あ、このサービスはこんなにたくさん住所を持っているんだ!」といった驚きが、皆さんのエンジニアとしての血肉になっていくはずです。
何か分からないことがあれば、いつでもまた聞きに来てくださいね。それでは、素敵なネットワークライフを!
コメント