DNS の調査や、サイトが表示されない時のトラブルシューティングでは dig コマンドが便利。
この記事では、初級〜上級エンジニアまで必ず使える 「dig の使い方をすべて網羅」 して解説します。
- 基本構文
- よく使うオプション
- A / AAAA / MX / TXT などの全レコード取得
- DNS 伝播確認
- 権威サーバーの調査
- DNSSEC の確認
- 実務レベルの具体的なトラブル解決方法
- 100% 再現可能な実務テンプレート集
この1ページで dig を完全に使いこなせるようになることを目指しました。
1. dig コマンドとは?
dig(Domain Information Groper) は DNS 情報を問い合わせるコマンドラインツール。
主な用途は次のとおり。
- ドメインの DNS レコード(A / CNAME / MX…)を確認
- 権威DNS・キャッシュDNSの応答を確認
- 名前解決トラブルの原因を特定
- DNS 伝播状況のチェック
- TXTレコードで SPF / DKIM を確認
- DNSSEC の検証
Linux / macOS に標準でほぼ入っています。
2. dig の最基本構文
最もよく使う最小構文はこれです。
dig ドメイン名
# 例
dig google.comAレコードを取得するのがデフォルト。
3. レコードタイプを指定して取得する
● Aレコード(IPv4)
dig google.com A● AAAAレコード(IPv6)
dig google.com AAAA● MXレコード(メールサーバー)
dig google.com MX● TXTレコード(SPF/DKIMなど)
dig google.com TXT● NSレコード(DNSの委任状況)
dig google.com NS● ANY(全レコード)
ただし最近では制限されて空の応答になることが多い。
dig google.com ANY4. 特に重要なオプション一覧(実務で必須)
● +short(結果だけ欲しいとき)
dig google.com +shortAレコードだけ抜き出したいときに便利です。
● +trace(DNSの委任の流れを全部追う)
DNSトラブル調査で最重要。
dig google.com +trace→ ルートサーバー → TLD → 権威DNSまで “どこで壊れているか” がすぐ判明する。
● @DNSサーバー(問い合わせ先を指定)
Google DNS に問い合わせ:
dig google.com @8.8.8.8
# Cloudflare
# dig google.com @1.1.1.1権威DNSに直接問い合わせることも可能。
● +nocmd +nostats +noquestion(余計なヘッダ削除)
スクリプト処理で便利。
dig +nocmd google.com +noquestion +nostats +short● +dnssec(DNSSECの有効性確認)
dig google.com +dnssec● +multi(複数行で見やすく出力)
dig google.com +multi5. 権威DNSに直接問い合わせる方法(DNSの最深部を覗く)
まず NS レコードで権威DNSを取得:
dig example.com NS +short返ってきた NS の 1つに問い合わせる:
dig example.com A @ns1.example.comこれで「権威DNSがどの値を持っているか」がわかる。
※キャッシュDNSの影響ゼロ。
6. DNS 伝播チェックも dig だけで可能
複数DNSに問い合わせれば、伝播の差が見える。
dig example.com @8.8.8.8 +short
dig example.com @1.1.1.1 +short
dig example.com @9.9.9.9 +short→ 値がバラついていたら、伝播中。
7. 実務でよくあるトラブルと解決例(必読)
● ケース①:サイトが急に表示されなくなった
確認手順:
dig example.com A
dig example.com A @8.8.8.8
dig example.com A @1.1.1.1
dig example.com +trace- 権威DNSが間違っていないか
- Aレコードが更新されているか
- TTLが長すぎて古い値が残ってないか
- NS設定が飛んでないか
● ケース②:メールが届かない(Gmailに弾かれる)
dig example.com MX
dig example.com TXT- SPF(TXTレコード)が正しいか
- “include” のタイポがないか
- MX が存在するか
- MX の優先度が正しいか
● ケース③:サブドメインが消えた
dig sub.example.com A +trace委任・CNAME の誤設定が原因なことが多い。
● ケース④:CDN を導入したら動かなくなった
Cloudflareなど導入後は A レコードが 変わる。
dig example.com A
dig example.com CNAMECDN 先のホストに向いているか確認。
8. dig の出力を読む方法
dig の出力は3つの重要ブロックで構成されます。
● HEADER(応答情報)
- ステータス(NOERROR / NXDOMAIN など)
- QUERY / ANSWER / AUTHORITY / ADDITIONAL の数
● QUESTION SECTION
問い合わせ内容
● ANSWER SECTION
実際のDNSレコードの例です。
;; ANSWER SECTION:
google.com. 300 IN A 142.251.42.78- TTL=300秒
- クラス IN
- タイプ A
- 値 = 142.251.42.78
9. dig コマンドの応用テクニック集
● 逆引き DNS(PTRレコード)
dig -x 8.8.8.8● TTL を確認する
dig example.com A→ ANSWER セクションに TTL が表示される。
● スクリプトで host コマンド代わりに使う
dig +short example.com● DKIM レコードの確認
dig default._domainkey.example.com TXT10. 実務でそのまま使える「テンプレート集」
● DNSすべて確認テンプレ
dig example.com A
dig example.com AAAA
dig example.com MX
dig example.com TXT
dig example.com NS● 伝播確認テンプレ
for ns in 8.8.8.8 1.1.1.1 9.9.9.9; do dig example.com @$ns +short; done● トラブル完全診断テンプレ
dig example.com +trace
dig example.com A @8.8.8.8
dig example.com NS
dig example.com TXT11. まとめ:dig は DNS の「CTスキャン」
dig が使えるようになると、次のようなことができます。
- DNSトラブルの原因を3分で特定
- サーバー変更時の問題を即発見
- メールエラーの根本原因を可視化
- 伝播状況の“本当の状態”がわかる
もはやインフラエンジニア・Webエンジニアの必須スキルです。

コメント