是否有可能 DNS 数据包包含多个 SOA 资源记录

Hos*_*ari 0 domain-name-system rfc

我已阅读RFC 1034RFC 1035以了解 DNS 协议标准。我正在寻找 SOA 资源记录发生的限制。我知道 A、AAAA、CNAME、NS、MX、TXT RR 没有限制。SOA呢?

Tom*_*iie 5

每个区域只能有一个 SOA 记录。拥有多个可能相互矛盾的 SOA 记录是没有意义的。

RFC 1034状态在页码。20(强调我自己的):

虽然在逻辑上是权威数据的一部分,但描述区域顶级节点的 RR 对区域的管理尤其重要。这些 RR 有两种类型:列出的名称服务器 RR,每个 RR 一个,区域的所有服务器,以及描述区域管理参数的单个 SOA RR

RFC 1035更加明确(第 35 页):

区域顶部应该存在一个 SOA RR。

编辑:正如评论中指出的,问题是关于 DNS 数据包,而不是区域文件。和RFC 5936个状态(第11页):

传输区域内容的 AXFR 响应将由一系列(可能是一系列长度为 1)的 DNS 消息组成。在这样的系列中,第一条消息必须以区域的 SOA 资源记录开始,最后一条消息必须以相同的 SOA 资源记录结束。中间消息不得包含 SOA 资源记录。

因此,AXFR 传输将包括每个数据包的两个SOA 记录。

  • 但是请注意,这并不一定意味着您永远不会收到包含多个 SOA 记录的 DNS 数据包。如果这样做,则表明 DNS 服务器出现问题,您可以合法地拒绝处理数据包 - 只是不要让它导致缓冲区溢出或任何事情。:-) (3认同)