example.com
のDNSレコードにホストleaf.intermediate.example.com
とexample.com
があるが、intermediate.example.com
自体のレコードがない場合、状況によって問題が発生するか、またはなぜかスタイルが悪いのかエチケット?私はこのようにWebサーバーをセットアップしており、すべてが正常に動作しているように見えますが、不足しているものがあるかどうかを確認したいだけです。
Khaledの回答を誤解している可能性もありますが、中間レコードの欠如は、サブゾーン化された名前の解決に関する問題ではありません。このDig出力は、teaparty.net
またはそのサブゾーンの権威あるDNSサーバーからのものではなく、これらに向けられたものでもないことに注意してください。
[me@nand ~]$ Dig very.deep.Host.with.no.immediate.parents.teaparty.net
[...]
;; ANSWER SECTION:
very.deep.Host.with.no.immediate.parents.teaparty.net. 3600 IN A 198.51.100.200
確かに、あなたは自分でDig
を実行してその答えを得ることができるはずです-teaparty.net
は私の管理下にある実際のドメインであり、実際にはそのA
レコードが含まれています。 very
とteaparty.net
の間のゾーンのいずれにもレコードがないこと、および上記のホスト名の解決に影響がないことを確認できます。
権限のあるDNSサーバーに直接クエリを実行している場合は、問題なく回答が得られます。
ただし、有効なキャッシュを持たない別のDNSサーバーを介してクエリを実行している場合は、有効な回答が得られません。 intermediate.example.com
をクエリすると、NXDOMAIN
エラーが発生します。
質問に直接答えるために、実際に使用していない中間名のレコードを追加する必要はありませんが、それらの名前が存在しないという意味ではありません。
これらの名前が存在するかどうかに関しては、それは実際には完全に別の質問であり、簡単で直感的な答えを提供したいと思っています。
つまり、DNSはツリー構造であり、ドメイン名の各ラベルはツリーノードです。たとえば、www.example.com.
には、www
、example
、com
、および ``(ルートノード)というラベルがあり、ルートへのパスを形成するツリーノードです。
DNSのこの基本的な性質を非自明にしているのは、ほとんどの場合、DNSデータを管理するときにツリーが表示されず、通常はツリーノード自体を直接操作しないことです。代わりに、通常、どのレコードのフラットなリストがあります。異なるドメイン名に存在するはずのデータ(上記のように、事実上ツリーパス)。
このフラット化されたリストが使用されると、DNSサーバーソフトウェアは既存のレコードに基づいてツリーを構築し、レコードがあるノード間にギャップがある場合(たとえば、foo.bar.example.com.
とexample.com.
のレコードはあるがbar.example.com.
はない)、これらは単に空のツリーノードと見なされます。つまり、これらは実際に存在するドメイン名/ノードであり、ツリーは壊れていません。これらのノードにはデータが関連付けられていません。
その結果、これらの空のノードの1つをクエリすると、NODATA
応答(NOERROR
status + SOA
in authentication section)が返され、要求されたレコードタイプが存在しなかったことが示されます。このノードで。代わりに、実際には存在しない名前を照会すると、要求されたドメイン名がツリーに存在しないことを示すNXDOMAIN
応答が返されます。
さて、重要な詳細が必要な場合は、Patrick Mevzekの非常に詳細な答えを読んでください。