Categories: linux

DNS情報を簡単に調べる!Linuxのnslookupコマンドの使い方と実例解説

Webサイトが表示されない、メールサーバに接続できない、そんなトラブルの原因を調査する上で「DNS情報の確認」は欠かせません。LinuxでDNSの名前解決状況を調べるためのコマンドとしてよく使われるのが「nslookup」です。
このコマンドを使えば、ドメイン名からIPアドレスを調べたり、逆にIPアドレスからドメイン名を確認したりすることができます。本記事では、Linux環境でのnslookupコマンドの使い方を実例とともに詳しく解説します。トラブルシューティングやサーバ管理に役立つ知識として、ぜひご活用ください。


nslookupとは?基本的な役割と機能

nslookup(Name Server Lookup)は、DNS(Domain Name System)の名前解決状況を調査するためのコマンドラインツールです。
ドメイン名を指定すると、そのホスト名に紐づいたIPアドレスを返してくれます。また、逆にIPアドレスを指定することで、そのIPに関連付けられたホスト名(PTRレコード)を確認することも可能です。

nslookupはLinuxだけでなく、WindowsやmacOSなど多くのプラットフォームで利用できるため、ネットワーク診断ツールとして広く使われています。


nslookupのインストール方法

多くのLinuxディストリビューションではnslookupが標準でインストールされていますが、インストールされていない場合は以下のようにして追加できます。

Ubuntu / Debian系:

sudo apt update
sudo apt install dnsutils

CentOS / Red Hat系:

sudo yum install bind-utils

インストール後、which nslookupでパスが通っているか確認しておきましょう。


単純な名前解決の使い方(Aレコードの取得)

最も基本的な使い方は、ドメイン名を指定してそのAレコード(IPv4アドレス)を取得する方法です。

nslookup example.com

出力例:

Server:         8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: example.com
Address: 93.184.216.34

このように、DNSサーバーの情報と対象のIPアドレスが表示されます。


特定のDNSサーバーを指定して名前解決

nslookupでは、デフォルトのDNSサーバーではなく、特定のDNSサーバーに問い合わせることもできます。

nslookup example.com 1.1.1.1

これはCloudflareのパブリックDNS(1.1.1.1)を使用して名前解決する例です。DNSの設定ミスや地域差などのトラブルを切り分けたい時に便利です。


MXレコード(メールサーバ)の確認

nslookupはメールサーバ情報(MXレコード)を確認するのにも使えます。

nslookup -query=mx example.com

出力例:

example.com    mail exchanger = 10 mail.example.com.

この出力から、そのドメインが使用しているメールサーバーのホスト名や優先度が分かります。


TXTレコード(SPFやDKIMなど)の確認

メールの送信元認証などに関係するTXTレコードも確認できます。

nslookup -query=txt example.com

出力例:

example.com   text = "v=spf1 include:_spf.google.com ~all"

このような情報は、メールの送信設定や迷惑メール対策の確認に役立ちます。


逆引き(PTRレコード)の確認

IPアドレスからドメイン名を調べる、いわゆる「逆引き」も可能です。

nslookup 8.8.8.8

出力例:

8.8.8.8.in-addr.arpa     name = dns.google.

これはGoogleのパブリックDNSサーバーに対応したホスト名を示しています。


対話モードで詳細なDNS情報を取得する

nslookupには対話モード(インタラクティブモード)があります。以下のようにコマンドを実行し、プロンプトに入ることでさまざまな情報を連続して確認できます。

nslookup

プロンプトが表示されます:

>

この状態で以下のように操作できます:

> set type=mx
> example.com

また、以下のような設定も可能です:

> set debug
> example.com

set debugを使うと、より詳細なDNSトランザクション情報が表示され、問題の切り分けに役立ちます。


よく使うオプションまとめ

オプション説明
-query=AAレコードを取得(デフォルト)
-query=MXMXレコード(メールサーバ情報)を取得
-query=TXTTXTレコード(SPFなど)を取得
-query=NSネームサーバー情報を取得
-query=SOAゾーンの管理情報を確認
set debug詳細なDNS応答情報を表示(対話モード)
set type=ANYすべてのレコードタイプを取得

nslookupを使ったトラブルシューティングの例

DNSに関するトラブルで、よくある場面とその対処法をnslookupを使って確認してみましょう。

1. Webサイトが表示されない

nslookup www.example.com

Aレコードが返ってこない場合、そのドメインがDNSに登録されていないか、DNSサーバーに障害が発生している可能性があります。

2. メールが送信できない

nslookup -query=mx example.com

MXレコードが存在しない、または誤って設定されていると、メール配送が正常に行われません。

3. 逆引きできない

nslookup 203.0.113.5

ホスト名が表示されない場合は、逆引きのPTRレコードが設定されていないか、権限のないDNSサーバーを参照している可能性があります。


nslookupの注意点と今後の移行

実はnslookupは古いツールとされ、BIND開発者は「今後はdighostの使用を推奨」としています。とはいえ、その簡単な操作性から、現在でも多くの現場で利用されています。

将来的には、より詳細かつ柔軟にDNSを調査できるdigコマンドに慣れておくこともおすすめです。


まとめ

nslookupコマンドは、LinuxでDNS情報を素早く確認できる便利なツールです。
Aレコードの確認はもちろん、MXやTXTレコード、逆引きなど幅広い用途に使え、ネットワークのトラブルシューティングにも非常に役立ちます。

「Webサイトが開かない」「メールが届かない」といった問題に直面した時、ぜひnslookupを活用して、問題解決の第一歩を踏み出してみましょう。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。