Как мне сказать 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
Другие вопросы по тегам