我有这个目录结构:
\etc\nsd3
|- nsd3.conf
|- zones
| |- zonefile.com.zone
| |- zonefile2.com.zone
目前,我必须为每个希望提供 DNS 的区域文件在 nsd3.conf 中添加一个条目。
有没有办法让 nsd3 获取区域/目录中的所有区域文件?
谢谢-vox
答案1
您无法使用常规 NSD3 配置文件执行此操作:NSD 不知道(或不关心)您的区域文件命名方案。实施这样的操作会违反其 KISS 设计原则。
另一个使此问题变得困难的问题是,与 BIND 不同,NSD 不会自动从区域文件生成主/从区域传输 ACL。因此,您仍然必须以某种方式指定这些。
但你当然可以使用脚本来生成(部分)NSD 配置。快速模拟:
# nsd.conf:
server:
# static configuration here
include: "/etc/nsd3/zones.conf"
#!/bin/sh
for i in /etc/nsd3/zones/*.zone
do
printf "zone:\nname: %s\nzonefile: %s\n" "$(basename $i zone)" "$i"
done > /etc/nsd3/zones.conf