4つの結果と、それぞれ異なる次の対応
NXDOMAINとは?ドメインが解決されない理由
NXDOMAIN(「存在しないドメイン」)は、DNSが返せる答えのなかでも、特に明確なものの1つです。サーバーがタイムアウトしたことも、上流で何かが誤って設定されていることも意味しません。権威ネームサーバーがある名前について問い合わせを受け、そのゾーンにそのような名前は存在しないと、はっきり答えたということです。通常の意味でのエラーではなく、決定的な否定の答えです。
最もよくある実際の原因
- ドメインのタイプミスです。exmaple.com は example.com とは別の(おそらく未登録の)名前であり、DNSにとってはそれがすべてです。
- ドメインの登録が期限切れになり、更新されませんでした。
- 問い合わせた特定のサブドメインが作成されていません。ルートドメインは問題なく解決されるものの、api.example.com には専用のレコードが与えられていません。
- 移行中にレコードが削除または名前変更され、代わりに何も設定されませんでした。
再試行しても役に立たない理由
DNSのタイムアウトやSERVFAILは一時的なものであることがあります。サーバーが一時的に過負荷だった、ネットワーク経路に一瞬問題があった、といった場合で、少し待ってからの再試行がまさに正しい対応であることも少なくありません。NXDOMAINは違います。その名前が登録されていないという、権威ある直接の表明です。まったく同じクエリを再試行しても、同じ答えが返ります。根本にある登録は何も変わっていないからです。だからこそ、よくできた検索ツールは、NXDOMAINを恒久的な失敗として扱い、成功するはずのないクエリに再試行と時間を費やさずに、すぐに失敗させます。
知っておくべき細かな点が1つあります。NXDOMAINが当てはまるのは名前全体であり、特定のレコードタイプではありません。ドメインにAレコードがあってもAAAAレコードがない場合、AAAAのクエリはNXDOMAINを返しません。空の回答セットを持つ成功の応答を返します(NODATAと表されることもあります)。NXDOMAINが意味するのは、その名前自体に、どの種類のレコードも存在しないということです。
NXDOMAINが本当はNXDOMAINではないとき
ISPや公衆Wi-Fiネットワークのなかには、本物のNXDOMAIN応答を黙って横取りして、独自の応答に差し替えるところがあります。誤入力された、あるいは未登録のドメインを、「これは存在しません」と正直に返す代わりに、広告だらけの検索ページにリダイレクトするのです。これは実際に行われている慣行で、都市伝説ではありません。まさにDNSの応答への信頼を損なうたぐいのものです。こうしたことをするリゾルバーは、存在するドメインについて嘘をついているわけではありませんが、本当のNXDOMAINを、作り出された、収益化された結果の裏に隠しています。行き止まりをリダイレクトする商業的な理由のない、よく知られた中立的な公開リゾルバーに直接問い合わせれば、この問題を完全に回避でき、権威サーバーが実際に返した答えを得られます。
| 結果 | 意味 | 再試行する価値があるか |
|---|---|---|
| NXDOMAIN | その名前は、どのレコードタイプでもまったく存在しない | いいえ。恒久的です |
| NODATA | その名前は存在するが、問い合わせたレコードタイプでは存在しない | いいえ。そのレコードタイプについては、これも恒久的です |
| 横取りされたNXDOMAIN | リゾルバーが、本物の否定応答の代わりに独自のページを差し込んだ | 代わりに、別の中立的なリゾルバーに問い合わせてください |
登録済みのはずのドメインでNXDOMAINが返るとき
最も当惑するのは、登録されていて、最近まで動いていたと分かっているドメインで、NXDOMAINが表示される場合です。上に挙げた単純な原因のほかに、いくつかの状況でこれが起こりえます。ドメインがレジストラ間で移管される際に、ネームサーバーの委任が一時的に不完全な状態になる場合。DNSSECの署名エラーにより、検証リゾルバーが、本来は有効なゾーンを存在しないものとして扱う場合。そして、まれではあるものの知っておく価値があるのが、利用規約違反や不正行為の問題でレジストラによってドメインが停止された場合です。これは外部から見ると、期限切れの登録とまったく同じに見えることがあります。これらはどれも、再試行で直るものではありません。いずれも、DNS自体が明らかにできることではなく、通常はレジストラのダッシュボードやWHOIS検索を通じて、登録と委任の状況を直接確認する必要があります。
ドメインの公開DNSアドレスを調べたい場合は、Domain IP Lookupツールをお試しください。
関連記事
同じドメインでも応答が変わる3つの理由
ジオルーティング
地域ごとに別のエッジサーバー
キャッシュ
TTLもキャッシュも個別
スプリットホライズン
意図的に異なる回答
DNSの応答が場所によって変わる理由
地理的なDNS、CDNのルーティング、リゾルバーのキャッシュ、スプリットホライズン構成から、同じドメインでも応答が異なる理由を理解します。
順に確認する4つの層
DNS
名前を解決
トランスポート
TCPが接続
TLS
証明書を検証
アプリケーション
HTTPが応答
「このサイトにアクセスできません」エラーの原因を切り分ける方法
この汎用的なブラウザーエラーは、互いに無関係な複数の障害を含んでいます。DNSは、最初に関与の有無を確認するのに最も手早い切り分け先です。
「伝播」の正体は、キャッシュの有効期限切れ
0分
変更を保存
0-5分
DNSホストが更新
TTLまで
古い回答がまだキャッシュ中
TTL後
全員に新しい回答が表示
どこにも何も送られず、各キャッシュがコピーの再利用をやめるだけ
DNSの変更が反映されないときの対処法
レコードを更新して待ったのに、まだおかしい。故障を疑う前に、次の項目を順番に確認してください。