CreaTools LogoCreaTools
Tips

DNSレコードの調べ方と「どこを見るか」の判断

2025-12-20

この記事が解決する状況

あなたの状況読むべきセクション
サイトが表示されない、原因がDNSか確認したい目的別の調べ方 → 設定変更確認
メールが届かない目的別の調べ方 → メール調査
DNS設定を変更したが反映されないキャッシュDNSと権威DNSの違い
サーバー移行で浸透待ち、本当に完了したか確認したい目的別の調べ方 → 浸透確認
nslookupとdigどっちを使えばいいかわからないdigコマンド

「nslookupで確認したのに、実際の挙動と違う」という経験があるなら、必ず読むべき。


調べる前に決めること

目的によって問い合わせ先が違う

目的問い合わせ先理由
設定が正しいか確認権威DNSサーバー最新の設定値を返す
ユーザーに見えている値を確認キャッシュDNS(Google等)実際の浸透状況がわかる
浸透完了を判断複数のキャッシュDNS1箇所だけでは不十分

「どこに問い合わせるか」を決めずにnslookupを打つと、結果の解釈を間違える。


キャッシュDNSと権威DNSの違い

ユーザー → キャッシュDNS(8.8.8.8等) → 権威DNS
              ↓
          キャッシュを返す(TTL期間中は古い値の可能性)
種類役割
権威DNSドメインの正式な設定を持つお名前.com、Cloudflare、AWS Route53
キャッシュDNS問い合わせ結果を一時保存8.8.8.8、1.1.1.1、プロバイダDNS

権威DNSを変更しても、キャッシュDNSがTTL期間中は古い値を返す。これが「DNS浸透」。

よくある誤解

誤: 「設定変更したらすぐ反映される」
正: 「権威DNSには即反映。ユーザーに届くのはTTL経過後」

nslookup の基本

Windows

nslookup -type=a example.com
nslookup -type=mx example.com
nslookup -type=txt example.com

Mac / Linux

nslookup -type=a example.com
# または
dig example.com A +short

digの方が出力がシンプルで扱いやすい。


レコードタイプ早見表

コマンド調べる内容用途
-type=aIPv4アドレスサーバー移行の浸透確認
-type=aaaaIPv6アドレスIPv6対応確認
-type=mxメールサーバーメールが届かない原因調査
-type=txtSPF、DKIM等メール認証設定の確認
-type=nsネームサーバー権威DNSの特定
-type=cnameエイリアスCDN設定の確認

目的別の調べ方

設定変更が反映されたか確認

権威DNSに直接問い合わせる。

# まずNSレコードで権威DNSを特定
nslookup -type=ns example.com

# 権威DNSに直接問い合わせ
nslookup -type=a example.com ns1.example.com

キャッシュを経由しないので、最新の設定値が返る。

これで新しい値が返らないなら、設定自体が間違っている。

ユーザーに見えている値を確認(浸透確認)

複数のキャッシュDNSで確認。

nslookup -type=a example.com 8.8.8.8
nslookup -type=a example.com 1.1.1.1
サーバーIP
Google Public DNS8.8.8.8
Cloudflare DNS1.1.1.1

両方で新しい値が返れば、浸透はほぼ完了。

片方だけ新しい値なら、まだ浸透中。待つしかない。

メールが届かない原因を調査

MXレコードとTXTレコード(SPF)を確認。

nslookup -type=mx example.com
nslookup -type=txt example.com

SPFが設定されていない、または間違っていると迷惑メール扱いされる。

サイトが表示されない原因を調査

# Aレコードを確認
nslookup -type=a example.com 8.8.8.8

# 結果が期待と違うなら
# 1. 権威DNSに直接問い合わせて設定確認
# 2. 設定が正しいなら浸透待ち

dig コマンド(Mac推奨)

nslookupより出力がシンプル。Windowsでは使えないが、MacとLinuxでは標準装備。

# 基本
dig example.com A +short

# 特定のDNSサーバーに問い合わせ
dig example.com A @8.8.8.8 +short

# TTLも確認
dig example.com A

# 名前解決の経路を表示
dig example.com +trace

nslookup vs dig

項目nslookupdig
出力冗長シンプル
TTL表示見づらい一目でわかる
経路追跡不可+traceで可能
Windows標準搭載別途インストール
Mac/Linux標準搭載標準搭載

Macユーザーなら dig 一択。 Windowsでも WSL を使えば dig が使える。


事故事例:浸透確認の落とし穴

事例1: 自分のPCだけ古い値

状況: nslookupで新IPが返るのに、ブラウザは旧サイトを表示
原因: ブラウザのDNSキャッシュ、またはOSのDNSキャッシュ
対処: ブラウザ再起動、またはOSのDNSキャッシュクリア
# Mac
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

# Windows
ipconfig /flushdns

事例2: 「浸透完了」と報告したら他の人で見れない

状況: 自分のPCでは新サーバー、クライアントのPCでは旧サーバー
原因: 1つのDNSサーバーでしか確認しなかった
対処: 複数のキャッシュDNS(8.8.8.8、1.1.1.1、プロバイダDNS)で確認

事例3: 権威DNSで確認したのに古い値

状況: 権威DNSに問い合わせているのに、古いIPが返る
原因: 問い合わせ先が権威DNSではなかった(CNAMEで別サーバーに転送されていた)
対処: NSレコードで権威DNSを正確に特定してから問い合わせ

よくあるトラブル

症状原因対処
設定したのに古い値が返るキャッシュDNSに問い合わせている権威DNSに直接問い合わせ
権威DNSでも古い値設定ミス or 反映待ち管理画面で設定を再確認
サーバーによって値が違う浸透中TTLの時間を待つ
自分だけ古い値ローカルキャッシュOS/ブラウザのキャッシュクリア

まとめ

  • 目的によって問い合わせ先を変える
  • 設定確認 → 権威DNS、浸透確認 → 複数のキャッシュDNS
  • Macではdig +shortが便利
  • 浸透完了の判断は複数サーバーで確認
  • 自分のPCだけ挙動が違うならローカルキャッシュを疑う

関連記事