digの応答パターンまとめ【実務で使える完全版】

  • URLをコピーしました!

DNSトラブルシューティングにおいて dig コマンドは最も役立つ分析ツールの1つです。しかし、DNS障害の現場では「dig の応答をどう読むか」で問題の特定スピードが大きく変わります。

本記事では、dig の主要応答パターンをすべて解説し、原因・対処法・実務例まで一気に理解できる内容としてまとめました。この記事だけで、DNSの切り分けが圧倒的に早くなります。

目次

■ dig の基本構造

まず、dig の応答は以下の4つを中心に読みます。

  • status(応答ステータス)
  • ANSWER SECTION(答え)
  • AUTHORITY SECTION(権威DNS)
  • ADDITIONAL SECTION(追加情報)

特に status は DNS の異常を判断する重要な要素です。

■ dig の主要ステータス一覧(必ず覚えるべき)

dig のステータスは DNS 障害の入口です。ここを見れば「どこに原因があるのか」が瞬時にわかります。

ステータス意味原因対処法
NOERROR正常(名前解決成功)特になしANSWER SECTION を確認する
NXDOMAINドメインが存在しないゾーンなし/名前の typo/DNS不整合ゾーン・レコードの存在確認、スペル修正
SERVFAILDNSサーバ内部エラーフォワーダ障害/権威DNSが応答しないフォワーダ確認/権威DNSの疎通確認
REFUSEDDNSサーバが拒否ACL/recursion off/FWによる制限DNSの allow-query / recursion の設定確認
FORMERRフォーマットエラーDNS問い合わせが不正クライアントの問い合わせ形式をチェック
NOTAUTH権威を持っていないゾーンに問い合わせたゾーン設定ミスゾーン委任設定を修正
NOTZONEゾーン外の更新要求更新対象がゾーン外更新対象のゾーンを確認

■ ステータス別:実務で最も多いパターンと原因・解決方法

1. NOERROR(正常)

status: NOERROR

ANSWER SECTION に IP が返っていれば成功です。

ただし「NOERROR だが ANSWER が空」パターンがあるので注意。

;; ANSWER: 0

これは NODATA(レコードなし) と呼ばれ、以下の可能性があります。

  • Aレコードが登録されていない
  • 他のレコード(TXT, MX)はあるが A が無い

対処:DNSにレコードを追加する

2. NXDOMAIN(ドメインが存在しない)

実務で最も多い DNS のエラーです。

status: NXDOMAIN

主な原因

  • ドメインのスペルミス
  • ゾーンが消えている
  • 権威DNSの設定ミス
  • DNSSEC 失敗

対処

  • ドメイン名のスペル再確認
  • ゾーンファイルの存在確認
  • DNSSEC を使用している場合は DSレコード確認

3. SERVFAIL(DNS内部エラー)

status: SERVFAIL

現場で非常に厄介なステータスです。原因は多岐にわたりますが、ほぼ以下のどれかです。

  • フォワーダへの問い合わせ失敗
  • 権威DNSが応答していない
  • recursive DNS が内部エラー
  • DNSSEC の失敗

チェックすべき順番(実務手順)

  1. 8.8.8.8 へ直接 dig → 成功する?
  2. 内部DNS への dig → 失敗する?
  3. 内部DNS のフォワーダ先を確認
  4. 権威DNS(NS)の疎通を確認

対処例

  • フォワーダ設定を修正
  • DNSSEC offにして切り分け
  • named / bind のログ確認

4. REFUSED(問い合わせ拒否)

status: REFUSED

DNSサーバ側が 「その問い合わせには答えません」 と返す状態です。

主な原因

  • allow-query が制限されている
  • recursion off の DNS に外部から問い合わせしている
  • ファイアウォールで拒否されている

対処

  • DNSサーバ側の ACL を修正
  • 内部向け recursive DNS を明確に分ける
  • 53番の通信制御を確認

5. FORMERR(フォーマットエラー)

status: FORMERR

DNS問い合わせの形式がおかしいと判断された状態です。

原因

  • クライアントの DNS ライブラリ不具合
  • EDNSサイズの不整合
  • 古いDNSサーバとの相性問題

対処

dig +noedns www.example.com

EDNSを無効化して症状が消える場合、DNSサーバ側の問題です。

6. NOTAUTH(権威を持たない)

status: NOTAUTH

権威を持っていない DNS に問い合わせた場合に発生します。

原因

  • ゾーンの委任ミス
  • 権威DNSの設定漏れ

対処

  • NSレコードの委任先が正しいか確認
  • 権威DNSにゾーンが設定されているかチェック

7. その他の rare パターン(簡易まとめ)

  • NOTZONE → ゾーン外のデータ更新要求
  • YXDOMAIN → 既存ドメインに対する不正な要求
  • YXRRSET → レコードの重複

これらはゾーン更新時に発生し、実務ではそれほど多くありません。

■ dig を使った実務的な切り分け手順

① 外部 DNS(GoogleDNS)で確認

dig www.google.com @8.8.8.8

これで成功する → 内部DNSが怪しい

② 内部DNSで確認

dig www.google.com @内部DNS

これが失敗 → フォワーダか DNSサーバ内部障害


③ 権威DNSへ直接問い合わせ

dig www.example.com @ns1.example.com

権威DNSが応答しない → SERVFAIL に直結


④ DNSSEC有無を確認

dig www.example.com +dnssec

DNSSEC失敗は NXDOMAIN や SERVFAIL として現れます。

■ 一覧でわかる:dig の応答 → 原因 → 対処の完全チャート

dig応答原因対処
NOERROR正常ANSWERを確認
NXDOMAINドメイン未登録/typoレコード・ゾーン確認
SERVFAILフォワーダ障害/権威DNS障害フォワーダ・権威DNSを確認
REFUSEDACLで拒否/recursion offallow-query修正
FORMERREDNS不具合/フォーマット不正+noednsで確認
NOTAUTH権限のないDNSへ問い合わせNS委任修正

■ まとめ:digを理解すればDNSトラブルの90%は解決できる

  • NXDOMAIN → ドメインが存在しない
  • SERVFAIL → フォワーダ/権威DNS障害
  • REFUSED → DNSサーバのポリシー拒否
  • FORMERR → EDNSや問い合わせ形式の問題
  • NOERROR(NODATA含む) → 答えが空かどうか確認

dig の応答パターンさえ理解すれば、DNS障害は最速で切り分けできるようになります。ぜひ現場で活用してください。

目次