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 は、それぞれ原因の当たりを付ける手がかりになる