如何告诉nsd3服务于目录中的所有区域文件?

我有这个目录结构:

\etc\nsd3 |- nsd3.conf |- zones | |- zonefile.com.zone | |- zonefile2.com.zone 

目前我必须为nsd3.conf添加一个条目,以便为每个要为其提供DNS的区域文件。

有没有办法让nsd3源地区/目录中的所有区域文件?

谢谢-vox

你不能用普通的NSD3configuration文件来做到这一点:NSD不知道(或关心)你区域文件的命名scheme。 实施这样的事情将违反它的KISSdevise原则。

另一个困难的问题是,与BIND不同,NSD不会自动从区域文件生成主/从区域传输ACL。 所以你仍然必须指定这些。

但是,你当然可以用你的脚本来生成你的NSDconfiguration(的一部分)。 快速的模拟:

 # 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