是否可以让 SOA 记录中的 mname 指向 CNAME?例如:
;; ANSWER SECTION:
example.com. 1800 IN SOA ns0.example.com. hostmaster.example.com. 2017071022 3600 300 1814400 600
ns0.example.com. 900 IN CNAME realdnsmasterexample.com.
realdnsmaster.example.com. 900 IN A 10.0.0.1
这样做的原因是为我们的主 DNS 服务器添加一个抽象层,以便我们为主 DNS 角色提供一定的可移植性。我们不会将“ns0”列为各个区域的名称服务器。我找不到任何文档说明 mname 的目标必须是 A 或 AAAA 类型。
答案1
MNAME 字段的使用方式可能与您想象的不同。
以下是引自RFC 7719,DNS 术语。其状态为信息性——它没有定义互联网标准——但它旨在为 DNS 管理员提供与 2015 年实践相关的术语参考。粗体部分是我加的。
主主服务器:“主主服务器在区域的 SOA MNAME 字段中命名,并可选地通过 NS RR 命名”。 (引自 [RFC1996],第 2.1 节)。 [RFC2136] 将“主主服务器”定义为“AXFR/IXFR 依赖关系图根部的主服务器。主主服务器在区域的 SOA MNAME 字段中命名,并可选地通过 NS RR 命名。根据定义,每个区域只有一个主主服务器。” 主主机的概念仅被 [RFC2136] 使用,在 DNS 的其他部分被认为是过时的。
RFC 2136 是 DNS 标准中唯一定义软件流程的 RFC消费字段的值MNAME
。它仅由动态 DNS 客户端软件使用,并且仅有的在用户未指定要执行更新的服务器的情况下。它应该绝不假定指向MNAME
除接受区域动态更新的 DNS 服务器之外的任何东西,因为它是唯一在值错误和/或伪造时会中断的软件。
...但考虑到以上情况,如果你真的是使用MNAME
字段自动检测您的动态更新端点,将其设为 并没有什么错CNAME
。您不会遇到标准禁止将MX
记录或记录指向别名的任何逻辑原因。NS
答案2
可以使用 CNAME。但是,如果您的目的是在 NS 记录中也拥有动态名称服务器,您仍然需要使用您从其处购买域名的任何人更新胶水记录;否则他们将继续指向旧名称服务器,并且您的域名将无法解析。