DNS CNAME 无限递归

DNS CNAME 无限递归

DNS 可以处理 CNAME 字段中的递归。但我只是想知道,如果我在为 example.com 域配置 DNS 时执行这样的操作,会发生什么:

a   IN      CNAME  b.example.com
b   IN      CNAME  a.example.com

这真的会引起无限递归吗?

答案1

虽然可以使用CNAME记录创建循环,但这是一种可以预期发生的错误,并且规范一直明确,解析器应该检测到这种情况并中止。

当然,根据稳健性原则,域软件在出现 CNAME 链或循环时不应该失败;应该遵循 CNAME 链,并将 CNAME 循环表示为错误。

https://www.rfc-editor.org/rfc/rfc1034#section-3.6.2

答案2

这完全取决于您使用的客户端。智能客户端会检测到循环,而普通客户端可能会继续进行递归查找,并访问您计算机的 DNS 缓存。

相关内容