2026年5月24日

2026年5月24日

nslookupで名前解決を確認する手順|結果の読み方とエラーの意味

nslookup は、ドメイン名からIPアドレスなどの情報が正しく引けるかを確かめるコマンドで、Windows・macOS・Linux のどれにも用意されています。この記事では、基本の使い方から、問い合わせ先DNSサーバーやレコード種別の指定、結果の読み方、よく出るエラーの意味までを順に説明し、「名前解決ができているか」「どのDNSが何を返しているか」を自分で判断できるようにします。

nslookup で分かること・分からないこと

使い始める前に、一つだけ押さえておきたい性質があります。nslookup は指定したDNSサーバーへ直接問い合わせる道具で、OSの名前解決の仕組みをそのまま再現するものではありません。

  • hosts ファイルに書いた内容は、nslookup の結果には反映されない
  • Windows のDNSクライアントキャッシュも使わず、毎回DNSサーバーに問い合わせる

そのため「nslookup では新しいIPが返るのに、ブラウザでは旧サイトが表示される」ということが起こります。これは故障ではなく、ブラウザ側が hosts ファイルやOSのキャッシュを使っているためです。ブラウザと同じ経路で確認したい場合は、Windows なら PowerShell の Resolve-DnsName(既定で hosts ファイルとキャッシュも参照します)を併用すると、違いの原因を切り分けられます。

基本の使い方

コマンドプロンプトやターミナルで、調べたいドメイン名を指定して実行します。

nslookup example.com

Windows の日本語環境では、おおむね次のような形で表示されます(IPアドレスは説明用の例です)。

サーバー:  UnKnown
Address:  192.168.1.1

権限のない回答:
名前:    example.com
Addresses:  2001:db8::10
          203.0.113.10

上の2行は「どのDNSサーバーに聞いたか」、下の段は「そのサーバーが返した答え」です。英語環境では「Server」「Non-authoritative answer」「Name」「Address」と表示されます。

読み方のポイントは次のとおりです。

  • サーバー: UnKnown は、問い合わせ先DNSサーバー自身の名前(逆引き)が分からないという意味で、名前解決の失敗ではありません。家庭用ルーターなどでは普通に出る表示です
  • 権限のない回答(Non-authoritative answer) は、キャッシュDNSサーバーが保持していた答えを返したという意味です。異常ではなく、ほとんどの問い合わせはこの形になります
  • Addresses にIPv4とIPv6の両方が出ることがあります。Windows の nslookup は既定でAとAAAAの両方を問い合わせるためです

問い合わせ先のDNSサーバーを指定する

ドメイン名の後ろにDNSサーバーを指定すると、そのサーバーに直接聞けます。使っているプロバイダのDNSと公開DNSで答えが違うかを比べると、キャッシュの残り具合が分かります。

nslookup example.com 8.8.8.8
nslookup example.com 1.1.1.1

さらに、ドメインを管理している権威DNSサーバーに直接聞けば、キャッシュを挟まない「現在の正しい値」を確認できます。

nslookup -type=NS example.com
nslookup example.com ns1.example.net

権威DNSサーバーに聞いた場合、「権限のない回答」の表示が出ないことで、権威を持つ答えであることを見分けられます。権威DNSの値が正しく、公開DNSの値が古ければキャッシュ待ち、権威DNSの値そのものが古ければ設定側の問題、と判断できます。

レコードの種類を指定する

-type= で調べるレコードの種類を指定します。WordPressサイトの運用でよく使うのは次のものです。

nslookup -type=A example.com
nslookup -type=AAAA example.com
nslookup -type=CNAME www.example.com
nslookup -type=MX example.com
nslookup -type=TXT example.com
nslookup -type=NS example.com
nslookup -type=SOA example.com
  • A / AAAA:サイトのIPv4 / IPv6アドレス。サーバー移転後に新サーバーのIPになっているか
  • CNAME:www付きのホストやCDNの設定が別名として正しく向いているか
  • MX:メールの受信先。サイト移転でメールが届かなくなったときに最初に見る
  • TXT:SPF・DKIM・DMARC や、Google Search Console などの所有権確認用の値
  • NS / SOA:どのネームサーバーが担当しているか、ゾーンの基本情報

TTL(残りのキャッシュ時間)を見る

通常の表示にはTTLが出ません。-debug を付けると、詳しい応答の中に ttl = として秒数が表示されます。

nslookup -debug example.com 8.8.8.8

公開DNSに聞いた場合、この値はキャッシュの残り時間です。少し時間をおいて再実行し、数字が減っていればキャッシュから返っていることが分かります。

対話モードで続けて調べる

引数なしで nslookup と入力すると対話モードになり、> のプロンプトで続けて問い合わせができます。

nslookup
> server 8.8.8.8
> set type=MX
> example.com
> set type=TXT
> example.com
> exit

server で問い合わせ先を、set type= でレコード種別を切り替えられるので、同じドメインの複数のレコードを順に調べるときに便利です。

よく出るエラーと意味

表示の文言はOSや nslookup の実装によって少し異なりますが、意味はおおむね次のように読み取れます。

Non-existent domain / NXDOMAIN

「その名前は存在しない」という答えです。ドメイン名の綴り間違い、サブドメインのレコードを作り忘れている、ドメインの有効期限切れなどが考えられます。作成直後なら、存在しない状態がキャッシュされている可能性もあるため、権威DNSサーバーに直接聞いて確認します。

No answer / 回答が表示されない

名前自体は存在するものの、指定した種類のレコードが無い状態です。たとえばAレコードは無くCNAMEだけがある、MXを設定していない、などのケースです。-type= を変えて、どの種類なら返るかを確認します。

DNS request timed out / No response from server

問い合わせ先のDNSサーバーから応答がありません。指定したIPアドレスの誤り、社内ネットワークのファイアウォールでDNS(ポート53)が止められている、VPN接続の影響などが考えられます。別のDNSサーバーを指定して応答があるかを試すと、ネットワーク側の問題かサーバー側の問題かを切り分けられます。

SERVFAIL / Server failed

DNSサーバーが答えを作れなかった状態です。権威DNSサーバーが応答していない、DNSSECの署名に問題があるなどが原因として多く見られます。複数の公開DNSで同じ結果になるなら、ドメイン側の設定を疑います。

意図しない名前が問い合わせられるときの注意

Windows の nslookup は、入力した名前にネットワーク設定のDNSサフィックスを付け足して問い合わせる場合があります。社内ネットワークなどで結果が不自然なときは、nslookup example.com. のように末尾にドットを付けると、その名前そのものとして問い合わせられます。

また、OSに付属する nslookup の挙動や表示は、Windows のバージョンやLinuxのパッケージ(BIND 由来のものなど)で細部が異なります(2026年10月現在)。より詳しい情報(応答フラグやTTLの一覧表示など)が必要な場合は dig コマンドの利用も検討してください。

まとめ

  • nslookup は指定したDNSサーバーに直接問い合わせる道具で、hosts ファイルやOSのキャッシュは使わない
  • 「権限のない回答」はキャッシュからの答えで正常。「サーバー: UnKnown」も失敗ではない
  • 公開DNSと権威DNSに聞き比べると、キャッシュ待ちか設定ミスかを判断できる
  • -type= でMXやTXTも確認でき、-debug でTTLの残り時間が分かる
  • NXDOMAIN・No answer・タイムアウト・SERVFAIL は、それぞれ原因の当たりを付ける手がかりになる

お気軽にご相談ください

お見積りへ お問い合わせへ
▲