为什么根域的 CNAME 与大多数其他记录冲突?

为什么根域的 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 Flattening、ANAME 或 ALIAS 记录的实现与标准 CNAME 不同,并且它们不会与其他记录冲突。

你能解释一下吗?

答案1

类型条目:

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

表示alias应从 中获取 的所有记录canonical。如果您要查找aliasMX记录,则应检索canonicalMX记录。因此,几乎所有其他 的记录alias都将被忽略。

此行为是语义上的,而非技术上的。您仍然可以请求aliasMX记录,但服务器将使用该CNAME记录进行回答。

上述规则的例外是DNSSEC记录。forRRSET不会alias被忽略,因为它可以证明CNAME记录的真实性。

相关内容