Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

一般的な DNS の問題

最終更新 Markdown で表示Agent セットアップ

Safari や Chrome などの Web ブラウザーでは、次のような DNS エラーがよく見られます。

よくある原因と対処

DNS 解決エラーの最も多い原因と、推奨する対処は次のとおりです。

ドメインまたはサブドメインの入力ミス

リクエスト URL のドメインまたはサブドメインのスペルが正しいことを確認してください。

DNS レコードの不足

エラーが出ているドメインまたはサブドメインに、必要な DNS レコードがあることを確認してください。

Records を開く ↗

次のレコードが含まれます。

ドメインを Cloudflare に追加する前に DNSSEC を無効にしていない

ドメインプロバイダーで DNSSEC を無効にせず にドメインを Cloudflare へ追加すると、DNS 解決が失敗します。

ネームサーバーが Cloudflare を指さなくなっている

Cloudflare ダッシュボードで DNS レコードを管理しているのに、ドメインが Cloudflare のネームサーバーを指さなくなると、DNS 解決は止まります。

ドメインレジストラが、ドメインのネームサーバーを自社のデフォルトに切り替えると、この状態になることがあります。原因かどうかを確認するには、ドメインが Cloudflare のネームサーバーを使っているか確認 してください。

IP アドレスが解決されない

まれに、URL を要求するクライアント側の DNS リゾルバーが、DNS レコードを有効な IP アドレスに解決できないことがあります。

少し待ってからページを再読み込みし、問題が消えるか確認してください。この問題は Cloudflare とは無関係ですが、Cloudflare の DNS リゾルバー を使うと改善することがあります。現在の DNS リゾルバーについては、ホスティングプロバイダーに問い合わせてください。

新しく作成したレコードがまだ解決されない

DNS レコードを作成した直後でも、リゾルバーが NXDOMAIN(Non-Existent Domain)や空の応答を返す場合、否定応答がリゾルバーのキャッシュに残っている可能性が高いです。

リゾルバーは、まだ DNS レコードがないホスト名を問い合わせると、空の応答をキャッシュします。すぐには権威ネームサーバーへ再問い合わせしないためです。これをネガティブキャッシュと呼びます。

新しく作成したレコードでは、次のことが起きます。

  • リゾルバーは新しいレコードをまだキャッシュしていないことがあります。代わりに、レコード作成前にそのホスト名が問い合わせられたときに作られた「このレコードは存在しない」という NXDOMAIN キャッシュを使います。
  • このネガティブキャッシュの期間は、作成したレコードの TTL ではなく、ゾーンの SOA レコードの MINIMUM フィールド(RFC 2308)で決まります。リゾルバーごとにキャッシュ期間は異なります。

つまり、次のとおりです。

  • 新しいレコードの TTL を下げても、ネガティブキャッシュが残っているあいだは解決は速くなりません。リゾルバーが新しい TTL を見るのは、古い否定エントリの期限が切れたあとです。
  • ローカル DNS キャッシュの消去は、その端末にしか効きません。上流の再帰リゾルバー(ISP や公開プロバイダーなど)は、否定結果を保持したままです。
  • 伝播が不均一に見えるのは、リゾルバーごとに問い合わせた時刻、ネガティブキャッシュ TTL、キャッシュの有無が違うためです。

正確な動作はリゾルバーごとに異なります。待ち時間の目安は、ゾーンの SOA レコードを問い合わせ、最後の値(MINIMUM フィールド)を確認してください。新しいレコードが一貫して解決されるには、最後の NXDOMAIN 問い合わせからその間隔が過ぎる必要があります。

ネガティブキャッシュが有効かどうかは、存在しない(または新しく作成した)ホスト名を問い合わせて確認できます。

dig +noall +answer +authority mynewrecord.example.com

レコードがまだネガティブキャッシュされている場合、応答の authority セクションにゾーンの SOA レコードが含まれ、TTL がエントリ期限までの残り秒数を示します。

example.com.		256	IN	SOA	...

この例では、ネガティブキャッシュ応答はあと 256 秒続きます。

レコードが正しく解決されることを確認するには、公開リゾルバーのキャッシュを消去してレコードを問い合わせます。これで成功すれば、ほかのリゾルバーもやがて解決し始めます。

さらにデバッグする

レコードが正しく作成されたことを確認するには、Cloudflare の権威ネームサーバーへ直接問い合わせます。

# Find the authoritative nameservers for your zone
dig @1.1.1.1 example.com NS +short
# Query the authoritative nameserver for your new record
dig @hera.ns.cloudflare.com mynewrecord.example.com A

権威ネームサーバーへ直接問い合わせると、リゾルバーのキャッシュを迂回します。レコードが返れば、リゾルバーもやがて同じ結果を返すようになります。レコードが出ない場合は、Cloudflare ダッシュボードにレコードがあることと、ホスト名が完全に一致していることを確認してください。

アカウントの復旧

DNS 設定がある Cloudflare アカウントに入れない場合は、アカウントの復旧 を参照してください。

役に立ちましたか?