我们正在为我们的客户管理 DNS 区域,他们正在对……进行一些更改。无论如何,没关系。为我们的客户进行更改的顾问公司向我们发送了一个请求,要求我们将一堆 CNAME 记录(以及一个 SPF 更改,我认为这些用于 DKIM)添加到客户端的 DNS 区域,所有这些 CNAME 记录别名都是一些外部的域不在我们的 DNS 中。我们称它为 hostx.externaldomain.com。
但是对于要添加的三个 CNAME 记录,我们的 DNS 中已经存在一条记录:
- host1.example.com A(IP 地址)
- host2.example.com NS(负载均衡器)
- host3.example.com NS(负载均衡器)
所以第一个是该 IP 地址后面的实际网页,另外两个被委托给我们的负载均衡器,而负载均衡器又为它们提供 A 记录等。我们的 DNS 拒绝添加这三个 CNAME 记录,因为现有的 A和 NS 记录相同的名称,我猜这是预期的。
但是,现在似乎大家都不清楚如何从这里着手。如果我只是删除 host1 A 记录并添加 CNAME 记录(指向不在我们的 DNS 中的外部主机名的别名),https: //host1.example.com 网站不会停止回答吗?
在基本级别上,我了解如果别名也在我们的 DNS 中,CNAME 和 A 将如何工作,而不是:
- example.com A(IP 地址)
- www.example.com A(与上面相同的IP地址)
我可以删除 www A-record 并将其替换为:
- www.example.com CNAME example.com
这意味着www.example.com将只使用为 example.com 设置的相同 IP 地址(带有 A 记录)。
那么这是否意味着无论谁为 CNAME 别名指向的外部主机名 (hostx.externaldomain.com) 管理 DNS,都应该首先将 A 记录添加到他的 DNS (hostx.externaldomain.com A (IP 地址)),其中 IP 地址与我们的 host1 IP 地址指向的地址相同),只有在那之后我才能删除我们的 A 记录并将其替换为 CNAME 记录?
然后我又不确定这将如何工作,因为 hostx.externaldomain.com 已经设置了一些 IP 地址(只需使用 ping 检查),我不知道他们如何通过将 A 记录点设置为 host1 IP 地址来改变它...而且,我们应该设置的所有其他 CNAME 记录都使用相同的别名。
CNAME
记录只能单独存在。您不能拥有像这样的区域数据:一些特殊记录可能并存
CNAME
,以证明它是真实的。DNSSEC 规范要求使用RRSIG
和NSEC
用于身份验证,它可以与 共存CNAME
,请参阅RFC 4034 第 3 节和RFC 4034 第 4 节。有较旧的规范,RFC 2181, section 10.1 , RFC 2535 section 2.3.5,对SIG
,NXT
和KEY
记录也是如此。所有最终应用程序数据都必须附加到作为
CNAME
目标的 RR;请参阅RFC1034 第 3.6.2 节(原始 DNS 规范)。另请注意,该
CNAME
标签不仅继承A
(地址),还继承了目标标签的许多其他特征,特别是TXT
.这个(较旧的)RFC 还包含为 DNSSEC 取消的上述限制的更硬版本:
如果没有 DNSSEC,这个更严格的限制仍然有效。