我想使用指令将文件包含在 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 节中针对包含(主)文件和区域文件设置的要求:
- 文件中的所有 RR 都应具有相同的类。
因此,在同一个包含文件中同时拥有 NS 和 MX 记录似乎是被禁止的。
- 区域顶部应该只有一个 SOA RR。
在 $INCLUDE 文件中设置 SOA 记录似乎也是被禁止的。
- 如果有代表团在场并且需要胶水信息,则应该提供。
显然胶水记录是允许的NS
,并且可以将特定A
记录组合在一个包含文件中......
- 区域中权威节点之外的信息应是粘合信息,而不是起源或类似错误的结果。