【入門編】 nslookupコマンドの対話モードと非対話モードによるDNSレコード照会 – トラブルシューティング&ネットワーク運用監視実践ガイド

DNSの「迷子」を救え!nslookupで解き明かす名前解決の現場

ネットワークエンジニアの仕事をしていると、必ずぶち当たる壁があります。それが「名前解決できない問題」です。「サーバーに繋がらない!」と焦って駆けつけると、実はただのDNSの設定ミスだった、なんてことは日常茶飯事。

今日は、そんなDNSトラブルの心強い相棒、nslookupコマンドについてお話しします。教科書的な説明は一旦置いておいて、現場でどう使うか、どう考えるか、その「リアル」を紐解いていきましょう。

—

DNSって結局なに?「郵便配達」でイメージしよう

DNSを難しく考える必要はありません。「住所(IPアドレス)を忘れたから、電話帳(DNSサーバー)で調べている」だけです。

例えば、あなたが google.com にアクセスしようとすると、PCは「google.comの住所を教えて!」とDNSサーバーに手紙(パケット)を出します。DNSサーバーは「それは 142.250.xxx.xxx ですよ」と返事をくれます。このやり取りが上手くいかないと、PCは宛先が分からず、ネットワークの海で迷子になってしまうわけですね。

そんな時、トラブルの犯人がDNSにあるのか、それとも別の場所にあるのかを突き止めるためのツールが nslookup です。

—

1. まずは「非対話モード」でサクッと確認

一番よく使うのが、コマンドを一行打ってすぐに答えをもらう「非対話モード」です。

# 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.206.142  # これが探し求めていたIPアドレス!

もしここで「Server: 127.0.0.1」と出ていて、かつ名前解決が失敗しているなら、PC自体が迷子になっている可能性が高いです。現場では、まず「どこのサーバーに聞きに行っているか」を確認するのが、トラブル解決の第一歩です。

—

2. もっと詳しく知りたいなら「対話モード」へ

時々、nslookup を起動したまま、連続して色々なレコードを調べたくなることがあります。そんな時は「対話モード」です。コマンドプロンプトやターミナルで単に nslookup と打ってみてください。

nslookup
# これで対話モードに入りました。プロンプトが > に変わります。

ここで server コマンドを使うと、聞きに行く相手(DNSサーバー)を切り替えられます。これは「A社の電話帳で見つからないから、B社の電話帳で引いてみよう」という時にめちゃくちゃ便利です。

# 聞きに行く相手をGoogleのDNSサーバーに変更
> server 8.8.8.8

# 詳しく知りたいレコードタイプを指定(今回はメールサーバーを調べるMXレコード)
> set type=mx

# いざ検索
> google.com

このように、set type=... を使うことで、WebサーバーのIP以外にも、メールサーバーの情報や、ドメインの管理者情報などを深掘りできます。現場で「メールが届かない!」という連絡が来たら、真っ先に set type=mx で確認するのが僕らの定石です。

—

3. 初学者がつまずきやすい「詰まりポイント」

初心者の頃、僕もよくハマったのが「キャッシュ」の罠です。

DNSのデータは、ネットワーク上のあちこちの「中継地点(ルーターやキャッシュサーバー)」に一時保存されています。そのため、設定を変えた直後に nslookup をしても、古い情報が返ってきてしまい、「あれ?反映されてない?」とパニックになることがあります。

そんな時は、nslookup であえて特定のDNSサーバーを指名して問い合わせてみてください。

# 自分のPCのデフォルト設定ではなく、あえてGoogleのDNSに直接聞く
nslookup google.com 8.8.8.8

これで正しい情報が返ってくるなら、原因は「自分のPCや社内のDNSサーバーが、古い情報を握りしめているから」だと特定できます。

—

最後に:ツールは「魔法の杖」ではなく「聴診器」

nslookup は、ネットワークの健康状態を調べるための「聴診器」です。コマンドを打ってエラーが出たとき、すぐに「DNSサーバーが壊れている!」と決めつけないでください。

  • ネットワークケーブルは抜けていないか?
  • 他のPCなら名前解決できるか?
  • そもそも特定のドメインだけ繋がらないのか?

一つずつ、郵便配達のルートを追うように原因を切り分けていけば、必ず答えに辿り着けます。ネットワークのトラブルシューティングは、パズルを解くようなもの。焦らず、一歩ずつ進んでいきましょう!

もし現場で困ったことがあれば、またいつでも聞いてくださいね。一緒に解決策を探していきましょう!

コメント

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