中間のサブドメインが存在しない場合でも、深いサブドメインの存在を確認するにはどうすればよいでしょうか?

中間のサブドメインが存在しない場合でも、深いサブドメインの存在を確認するにはどうすればよいでしょうか?

test.example.com存在せず、NXDOMAIN実行するとが返されるdigが、 がsubdomain.test.example.com存在し、同じことを実行すると が返されることがわかっている場合、中間サブドメインが必ずしも存在しない可能性がある場合でも、ディープ サブドメインが存在することを確認する方法はありますか。具体的には、プローブまたはクエリを実行するときに、ディープ サブドメインの存在を示すNOERRORヒントを探しています。subdomain.test.example.com

答え1

test.example.com が存在せず、dig を実行すると NXDOMAIN が返されるが、subdomain.test.example.com が存在することがわかっているとします。

DNS 仕様では、これは不可能です。言い換えると、このゾーンの権威ネームサーバーが壊れていることを意味します。

見るRFC 8020: NXDOMAIN: 実際にはその下には何も存在しない

反復キャッシュ DNS リゾルバが NXDOMAIN 応答を受信すると、それをキャッシュに保存し、そのノードまたはそのノード以下のすべての名前とリソース レコード セット (RRset) は到達不能とみなされます。そのような名前に対する後続のクエリは、NXDOMAIN 応答を引き出す必要があります。

答え2

私はパトリック氏に同意しますが、実際の期待が何であるかについてもう少し明確に説明したいと思います。

subdomain.test.example.comにレコードがあるが にレコードがない場合test.example.com、「 が存在しない」という意味ではありませんtest.example.com。この空のノードの用語は空の非終端記号(場合によっては耳鼻咽喉科)。

空の非終端記号である名前を照会する場合、適切な応答のタイプは次のようになります。ない NXDOMAIN(これは「そのような名前はありません」という意味になります) ではなく、NODATA(これは、ENT の場合、どのタイプを要求したかに関係なく、「要求されたタイプのレコードはありません」という意味になります)。

わかりやすくするために、応答タイプは、セクションのNODATA応答コード です。NOERRORSOAAUTHORITY

そこにできたさらにサブドメインが存在するかどうかは、返された応答が ではないかどうかでNXDOMAIN決まります。この名前にレコードがない (つまり、空の非終端である) ことも判明した場合は、実際に何かが存在するサブドメイン (1 つ以上のレベル下) が存在するはずです。

質問が示唆し、Patrick が説明したもう 1 つの側面は、一部のネームサーバーの実装にバグがあり、NXDOMAINこれが適切な応答ではない状況でも送信することです。
このタイプの実装の欠陥により、一貫性のないデータが提供されることになり、ツリー構造であるはずのものが実際には接続されていない断片に分割されます。この動作は、以前に確認された応答が実際に何かを意味することに依存するリゾルバーの観点からは特に失敗でありNXDOMAIN、DNSSEC で表現することもできません。

関連情報