5

我一直在尝试添加www.mydomain.net别名添加到mydomain.net. 我已经有 Google 自动添加的 MX 记录和 NS 和 SOA 记录。

我收到 cnameResourceRecordSetConflict 错误:

错误代码“cnameResourceRecordSetConflict”:资源记录集“entity.change.additions[0]”无效,因为 DNS 名称“mydomain.net”。可能有一个 CNAME 资源记录集或其他类型的资源记录集,但不能同时拥有。

我理解错误给我的建议,但我怎么能有其他记录呢?我的域上都需要 MX 和 CNAME。

4

2 回答 2

6

您遇到的问题是 DNS 规则的问题,该规则禁止存在另一条记录的 CNAME 记录。

如果 CNAME RR 出现在节点上,则不应出现其他数据;这可确保规范名称及其别名的数据不能不同。此规则还确保可以使用缓存的 CNAME,而无需与权威服务器检查其他 RR 类型。

您正在尝试为@记录创建 CNAME。记录是来源,例如@example.com。源端已经至少有两条记录,SOA(授权开始 - 基本上是关于域的信息)记录和 NS(名称服务器)

因此,您无法为 Origin 创建 CNAME 记录。

出于这个原因,您只能为来源创建 A 记录(为了完成标准的 A 记录查询 - 当然您仍然可以创建 MX 等)。但是,有一些 DNS 提供商具有特殊类型的 ANAME 记录,如果您需要在源处使用 CNAME 记录,则需要切换到其中一个。

于 2016-02-07T21:55:51.927 回答
1

我目前在配置 GCP Cloud DNS 域时遇到了同样的问题。

该错误非常笼统,而且不是很清楚。但是,我在 GitHub 上的kubernetes-sigs/external-dns上发现了一个标题为“Google-CloudDNS:启用 txt 注册表时无法写入 CNAME 记录”的问题。这使得它有点清楚其他记录可能导致问题。

Google 的 DNS错误消息文档提到了这一点,SOA并且NS会与CNAME

cnameResourceRecordSetConflict

资源记录集entity.change.additions[XX]无效,因为 DNS 名称 example.com 可能有一个 CNAME 资源记录集或其他类型的资源记录集,但不能同时拥有。

当您为同一 DNS 名称创建两种类型的资源记录集(例如 A 记录和 CNAME 记录)时,会发生此错误。此错误的常见原因是尝试在区域顶点创建 CNAME 记录。这是不可能的,因为它会与所需的同名 SOA 和 NS 记录发生冲突。

建议的操作:选择其中之一。

但是,两者都感觉不对SOA,并且NS在创建 Cloud DNS 服务时会自动添加记录。

回顾我的 Cloud DNS,我发现TXT我添加了两条记录,用于通过 Google 验证财产,一旦删除TXT记录,我就能够添加CNAME记录。

我希望它对未来的开发者有所帮助。

于 2021-07-13T12:12:42.250 回答