为什么 相同主机同一线路下TXT和CNAME记录不能共存
答案:4 悬赏:50 手机版
解决时间 2021-04-16 03:15
- 提问者网友:抽煙菂渘情少年
- 2021-04-15 05:57
为什么 相同主机同一线路下TXT和CNAME记录不能共存
最佳答案
- 五星知识达人网友:渊鱼
- 2021-04-15 07:03
由于CNAME记录具有排他性,dns查找过程中碰到CNAME会递归重启查询。
因而当TXT和CNAME同时存在时,若先被查询到的记录是CNAME,那么这条TXT记录就不能被查询到了。
这个是有标准规范的,如下:
CNAME 记录是 DNS 里的一种特殊的记录类型,一般理解为“别名”记录。之所以说其 特殊,请看下面的例子。假设为 DNS 域 demo.only 注册了下面的两条记录:
下面是在递归服务器(不能使用该域的授权服务器)上 dig 查询的结果(省略了部分 不重要的信息):
可以看到 MX 记录查询的结果为其 CNAME 记录值所配置的 MX 记录。 但如果在递归服务器的 CNAME 记录 TTL 过期后再来做查询,只是把查询的顺序颠倒, (即先查询 MX 记录,再查询 CNAME 记录)则有可能得到正确的结果。
在上面的测试过程中授权服务器和递归服务器都是有着大量用户的知名 DNS 服务提 供商,因此,程序出现 bug 的可能性可以忽略。那么,怎么解释这种现象呢?
权威的说明则请参考相关的 RFC 文档。部分原文摘抄如下:
中文说明如下:
递归 DNS 服务器在查询某个常规域名记录(非 CNAME 记录)时,如果在本地 cache 中已有该域名有对应的 CNAME 记录,则会开始用该别名记录来重启查询。 上文中第一次 dig 查询 MX 记录即对应于这种情况。如果直接在授权服务器上查询, 则总是能得到预期的结果。或者简单的理解为 CNAME 的优先级更高。
已经注册了 CNAME 类型的域名记录不能再注册除 DNSSEC 相关类型记录 (RRSIG, NSEC 等)之外的其他类型记录,包括(MX, A, NS 等记录)。
这就是本文最开始 dig 查询 MX 记录拿不到预期结果的原因。从用户的角度来说, 对任何记录(尤其是 @ 记录,因为该记录用到 MX 的可能性非常大)的配置如果 用到了 CNAME,则需要知道该域名不可再配置 MX 等其他记录。从 DNS 服务提供 商的角度来说,需要显示的告知用户这样配置的风险,警示和教育用户。
因而当TXT和CNAME同时存在时,若先被查询到的记录是CNAME,那么这条TXT记录就不能被查询到了。
这个是有标准规范的,如下:
CNAME 记录是 DNS 里的一种特殊的记录类型,一般理解为“别名”记录。之所以说其 特殊,请看下面的例子。假设为 DNS 域 demo.only 注册了下面的两条记录:
下面是在递归服务器(不能使用该域的授权服务器)上 dig 查询的结果(省略了部分 不重要的信息):
可以看到 MX 记录查询的结果为其 CNAME 记录值所配置的 MX 记录。 但如果在递归服务器的 CNAME 记录 TTL 过期后再来做查询,只是把查询的顺序颠倒, (即先查询 MX 记录,再查询 CNAME 记录)则有可能得到正确的结果。
在上面的测试过程中授权服务器和递归服务器都是有着大量用户的知名 DNS 服务提 供商,因此,程序出现 bug 的可能性可以忽略。那么,怎么解释这种现象呢?
权威的说明则请参考相关的 RFC 文档。部分原文摘抄如下:
中文说明如下:
递归 DNS 服务器在查询某个常规域名记录(非 CNAME 记录)时,如果在本地 cache 中已有该域名有对应的 CNAME 记录,则会开始用该别名记录来重启查询。 上文中第一次 dig 查询 MX 记录即对应于这种情况。如果直接在授权服务器上查询, 则总是能得到预期的结果。或者简单的理解为 CNAME 的优先级更高。
已经注册了 CNAME 类型的域名记录不能再注册除 DNSSEC 相关类型记录 (RRSIG, NSEC 等)之外的其他类型记录,包括(MX, A, NS 等记录)。
这就是本文最开始 dig 查询 MX 记录拿不到预期结果的原因。从用户的角度来说, 对任何记录(尤其是 @ 记录,因为该记录用到 MX 的可能性非常大)的配置如果 用到了 CNAME,则需要知道该域名不可再配置 MX 等其他记录。从 DNS 服务提供 商的角度来说,需要显示的告知用户这样配置的风险,警示和教育用户。
全部回答
- 1楼网友:鱼忧
- 2021-04-15 09:15
主机名全部使用@就能共存了
- 2楼网友:你哪知我潦倒为你
- 2021-04-15 08:20
根据DNS解析协议标准,当TXT与CNAME同时存在会触发CNAME的排他性标准,导致DNS会解析错乱。
因为TXT一般为验证性解析,如果您是需要利用TXT进行相关验证的话可以先做TXT解析记录,等到TXT解析记录验证成功了再进行CNAME添加。
CDN生效与CNAME有关与TXT无关。根据上述操作则可以生效,若TXT与CNAME同时操作则可能无法生效。
因为TXT一般为验证性解析,如果您是需要利用TXT进行相关验证的话可以先做TXT解析记录,等到TXT解析记录验证成功了再进行CNAME添加。
CDN生效与CNAME有关与TXT无关。根据上述操作则可以生效,若TXT与CNAME同时操作则可能无法生效。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