У меня такая структура каталогов:
\etc\nsd3
|- nsd3.conf
|- zones
| |- zonefile.com.zone
| |- zonefile2.com.zone
В настоящее время мне нужно добавить запись в nsd3.conf для каждого файла зоны, для которого я хочу использовать DNS.
Есть ли способ получить от nsd3 все файлы зон в каталоге zone /?
Спасибо -vox
Вы не можете сделать это с обычным конфигурационным файлом 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