DNS 解決の失敗とは何ですか? リゾルバー診断

DNS 解決の失敗とは何ですか?

Scrapeless Proxies は、クライアントリクエストをゲートウェイインフラストラクチャ経由でルーティングし、そのインフラが独自のネーミングとその後の接続境界を追加します。

DNS 解決の失敗は、リゾルバーが DNS クエリを完了するために必要な有用な情報を取得できないときに発生します。アプリケーションは、使えるアドレスを生成しないあらゆるルックアップに対して、この表現をより広い意味で用いることがよくあります。厳密な診断のためには、名前または要求レコードが存在しないと伝える正当な否定応答と、解決に失敗した状態を区別してください。

要約

  • 正当な NXDOMAIN または no-data 応答は、リゾルバーが有用なネーミング情報を取得できなかった場合とは異なります。
  • クエリされた名前、レコードタイプ、リゾルバーパスは、ルックアップ調査に必要な証拠です。
  • プロキシワークフローには、クライアント側でのゲートウェイルックアップと、別のネットワーク境界での宛先ルックアップが関与することがあります。
  • DNS 応答はネーミング情報を提供しますが、ソケット到達性、TLS アイデンティティ、ページコンテンツを確立するものではありません。

DNS の失敗には厳密な意味と実務的な意味があります

リゾルバーは、ネーミング情報または意味のある否定応答を取得することでクエリを完了します。有用な情報を取得できないと、解決は失敗したことになります。 DNS 解決失敗の分類 は、この状態を否定応答と明示的に区別します。この区別は、アプリケーションの最上位メッセージが両方の結果をルックアップエラーと呼ぶ場合でも有用です。

アドレスを探しているアプリケーションは、いくつかの異なる結果を経て先に進めなくなることがあります。ホスト名が存在しないかもしれません。名前は存在しても、要求されたアドレスレコードが存在しないかもしれません。リゾルバーがサーバー障害、到達不能な権威サーバー、検証問題に遭遇することもあります。これらを「ドメイン利用不可」にまとめず、基礎となる DNS の結果を保持してください。

この DNS 応答コードとレコード形式 は、これらの結果の語彙を提供します。実務的なインシデント記録では、実際にクエリした名前、要求したレコードタイプ、可能であれば応答コード、使用したリゾルバーを正確に保持してください。「サイトに到達できません」と表示されたスクリーンショットは、多くの場合それらの証拠のほとんどを省いています。

名前解決の問題は、クライアントが意図した接続に返されたアドレスを利用できるようになる前に発生します。DNS が成功したとしても、返されたアドレスが要求されたサービスを受け付けることは保証されません。ルックアップ結果とその後の接続結果を分離し、DNS 応答が有効でもリスナーに到達できない事実を隠さないようにしてください。

否定応答、サーバー障害、無応答クエリ

否定的な DNS 応答は、要求された名前またはレコードに関する情報を伝えます。NXDOMAIN は、その DNS 応答においてクエリされた名前が存在しないことを示します。no-data 結果は、名前は存在するが要求されたレコードタイプが存在しないことを示す場合があります。これらは、アプリケーションが接続に利用できない場合でも意味のある応答です。

サーバー障害応答は、応答した DNS サーバーがクエリを正常に完了できなかったことを示します。タイムアウトは、クライアントが期限内に必要な応答を受信できなかったことを示します。これらの結果には、リゾルバーと権威サーバーへの経路に関する証拠が必要であり、要求されたホスト名が存在しないことを証明するものではありません。

広いランタイムコードを完全な DNS 診断として解釈することは避けてください。ライブラリによっては、DNS 応答コードを公開せずにルックアップ失敗だけを報告するものがあり、一部のネーミングインターフェースはルックアップパスにローカル構成ソースを含めています。元のランタイム詳細を保持し、可能なかぎり DNS 固有の証拠を収集してください。

自分が保有するホスト名であれば、実際に失敗したクエリと権威レコードの状態を比較します。スペル、サブドメイン、レコードタイプ、委任を確認してください。サードパーティのホスト名については、そのゾーンを修正できると決めつけず、観測された結果とスコープを記録します。公開されているネーミング情報を制御しているのは宛先の運用者です。

同じ名前を同じリゾルバーパスでクエリする

リゾルバーの選択も観測の一部です。ワークステーション、コンテナ、ブラウザ、プロキシゲートウェイは、異なるネーミングパスを利用することがあります。ある環境からのクエリが成功しても、別の環境が同じ名前を解決できる、または同じ応答を取得できるとは限りません。

