Назад | Перейти на главную страницу

Как мне указать nsd3 обслуживать все файлы зоны в каталоге?

У меня такая структура каталогов:

\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