NSD/BIND 区域配置文件中的条目/记录类型的顺序是否重要?

NSD/BIND 区域配置文件中的条目/记录类型的顺序是否重要?

我正在尝试简化向 NSD 安装添加 DNS 记录的过程。它看起来使用与 BIND 相同的语法,因此这个问题可能与两者都相关。

我看到当前区域文件中的约定似乎是将 SOA、MX、NS、A、CNAME、TXT 记录分成区域配置文件中的自己的节,在我们的例子中,用分号将一个节与下一个节分隔开。

我相信这只是为了美观,唯一真正的要求是 SOA 是第一个记录,之后的顺序无关紧要。

我想知道是否有其他人可以验证这个假设

答案1

在我遇到的任何 dns:es 中,资源记录的顺序(在强制条目之后)似乎从未在功能上产生影响。当存在依赖关系时,例如 cname 记录链接到 a 记录,可以通过将解析分为两个查询来解决:一个接收 cname,另一个接收 a 记录。

由于 bind 和 nsd 在启动时将整个区域文件加载到内存中,因此顺序对于解析性能似乎也不重要。

但是,区域文件大小是影响完全加载时间和查询响应时间的一个因素: https://www.icann.org/en/about/staff/security/ssr/root-zone-augementation-analysis-17sep09-en.pdf

答案2

伊维萨克 RFC 1033较旧的 DNS RFC 之一(DNS 维基百科页面上有一个很好的列表)指出 SOA 记录表示新区域的开始,但区域中记录的顺序不需要保留。

因此,这主要是美学和惯例。尽管工具可能依赖于这些惯例。

相关内容