DNSが原因か確認する手順

入門 | 12分 で読める | 2026.06.16

公式ドキュメント

今回やること

この記事では、WebサイトやAPIにつながらない時に、DNSが原因かどうかを切り分けます。

DNS調査では、ドメイン名がどのIPアドレスに解決されているか、どのDNSサーバーで見ても同じかを確認します。

前提条件

  • ターミナルを開ける
  • nslookup を使える
  • macOS/Linuxでは dig も使える
  • 調査対象のドメイン名がある

例では example.com を使います。

Step 1: まず名前解決する

nslookup example.com

結果にIPアドレスが表示されるか確認します。

Name: example.com
Address: 93.184.216.34

IPアドレスが出ない場合、DNSサーバー、ドメイン名、ネットワーク設定のいずれかを疑います。

Step 2: Aレコードを確認する

macOS/Linuxでは dig でAレコードを確認します。

dig example.com A

IPv6を確認する場合はAAAAレコードを見ます。

dig example.com AAAA

WebサイトがIPv6対応している場合、AAAAレコードが返ることがあります。

Step 3: 別のDNSサーバーで確認する

ローカルのDNSだけがおかしい可能性を見るため、別のDNSサーバーに問い合わせます。

dig @1.1.1.1 example.com A
dig @8.8.8.8 example.com A

結果が大きく違う場合、DNSの反映途中、キャッシュ、権威DNS設定の問題などを考えます。

Step 4: CNAMEを確認する

サブドメインではCNAMEが使われることがあります。

dig www.example.com CNAME

CNAMEは別のドメイン名への別名です。最終的にAレコードやAAAAレコードへ解決される必要があります。

Step 5: HTTP側と比較する

DNSが成功していても、Webサーバーが応答するとは限りません。

curl -I https://example.com

DNSが成功し、HTTPステータスも返るなら、少なくとも名前解決とHTTP応答はできています。

Step 6: DNSキャッシュを疑う

DNSの変更直後は、TTLやキャッシュの影響で古い結果が残ることがあります。

確認すること:

  • DNSレコードを変更してからどれくらい経ったか
  • TTLが長く設定されていないか
  • 自分の端末だけ古い結果になっていないか
  • 別回線や別DNSサーバーではどう見えるか

キャッシュ削除コマンドはOSごとに異なるため、実行前に公式ドキュメントで確認します。

よくあるエラー

エラーよくある原因確認すること
NXDOMAINドメインが存在しない、またはレコードがないドメイン名、DNSゾーン
SERVFAILDNSサーバー側の処理失敗権威DNS、DNSSEC、設定
古いIPが返るキャッシュやTTL別DNSサーバー、時間経過
curlは失敗するDNS以外の問題HTTP、TLS、サーバー

学習用と本番用の違い

学習では example.com や自分のテスト用ドメインで確認します。本番環境では、DNS変更が利用者全体に影響するため、TTL、変更時間、戻し手順、監視を事前に決めます。

DNSは変更してもすぐ全員に同じ結果が届くとは限りません。

まとめ

DNSが原因か確認する時は、nslookup で名前解決、dig でレコード、別DNSサーバーで差分、curl でHTTP応答を確認します。DNSの成功とWebサイトの正常動作は別なので、必ずHTTP側も見ます。

参考リソース

← 一覧に戻る
PR
PR
PR
PR