2026年8月2日
2026年8月2日
nslookupとdigでDNSを確認する方法
はじめに
DNSはインターネットの根幹をなす名前解決の仕組みです。サイト移転、メール設定、SSL証明書発行などサーバー運用のあらゆる場面でDNSレコードの確認が必要となります。
本記事ではdigとnslookupを使ってA/AAAA/MX/TXT/CNAMEなど各種レコードを調べる方法と、DNSキャッシュやTTLの扱いまで解説します。
症状・背景
- ドメインの正引きや逆引きを確認したい
- メール設定(MX/SPF/DKIM)を検証したい
- DNS変更が反映されているか確認したい
- 権威DNSとキャッシュDNSの応答を比較したい
手順・設定方法
ステップ1: 基本的な名前解決を行う
# digコマンドのインストール
sudo apt install -y dnsutils # Debian/Ubuntu
sudo dnf install -y bind-utils # RHEL/Rocky
# Aレコードを引く
dig example.com A
# 簡潔表示(+short)
dig +short example.com
# nslookup版
nslookup example.com
ステップ2: 各種DNSレコードを確認する
# MXレコード(メールサーバー)
dig example.com MX +short
# TXTレコード(SPF/DKIM/DMARCなど)
dig example.com TXT +short
# CNAMEレコード
dig www.example.com CNAME +short
# AAAA(IPv6)レコード
dig example.com AAAA +short
# NSレコード(権威DNS)
dig example.com NS +short
# すべて取得(ALL)
dig example.com ANY
ステップ3: 権威DNS・キャッシュDNSを指定する
# 指定したDNSサーバーに問い合わせ
dig @8.8.8.8 example.com
# Cloudflare DNSで確認
dig @1.1.1.1 example.com
# 権威DNSに直接問い合わせ
dig @ns1.example.com example.com SOA
# 詳細表示(トレース)
dig +trace example.com
# 短縮回答付き
dig @8.8.8.8 example.com +noall +answer
ステップ4: 逆引きとデバッグ
# IPアドレスから逆引き
dig -x 93.184.216.34
nslookup 93.184.216.34
# DNS応答時間の測定
dig example.com | grep "Query time"
# 特定レコードのTTLを確認
dig example.com +noall +answer
# DNSSECの検証
dig +dnssec example.com
注意事項
- nslookupは古くから存在するが、dig/hostの利用が現在の推奨
- DNSはローカルキャッシュやリゾルバキャッシュの影響を受けるため、
@で直接問い合わせる - TTLが大きいレコードの変更は反映に時間がかかる
- digの
+traceはルートDNSから順に追跡できるが時間がかかる
まとめ
1. digは機能豊富、nslookupは対話モードもあるシンプル系
2. +shortで必要情報のみ簡潔表示が可能
3. @サーバーで特定DNSへ直接問い合わせ
4. -xで逆引き、ANYで全レコードを一括確認
関連記事: