据我了解,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
。如果您要查找alias
的MX
记录,则应检索canonical
的MX
记录。因此,几乎所有其他 的记录alias
都将被忽略。
此行为是语义上的,而非技术上的。您仍然可以请求alias
的MX
记录,但服务器将使用该CNAME
记录进行回答。
上述规则的例外是DNSSEC记录。forRRSET
不会alias
被忽略,因为它可以证明CNAME
记录的真实性。