2026年6月16日
2026年6月16日
dnschecker と drill の違いと使い分け|「サイトが見られない」という連絡への初動と、証明書やメール設定の前の確認
dnschecker(dnschecker.org)は世界各地のキャッシュサーバーの答えをブラウザで一覧する Web サービス、drill は自分で選んだ1台の DNS サーバーに問い合わせて生の答えを見るコマンドです。広く浅く「今どう見えているか」を掴むのが dnschecker、狭く深く「設定がどうなっているか」を確かめるのが drill と考えると使い分けられます。この記事では、WordPress サイトの運用で日常的に起きる3つの場面、つまり「サイトが見られない」という連絡を受けたとき、SSL 証明書を発行・更新する前、メールの設定を変える前を例に、どの順でどちらを使うかを説明します。DNS 事業者の移転や DNSSEC の導入作業での使い分けは別の記事で扱っているため、ここでは触れません。
2つの道具の性格
dnschecker は、ドメイン名と種別を入れると、サービス側が用意した各地の公開キャッシュサーバーに問い合わせ、その結果を地図と一覧で表示します。手元の環境に左右されずに外からの見え方が分かる反面、問い合わせ先は選べず、権威サーバーに直接聞くことや、応答のフラグを見ることはできません。拠点の数や画面の構成は変わることがあります(2026年10月現在)。
drill は NLnet Labs の ldns に付属するコマンドで、Debian・Ubuntu では ldnsutils、macOS では Homebrew の ldns で入ります。書き方は dig に似ていて、drill 名前 種別 @問い合わせ先 の形です。dig と違って -t は種別ではなく「TCP で問い合わせる」指定なので、種別は名前の後ろに書く点に注意してください。
場面1:「サイトが見られない」という連絡を受けたとき
利用者からの連絡は「見られない」という一言のことが多く、原因が DNS なのか、サーバーやアプリケーションなのかを最初に切り分けることが大切です。
手順1:dnschecker で全体の傾向を見る
まず dnschecker で、対象の名前(www 付きと無しの両方)の A と AAAA を検索します。ここで見たいのは傾向です。
- ほぼすべての地点で正しい値:DNS は外から見て正常です。手順3へ進みます。
- 多くの地点で失敗、または古い値:DNS 側の問題の可能性が高いため、手順2で原因を確かめます。
- 一部の地点だけ違う:直前に変更したならキャッシュの入れ替わり途中です。変更していないのに違うなら、権威サーバーの一部の不調を疑います。
手順2:drill で権威サーバーを1台ずつ確かめる
drill example.com NS
drill @ns1.example.net www.example.com A
drill @ns2.example.net www.example.com A
応答の rcode が NOERROR で、flags に aa が付き、期待する値が返るかを見ます。1台でも応答しない、SERVFAIL や REFUSED を返す、という場合はその権威サーバーが原因です。DNS 事業者の障害情報も合わせて確かめます。
手順3:DNS を外して Web サーバーを確かめる
DNS が正常なら、名前解決を使わずにサーバーへ直接つないで、Web サーバー側の応答を見ます。
curl -I --resolve www.example.com:443:203.0.113.10 https://www.example.com/
203.0.113.10 には、DNS に登録しているサーバーの IP アドレスを入れます。ここでエラーやタイムアウトになるなら、原因はサーバー、PHP、WordPress のいずれかで、DNS を触っても直りません。利用者の環境だけで見られない場合は、利用者の手元のキャッシュや、利用者が使っている DNS の問題も考えられます。
場面2:SSL 証明書を発行・更新する前
Let's Encrypt などの認証局は、証明書を発行する前に DNS を引いて、ドメインの管理者かどうかを確かめます。この確認に失敗すると発行が止まるので、事前に DNS を確かめておくと手戻りが減ります。
- HTTP で確認する方式:A と AAAA が、証明書を入れるサーバーを指している必要があります。AAAA が旧サーバーのまま残っていると、認証局が IPv6 で旧サーバーに接続して失敗することがあります。dnschecker で A と AAAA を検索し、各地で同じ値になっているかを見ます。
- DNS の TXT で確認する方式:
_acme-challengeから始まる名前に TXT を置きます。認証局は自前のキャッシュサーバーから権威サーバーに問い合わせ、どの権威サーバーに当たるかは選べません。そのため、すべての権威サーバーが新しい値を返しているかを drill で1台ずつ確かめます。
drill @ns1.example.net _acme-challenge.example.com TXT
drill @ns2.example.net _acme-challenge.example.com TXT
- CAA:CAA レコードを置いている場合、使う認証局が許可されている必要があります。Let's Encrypt なら
issueの値にletsencrypt.orgが含まれているかを見ます。
drill example.com CAA
CAA が見つからない名前では、親の名前(www.example.com なら example.com)の CAA が使われます。どの名前に CAA を置いたかを把握してから確かめてください。
場面3:メールの設定を変える前と後
WordPress から送るお問い合わせの通知やパスワード再設定のメールが届かない原因は、MX よりも送信側の SPF・DKIM・DMARC の設定であることがよくあります。これらはどれも TXT レコードです。
drill example.com MX
drill example.com TXT
drill selector1._domainkey.example.com TXT
drill _dmarc.example.com TXT
selector1 の部分は、メール配信サービスや送信サーバーが指定するセレクター名に置き換えます。変更前に drill の出力を保存しておくと、元に戻すときに迷いません。変更後は、まず drill で権威サーバーの値が正しいかを確かめ、そのあと dnschecker で各地に広がったかを見ます。受け取る側のメールサーバーは各地のキャッシュサーバーを使うため、古い値が残っている間は判定が変わることがあります。
SPF の TXT は同じ名前に1つだけにします。2つあると、受け取る側で正しく判定されない原因になります。dnschecker の TXT の一覧で、v=spf1 で始まる値が2つ表示されていないかを見ておくと見落としを防げます。
監視や記録はどちらで行うか
定期的な確認や、変更の前後の記録には drill が向いています。スクリプトに組み込み、cron などで決まった時刻に実行して結果をファイルに残せるためです。dnschecker の画面をプログラムで定期的に取得する使い方は、サイトの利用条件に反するおそれがあり、勧められません。外からの見え方を自動で確かめたい場合は、外部の監視サービスや計測網の利用を検討してください。
まとめ
- dnschecker は各地の見え方を広く掴む Web サービス、drill は1台のサーバーの生の答えを深く見るコマンドです。
- 「見られない」という連絡には、dnschecker で傾向を見て、drill で権威サーバーを確かめ、DNS が正常なら
curl --resolveで Web サーバーを切り分けます。 - 証明書の発行前は A・AAAA・
_acme-challengeの TXT・CAA を、メールの設定では MX と SPF・DKIM・DMARC の TXT を確かめます。 - 権威サーバーの値は drill で、各地への広がりは dnschecker で見る、という順番が基本です。