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