PowerDNSからKnot2.7に移行しました。
現在、2つのDNSレコードと競合しています。
abcd.**www**.example.com CNAME -> somehost.example.net
*.example.com -> example.com
ここで問題はwww.example.comドメインにあります。 PowerDNSでは、*。example.comとして解決されていました。現在、応答はありません。 www.example.comのAまたはCNAMEレコードを追加すると、すべて問題ありません。問題は、上記で書いた最初のCNAMEに基づいています。
理由と方法を説明していただけますか?
ありがとうございました。
あなたが説明する振る舞いは完全に予想されます。私が驚いたのは、PowerDNSで異なる結果が得られたという主張です(現在のバージョンでこれを再現できる場合は、バグレポートを提出することをお勧めします)。
これが予想される動作である理由は、DNSのワイルドカード機能が、ワイルドカードがワイルドカードエントリの下の存在しない名前(つまり、基本的には、基本的に必要な名前)にのみ展開されるように定義されているためです。それ以外の場合は、NXDOMAIN
応答を取得します)。
ここで直感的に感じられないかもしれないのは、質問の2つのレコードでは、名前www.example.com
は存在する(独自のレコードがない場合でも)と見なされることです。 abcd.www.example.com
(レコードがあります)につながるブランチの中間ノードです。 (レコードのないこのタイプの中間ツリーノードは、空の非終端記号または[〜#〜] ent [〜#〜]と呼ばれます)。www.example.com
という名前が存在するため、ワイルドカードの動作の定義から、*.example.com
の影響を受けないようにする必要があり、NODATA
応答(表示)が返されます。 www.example.com
自体にレコードを追加しない限り、NOERROR
ステータスと権限セクションのSOA
)。