アプリケーションが要求した正確な名前を特定してください。プロキシゲートウェイのホスト名、宛先ホスト名、リダイレクト先は、それぞれルックアップを必要とすることがあります。エラーがゲートウェイに関するものであれば、ウェブサイトの名前だけを確認しても失敗しているクエリを見逃します。リダイレクトによってホストが変わる場合、最初のページは正常に解決できても、次のホストが失敗することがあります。

この DNS リゾルバーと権威サーバーモデル は、クエリの場所が重要である理由を説明します。リゾルバーはキャッシュから応答する場合もあれば、公開された委任に従って情報を取得する場合もあります。エンタープライズ環境では、プライベートリゾルバーが、パブリックリゾルバーでは解決できない承認済みの内部名を公開することもあります。

必要な組織内リゾルバーを、やみくもにパブリックリゾルバーへ置き換えないでください。ポリシーが許す範囲で比較することは役立ちますが、異なる結果には解釈が必要です。内部ネーミング、ネットワークポリシー、スプリット DNS によって、プライベートな応答が意図的に異なるものになっている場合があります。本番で承認されたキャプチャでは、必要とされるネーミングパスを保持してください。

キャッシュは観測結果の違いを一部説明します

DNS キャッシュにより、リゾルバーが時間とともに返す情報は変化します。キャッシュされたレコードや否定応答は、権威ゾーンが変更された後も有効であり続けることがあります。この 否定的 DNS キャッシュルール は、不在情報も肯定的な応答と同様にキャッシュされ得ることを説明します。これにより、「レコードを追加した」は「すべてのクライアントがそのレコードを見られるようになった」とは異なる意味になります。

ローカル状態を消去する前に、観測された回答とそのキャッシュコンテキストを確認してください。ローカルキャッシュの変更では、権威委任やリモートリゾルバに保存された結果を修正できません。クライアント同士で結果が異なる場合は、それぞれが見たリゾルバと回答を記録します。不一致は有用な証拠であり、どちらか一方のクライアントが壊れているという証明ではありません。

自前で管理するマイグレーションでは、期待されるキャッシュ動作を考慮して、レコードと委任の変更を計画してください。名前付けの変更が観測されている間に、旧サービスと新サービスのエンドポイントを検証します。古いアドレスに到達したクライアントは、DNS クエリ自体は正常に完了していても、その後の証明書エラーや接続エラーに遭遇する可能性があります。

モニタリングでは、リゾルバの障害とネガティブ回答を区別してください。name-not-found 結果の増加は、不正な形式の URL フィードや存在しないサブドメインを示す場合があります。server failure の増加は、解決パス側の問題を示すことがあります。レスポンスのカテゴリによって、次にどの証拠を調べるべきかが決まります。

プロキシ側 DNS は別のネーミング境界を追加する

プロキシのワークフローでは、複数の場所で名前解決が行われる場合があります。クライアントは、接続前にプロキシゲートウェイ自体の名前解決を行う必要があるのが一般的です。宛先の名前解決は、プロトコルとクライアント設定によってはプロキシ側で行われます。すべての DNS がローカルで行われていると仮定するのではなく、どこでルックアップが行われているのかを特定してください。

宛先ホストを指定する HTTP CONNECT 交換では、ゲートウェイの先の経路が重要です。ゲートウェイがターゲットの名前解決または接続に失敗した場合、クライアントはローカルリゾルバのエラーではなく、トンネル失敗やプロキシレスポンスを受け取る可能性があります。ゲートウェイ運用者が調査できるように、プロキシレスポンスとリクエストの authority を記録してください。

SOCKS クライアントも、宛先名の扱い方が異なる場合があります。クライアントで選択されたプロキシモードの動作仕様に従ってください。SOCKS プロキシが存在するという事実だけでは、特定のホスト名をローカルクライアントが解決するのかゲートウェイが解決するのかは判断できません。

現在の Scrapeless プロキシエンドポイント構成 は、クライアント側の境界に必要なゲートウェイ値を提供します。認可されたチャネルからそれらの値をコピーしてください。ゲートウェイのホスト名のタイプミスは、コンテンツが利用可能になる前に収集を中断し得る点では同じでも、ターゲットドメインの名前解決失敗とは別種のインシデントになります。

DNS 診断とその後のネットワーク段階の比較

DNS 結果は、リクエスト記録において別個の段階として保持すべきです。これにより、後続の接続エラーが、名前解決の失敗として誤ってラベル付けされることを防ぎます。

観測意味次に見るべき証拠
NXDOMAIN 回答クエリが名前不存在の情報を受け取った正確なホスト名と権威コンテキスト
データなし回答要求されたレコードタイプが存在しない名前の存在とクエリタイプ
サーバ障害またはタイムアウト有用な解決情報が得られなかったリゾルバと権威パスの証拠
アドレスが返されたが接続が失敗DNS は完了したが、その後の段階で失敗したリスナー、経路、TLS、または HTTP の結果

