web-dev-qa-db-ja.com

ルートドメインのCNAMEが他のほとんどのレコードと競合するのはなぜですか?

私が理解している限り、CNAMEレコードは、宛先のAレコードのみを取得するために提供されます。例えば。:

www.example.com CNAME domain.com

ここで、DNSリゾルバーはdomain.comのAレコード(IPアドレス)を検索します。

RFCでは、ベアドメイン名にCNAMEレコードを使用することは許可されていませんが、技術的には可能です。ここのような:

example.com CNAME domain.com

example.com MX mail.example.com(この場合、MXは機能しません)

ただし、技術的にはこのレコードがMXなどの他のレコードとどのように競合するのか、また、たとえばAレコードが競合しない理由はまだわかりません。私は何かを逃したと思います。

ちなみに、標準のCNAMEとは異なる実装を持つCNAMEフラット化、ANAMEまたはALIASレコードがあり、それらは他のレコードと競合しません。

説明してもらえますか?

3
t7e

タイプのエントリ:

alias.example.com. CNAME canonical.example.com.

は、aliasのすべてのレコードをcanonicalからフェッチする必要があることを意味します。 aliasMXレコードを探している場合は、代わりにcanonicalMXレコードを取得する必要があります。したがって、aliasのその他すべてのレコードは無視されます。

この動作はセマンティックであり、技術的なものではありません。 aliasMXレコードを要求することはできますが、サーバーは代わりにCNAMEレコードで応答します。

上記のルールの例外は[〜#〜] dnssec [〜#〜]レコードです。 RRSETレコードの信頼性を証明するため、aliasCNAMEは無視されません。

3