如何在 nsd 名称服务器的区域文件中包含文件(使用 $INCLUDE 指令)

如何在 nsd 名称服务器的区域文件中包含文件(使用 $INCLUDE 指令)

我想使用指令将文件包含在 nsd 名称服务器实现的区域文件中$INCLUDE

当我用nsd-control reload <zone>命令,在日志文件中我注意到有关未找到包含文件的错误。

有人知道如何将文件包含在区域文件定义中吗?NSD 似乎缺少详尽的文档(如 BIND)。

答案1

根据您的评论:

实际上,我使用这个指令:$INCLUDE /usr/local/etc/nsd/zones/forward/COMMON。我希望在一个公共文件中包含 SOA 和 NS、MX 记录等内容,这些内容对于所有区域/子区域都是相同的

我的第一反应是,在主包含文件中设置 SOA 记录是一个坏主意,因为这意味着所有 DNS 区域都将具有相同的版本号,而对一个区域的更新将需要重新加载所有区域。

$INCLUDE 指令的使用建立在RFC 1035其中一个设计目标nsd是完全符合 RFC 标准。

除非您遇到文件系统权限中的简单错误,否则您很可能会遇到 RFC 1035 第 5.2 节中针对包含(主)文件和区域文件设置的要求:

  1. 文件中的所有 RR 都应具有相同的类。

因此,在同一个包含文件中同时拥有 NS 和 MX 记录似乎是被禁止的。

  1. 区域顶部应该只有一个 SOA RR。

在 $INCLUDE 文件中设置 SOA 记录似乎也是被禁止的。

  1. 如果有代表团在场并且需要胶水信息,则应该提供。

显然胶水记录是允许的NS,并且可以将特定A记录组合在一个包含文件中......

  1. 区域中权威节点之外的信息应是粘合信息,而不是起源或类似错误的结果。

相关内容