アドレス回答は、「観測された条件の下でリゾルバがアドレスを返した」ことを証明するに過ぎません。そのアドレスが現在健全なアプリケーションに属していることや、ターゲット証明書が要求された名前と一致していることを証明するものではありません。接続拒否、TLS エラー、HTTP レスポンスはそれぞれ別個の証拠が必要です。

コレクタにおいては、ルックアップや先の経路が未解決であるとマークしつつ、ソース URL は保持してください。不成功のクエリを、有効な空のページや削除済みリスティングに変換してはいけません。取得によって、そのリソースのコンテンツ状態は確立されていません。また、フィード自体が誤ったホスト名を生成した場合は、不正な形式の URL を別の入力検証カテゴリに分類してください。

有用なリゾルバインシデント記録を作成する

リゾルバのインシデント記録には、失敗したクエリと観測地点を明記する必要があります。要求されたレコードタイプ、有効なリゾルバ、レスポンスカテゴリ、経過時間、アプリケーションが直接接続していたのかゲートウェイ経由だったのかを含めてください。無関係な閲覧履歴やプライベートなクエリパラメータは収集しないでください。

所有ゾーンの問題をエスカレーションする際には、そのレコードを利用可能にするはずだった想定の権威レコードとデプロイ変更を追加してください。ゲートウェイの問題をエスカレーションする場合は、サニタイズされたチャネル参照と宛先の authority を提供してください。これらの詳細により、チャネルパスワードを開示することなく、運用者を正しいルックアップへと導くことができます。

この cloud proxy routing model は、ゲートウェイと先の接続境界を特定するための関連コンテキストを提供します。 Scrapeless プロキシネットワーク はマネージドルーティングに有用ですが、ルーティングは誤って委任されたターゲットゾーンを修復するものではありません。 current Scrapeless plans は、あなたが定めたトラフィックと経路要件のためだけに確認してください。

コンテンツの問題に進む前にネーミングの問題を解決する

DNS 名前解決の失敗が解消されたと言えるのは、必要なリゾルバパスが、意図したクエリに対して有用で信頼できるネーミング情報を返すようになったときです。有効なネガティブ回答が、「クエリされたリソース名が存在しない」という事実を確立する場合もありますので、その意味を明示的に保ってください。

ソケット、TLS、HTTP のチェックに進むのは、ネーミング段階が理解された後にしてください。各段階を記録することで、ホスト名が欠落しているのか、リゾルバパスが失敗しているのか、正常に解決されたアドレスの背後にあるアプリケーションが利用不能なのか、という違いを保持できます。

より観測可能な Web データワークフローを構築する

文書化された Scrapeless ゲートウェイ設定を使用し、コレクションパイプライン内でクライアント側と先のネーミング結果を別々に記録してください。

今すぐ登録して $5 in free credit — クレジットカード不要.

$5 のクレジットを受け取る →

FAQ

Q: NXDOMAIN は技術的には DNS 名前解決の失敗に当たりますか?

NXDOMAIN は DNS 障害分類における解決失敗というよりも、有用な否定応答です。アプリケーションは利用可能なアドレスが返されなかったために、これを広い意味での lookup エラーラベルの一種としてまとめてしまう場合があります。診断時には、その基になる応答を別個に扱ってください。

Q: なぜあるデバイスはホスト名を解決できるのに、別のデバイスはできないのですか?

デバイスは異なるリゾルバー、キャッシュ、ネーミングポリシー、または実行環境を使用している可能性があります。ホスト名が普遍的に利用不能だと決めつける前に、問い合わせ内容とリゾルバー経路を厳密に比較してください。1 台のワークステーションで名前解決に成功しても、ワーカーやゲートウェイでの名前解決結果を保証するものではありません。

Q: ローカルの DNS キャッシュをクリアすると、権威 DNS の問題は解決しますか?

ローカル DNS キャッシュをクリアしても、権威ゾーンや委任に関する問題は修復されません。これはローカルに保存されたネーミング状態にのみ影響します。どのコンポーネントを修正すべきか判断する前に、権威情報と実際のリゾルバー経路を調査してください。

Q: クライアントの代わりにプロキシが宛先を解決できますか?

プロトコルとクライアント構成に応じて、プロキシが宛先を解決できる場合があります。クライアントは依然としてゲートウェイをローカルで解決する必要があるかもしれません。これらのネーミング境界を個別に記録し、選択したプロキシモードの文書化された動作に従ってください。

参考文献