web-dev-qa-db-ja.com

ディレクトリ内のすべてのゾーンファイルにサービスを提供するようにnsd3に指示するにはどうすればよいですか?

私はこのディレクトリ構造を持っています:

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

現在、DNSを提供するためにソースしたいゾーンファイルごとにnsd3.confにエントリを追加する必要があります。

Nsd3にzones /ディレクトリ内のすべてのゾーンファイルをソースさせる方法はありますか?

ありがとう-vox

3
voxobscuro

通常のNSD3構成ファイルではこれを行うことはできません。NSDはゾーンファイルの命名スキームを認識していません(または気にしません)。そのようなことを実装すると、それはKISS設計原則に違反します。

これを困難にするもう1つの問題は、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
4
schot