同一域名如何同时拥有CNAME记录和TXT记录?

Zac*_*ith 0 domain-name-system nsd

在自定义域上配置 Google 网站时,Google 提供的说明指定为该域创建两条记录 - TXT 和 CNAME 记录。TXT 记录包含一个代码,Google 用户可以使用该代码来验证域所有权,然后再允许用户将该域注册为网站地址。

此外,说明还要求保留 TXT 记录以供验证之用。

据我了解,官方不允许同一地址同时存在 CNAME 和 TXT 记录,但使用 Cloudflare 进行测试后,我发现同一个域可能存在并发 TXT 和 CNAME 记录。大概这对于其他 DNS 管理服务来说也是一样的,因为 Google 协作平台非常受欢迎,而且我想 Google 协作平台 CNAME 条目在世界各地处理得相当频繁。

然而,我最近与网络支持团队合作注册一个 Google 网站,其中 CNAME 和 TXT 记录似乎不允许共存。当同一个域同时存在 CNAME 和 TXT 记录时,软件会抛出配置错误(名称服务器守护程序- 或者至少我认为是这个软件,因为命令是nsd)。

我的观察是否正确,即该nsd软件不支持同一域同时 TXT CNAME 记录的要求?如果是这样,其他 DNS 管理服务(例如 Cloudflare)如何实现这一点?

==编辑==

按照评论中的要求,这里是 Google 协作平台验证请求的屏幕截图

在此输入图像描述

Esa*_*nen 5

在协议级别定义(RFC 2181, 10.1):

如果使用 DNSSEC,别名(CNAME 记录的标签)可能具有 SIG、NXT 和 KEY RR,但可能没有其他数据。也就是说,对于 DNS(任何域名)中的任何标签,以下任一条件均成立:

  • 存在一条 CNAME 记录,可选地附有 SIG、NXT 和 KEY RR,
  • 存在一条或多条记录,但均不是 CNAME 记录,
  • 该名称存在,但没有任何类型的关联 RR,
  • 这个名字根本不存在。

如果任何实现做了其他事情,那就违反了协议。

避免这种情况的一种方法是在 CNAME 记录的目标上添加 TXT 记录:

something.example.com. IN CNAME canonical.example.com.
canonical.example.com. IN TXT   "google-site-verification=*****"
Run Code Online (Sandbox Code Playgroud)