【nslookup】DNSの確認コマンド【Linuxコマンド入門 Part3-11】

Linuxを使っていると、ping 8.8.8.8 は通るのに、ping google.com は通らない……という不思議な現象に出くわすことがあります。 これは、「インターネット回線」は生きているけれど、「ドメイン名とIPアドレスを変換する機能(DNS)」が上手く動いていない状態です。

そんな時、DNSの状態をピンポイントで調査できるのが、今回紹介する nslookup コマンドです。

前回記事 ipping

前回は、ネットワークトラブルシューティングの基本、ipping について解説しました。。

ネットの接続確認、ipとpingコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【ip / ping】ネットワークの基本「ip」と「ping」でトラブルを切り分けよう【Linuxコマンド入門 Part3-10】

【Linux入門】ネットワークトラブルの原因はどこ?ipコマンドでIPアドレスと通信エラーを確認し、pingで疎通確認を行う手順を分かりやすく解説。ifconfigから推奨のipコマンドへの移行や、DNSエラーの判断方法も網羅。サーバー管理の基礎をマスターしよう。

nslookup コマンド

nslookup は “Name Server Lookup” の略です。 一言で言うと、「DNSサーバー(インターネットの電話帳)に、ドメインのIPアドレスを問い合わせるコマンド」 です。

ブラウザが裏で行っている「名前解決」という作業を、手動で行うことができます。

基本構文

使い方は非常にシンプルです。調べたいドメイン名を後ろにつけるだけです。

nslookup [調べたいドメイン名]

例えば、google.com のIPアドレスを知りたい場合はこう入力します。

nslookup google.com

出力の見方

コマンドを実行すると、以下のような結果が返ってきます。ここには「2つの情報」が含まれているので、混同しないように注意しましょう。

Server:		192.168.1.1      <-- ① 使った電話帳(DNSサーバー)
Address:	192.168.1.1#53

Non-authoritative answer:
Name:	google.com           <-- ② 調べた結果
Address: 142.250.207.14

詳細を読む

  1. Server / Address (上段):
    • あなたが「どのDNSサーバーに質問したか」を表示しています。通常は自宅のルーターや、プロバイダのDNSが表示されます。
  2. Name / Address (下段):
    • ここが知りたかった答えです。google.com のIPアドレスが表示されています。
「Non-authoritative answer(権限のない回答)」って何?

実行結果によく出るこのメッセージ。「エラーかな?」と不安になりますが、これは正常です。 「私はこのドメインの管理主(元の持ち主)じゃないけど、キャッシュ(履歴)に残ってたから教えてあげるね」という意味です。全く気にする必要はありません。

おすすめオプションと使い方

nslookup は単にIPを調べるだけでなく、トラブルの原因特定に役立つ使い方がいくつかあります。よく使う順に紹介します。

1. 使うDNSサーバーを指定して調査する(最重要)

トラブル時に一番使うのがこれです。「自分のPCがおかしいのか? それとも設定しているDNSサーバーがおかしいのか?」を切り分けるために、特定のDNSサーバーを指名して問い合わせを行います。

構文は、ドメインの後ろにDNSサーバーのIPを指定するだけです。

# GoogleのパブリックDNS(8.8.8.8)を使って問い合わせる
nslookup google.com 8.8.8.8
  • もし普通に打つとエラーになるのに、8.8.8.8 を指定すると成功する場合 → あなたのPCに設定されているDNSサーバー(ルーターなど)の不調が原因だと特定できます。

2. メールの設定を確認する -type=MX

Webサイト(Aレコード)だけでなく、メールサーバー(MXレコード)の設定を確認したい場合に使います。 サーバー移転時など、「メールが届かない」というトラブル調査で重宝します。

nslookup -type=MX google.com

3. その他の情報を確認する -type=TXT

最近では、なりすましメール対策(SPFレコードなど)を確認するために、TXTレコードを調べることが増えています。

nslookup -type=TXT google.com

コラム:DNSと「dig」の話

DNSってなに?

DNS(Domain Name System)は、インターネット上の電話帳のようなシステムです。 コンピュータは「142.250…」のような数字(IPアドレス)しか理解できません。しかし、人間は数字を覚えるのが苦手なので「google.com」のような名前を使います。 この「名前」を「数字」に変換してくれるのがDNSです。この変換作業を「名前解決」と呼びます。

nslookup と dig

実は現在、Linuxの世界では nslookup よりも dig というコマンドの方が高機能で推奨されています。 しかし、nslookup はWindowsやMacにも標準で入っており、出力もシンプルで初心者には非常に分かりやすいため、現場では今でも現役で使われています。 「まずは nslookup でサクッと確認、詳しく見たければ dig」という使い分けができるとスマートですね。

まとめ

  • nslookup [ドメイン]: ドメインのIPアドレスを調べる。
  • nslookup [ドメイン] 8.8.8.8: 別のDNSサーバーを使ってテストする(トラブル切り分け用)。
  • 名前解決ができているか確認する時に使う。

これで、ping(回線確認)と nslookup(名前解決確認)の2つの武器が揃いました。繋がらないトラブルも、もう怖くありません!

次回は、ネットワーク上にあるファイルを取得することができる Wgetとネットワーク上のファイルを確認できるcurlについて紹介します。

curlとWgetの違いとは?curlとWgetコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【curl/Wget】Webサイトのコンテンツをダウンロードする curlとWgetの違い【Linuxコマンド入門 Part3-12】

Linuxでファイルをダウンロードする「wget」と、Webサーバーの動作を確認する「curl」。似ている2つのコマンドの違いと使い分けを解説します。ダウンロード中断時の再開オプションや、ヘッダー情報の確認方法など、現場で役立つ実用的なテクニックも紹介。

第三回”Linuxコマンド入門 Part3 ~システムの状態確認とネットワークの基本~”では、linuxでどのようにCPUやメモリの状態を確認するか、ネットワークとの接続チェックなどの基本操作を解説しています。

linuxコマンドでシステムのメモリやCPUの状態、プロセスの詳細を確認する方法を紹介するシリーズのサムネイル 13 記事
シリーズ

Linuxコマンド入門 Part3 ~システムの状態確認とネットワークの基本~

Linuxのシステム管理コマンドや基本的なネットワーク関係コマンドを理解しよう。

ここまで読んでいただきありがとうございます。

では、次の記事で。 lumenHero