First CH Apps / DNS伝播チェック
ドメインとレコード種別を入れると、Cloudflare・Google・OpenDNS など5つの公開DNSへ同時に問い合わせ、回答が一致しているかを並べて表示します。
見えるのは各リゾルバが今キャッシュから返している値です。一致していればこれらのリゾルバでは揃っていて、割れていれば多くは伝播の途中です。全員が「無い」や SERVFAIL を返すときは設定側の問題が有力ですが、確定は権威ネームサーバーへの直接の問い合わせで行います(下の手順)。
「切り替えたのに反映されない」ときに疑うのは主に次の5つです。①権威ネームサーバーに目的のレコードが無い(保存できていない・別のゾーンや別のホスト名を編集した)②権威には入っているが、リゾルバに古い値のキャッシュが残っている ③レコードを追加した直後で、追加前の「無い」という回答がキャッシュされている(否定応答のキャッシュ)④DNSSEC の検証失敗や委任(レジストラに登録したネームサーバー)の誤りで、名前解決そのものが失敗している ⑤権威ネームサーバー同士の同期が途中、または失敗している。このページの結果は、どれが有力かを絞る手がかりです。リゾルバ経由で見えるのはキャッシュを通した姿なので、確定は下の手順で権威ネームサーバーに直接聞いて行います。
全員が同じ値 → これらのリゾルバでは揃っています。割れていて TTL が残っている → ②が最有力で、TTL が過ぎれば揃います。全員が「無い」・NXDOMAIN → ①が最有力ですが、追加した直後なら③の可能性があります(このページは否定応答のキャッシュの残り時間も表示します)。全員が SERVFAIL → ④を疑います。SOA serial の差 → ⑤の手がかりですが、SOA もキャッシュされるため、それだけでは決まりません。
① dig NS example.com +short で権威ネームサーバーを調べる ② 各ネームサーバーへ dig +norec @ns1.example.net www.example.com A を送り、新しい値が返るかを見る(Windows は nslookup -type=A www.example.com ns1.example.net)③ dig +norec @ns1.example.net example.com SOA +short を全ネームサーバーで実行し、serial を比べる ④ SERVFAIL のときは dig +cd www.example.com A @8.8.8.8 を試す。検証を省く +cd で回答が返るなら DNSSEC、返らないなら委任かネームサーバーの問題です。②で新しい値が返れば設定は正しく、残りはキャッシュの入れ替わり待ちです。
リゾルバは一度引いた答えを TTL の秒数だけ持ち続けます。TTL が 86400 秒(24時間)のレコードを変更すると、最大で丸一日は古い値を返すリゾルバが残ります。切り替えの前日までに TTL を 300 秒程度へ下げ、切り替えが終わってから元に戻すのが定石です。表示している残りTTLは、そのリゾルバが今のキャッシュをあと何秒持つかです。「無い」という回答も同じようにキャッシュされ、その長さはゾーンの SOA レコードの最後の値(minimum)と SOA 自体の TTL の小さい方で決まります(RFC 2308)。
2026-10-28 に当社のドメイン first-ch.com(ConoHa のDNS・SOA の minimum と TTL はどちらも 3600 秒)で、存在しない名前を毎回新しく作ってこのページから問い合わせました(3回)。否定応答の残りTTLは Cloudflare・OpenDNS・DNS.SB が 3600 秒、AdGuard が 3591〜3593 秒、Google だけが毎回 1800 秒でした。同じゾーンの同じ「無い」でも、消えるまでの時間はリゾルバによって最大で倍違います。レコードを追加した直後に一部のリゾルバだけ「無い」が残るのはこのためで、各行の「否定キャッシュ残り」がその待ち時間です。
SOA の serial は「ゾーンの版番号」で、プライマリのネームサーバーで変更すると増え、セカンダリへ転送されます。ただしリゾルバは SOA もキャッシュするので、リゾルバごとに覚えた時刻が違えば serial も割れて見えます。当社の実例では、ConoHa のDNSで1台のネームサーバーだけ古い serial のままになり、どのネームサーバーに当たるかで答えが変わる状態が続きました。こうした権威側の食い違いは TTL を待っても解消しないので、各ネームサーバーへ直接 SOA を聞いて差があれば、DNSサービス側の同期を確認するか、レコードを保存し直して転送を起こしてください。
このページの回答が一致しているのに手元のブラウザだけ古いなら、キャッシュはあなたの端末側にあります。macOS は sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder、Windows は ipconfig /flushdns で消えます。ブラウザ(Chrome は chrome://net-internals/#dns)にも別のキャッシュがあり、社内DNSサーバーやルーターを経由している場合はそちらにも残ります。
切り替えたのに変わらない原因でよくあるのが、編集したホスト名の間違いです。www.example.com と example.com は別のレコードで、片方だけ変えても片方は古いままです。種別を CNAME にして引くと、A の裏に CNAME が挟まっていないかも確認できます(このページは A を引いたときに経由した CNAME も表示します)。
送るもの: 入力されたドメイン名と選んだ種別だけ。当社サーバー(Cloudflare Workers)が 5 社の公開DNS(DNS over HTTPS)へ、選んだ種別と SOA の2件ずつ=合計10件の問い合わせを行います。「期待する値」はサーバー内での突き合わせにのみ使い、外部へは送りません。
保存するもの: ありません。問い合わせはリクエストの中だけで完結し、ドメイン名も結果もデータベース(KV/D1)へ書き込みません。処理が終わった時点でメモリから消えます。アクセスログはCloudflareの標準の範囲のみです。
返すもの: 各リゾルバが返したレコードの値・残りTTL・SOA serial と、その比較結果だけです。ドメインの所有者情報(Whois)やサイトのコンテンツは取得しません。
注意: 引けるのは公開されているDNSレコードだけです。localhost・社内ドメイン(.internal・.local 等)・IPアドレスは受け付けません。問い合わせ先のリゾルバは固定で、利用者が指定することはできません。
この端末に残すもの: 前回との比較のため、照会したドメイン・種別・期待値と各リゾルバの回答の要約を、このブラウザの localStorage に残します(条件ごとに直近8回・全体で20条件まで)。サーバーには送りません。結果欄の「この端末の履歴を消す」で消せます。
POST /dns-propagation/api/check に JSON({"domain": "example.com", "type": "A"})またはフォームを送ると、同じ結果を JSON で返します(認証不要・保存なし)。