nsd.conf

НАЗВАНИЕ
ОБЗОР
ОПИСАНИЕ
ПРИМЕР
ФОРМАТ ФАЙЛА
КОНФИГУРАЦИЯ NSD ДЛЯ ОПЫТНЫХ ПОЛЬЗОВАТЕЛЕЙ BIND9
ФАЙЛЫ
СМОТРИТЕ ТАКЖЕ
АВТОРЫ
АВТОР ПЕРЕВОДА
НЕПОЛАДКИ

НАЗВАНИЕ

nsd.conf − файл конфигурации NSD

ОБЗОР

nsd.conf

ОПИСАНИЕ

nsd.conf используется для настройки nsd(8). Формат файла состоит из атрибутов и их значений. Некоторые атрибуты содержат внутри себя другие атрибуты. Способ записи: атрибут: значение.

Коментарии начинаются со знака # и продолжаются до конца строки. Пустые строки игнорируются, как и пробелы в начале строки. Для имён с пробелами можно использовать кавычки, например "file name.zone".

nsd.conf указывает опции для сервера nsd, файлы зон, первичные и вторичные зоны.

ПРИМЕР

Ниже показан пример короткого файла nsd.conf.

# Пример файла nsd.conf для зоны example.com
# Это коментарий.
server:

server−count: 1 # использовать указанное количество ядер процессора
database: "" # или использовать "/var/lib/nsd/nsd.db"
zonelistfile: "/var/lib/nsd/zone.list"
username: nsd
logfile: "/var/log/nsd.log"
pidfile: "/run/nsd/nsd.pid"
xfrdfile: "/var/lib/nsd/xfrd.state"

zone:

name: example.com

zonefile: /etc/nsd/example.com.zone

zone:

# этот сервер − мастер, а 192.0.2.1 − вторичный

name: masterzone.com
zonefile: /etc/nsd/masterzone.com.zone
notify: 192.0.2.1 NOKEY
provide−xfr: 192.0.2.1 NOKEY

zone:

# этот сервер − вторичный, а 192.0.2.2 − мастер

name: secondzone.com
zonefile: /etc/nsd/secondzone.com.zone
allow−notify: 192.0.2.2 NOKEY
request−xfr: 192.0.2.2 NOKEY

Затем, используйте kill −HUP для перезагрузки изменений из файлов мастер−зон. И используйте kill −TERM, чтобы остановить сервер.

ФОРМАТ ФАЙЛА

Между ключевыми словами должны быть пробелы. Ключевые слова атрибутов оканчиваются двоеточием ’:’. За атрибутом следуют вложенные в него атрибуты или значение.

На верхнем уровне доступны только server:, key:, pattern: и zone:. За ними следуют их атрибуты или начало нового предложения server:, key:, pattern или zone:. За атрибутом zone: следуют опции зоны. За атрибутом server: следуют глобальные настройки сервера NSD. Атрибут key: используется для определения ключей аутентификации. За атрибутом pattern следуют опции для зон, которые используют этот шаблон.

Файлы можно включать при помощи директивы include:. Она может встретиться в любом месте и в качестве аргумента ожидает имя одного файла. Обработка продолжается таким образом, как если бы текст из включённого файла был скопирован в файл конфигурации в это место. Если используется chroot, нужно использовать абсолютное имя файла (с добавленным в начале chroot), чтобы это включение могло быть обработано перед и после перехода приложения в chroot−среду (и зная, что это chroot). Можно воспользоваться ’*’ для включения файлов, совпадающих с шаблоном, например, "foo/nsd.d/*.conf". Также можно использовать ’?’, ’{}’, ’[]’ и ’~’, см. glob(7). Если нет файлов, подходящих под шаблон, это не считается ошибкой.

Опции сервера
Глобальные опции (если они не перекрыты настройками, заданными в командной строке NSD) берутся из раздела server:. Раздел server: может быть только один.
ip−address:
<ip4 или ip6>[@порт]

NSD будет ожидать подключений на указанном IP−адресе. Опция может быть указана несколько раз для ожидания подключений на нескольких IP−адресах. Дополнительно может быть задан номер порта. Если ни один адрес не указан, NSD будет ожидать подключений на всех интерфейсах. Такое же значение имеет опция командной строки −a.

interface: <ip4 или ip6>[@порт]

То же, что и IP−адрес (для облегчения совместимости с unbound.conf).

ip−transparent: <yes или no>

Разрешить NSD привязываться к нелокальным адресам. Полезно для прослушивания NSD IP−адресов, которые (ещё) не добавлены к сетевому интерфейсу, так что он сможет отвечать сразу при добавлении адреса. По умолчанию − no (нет).

debug−mode: <yes или no>

Включает режим отладки NSD, не выполняет системный вызов fork для отделения процесса от терминала. По умолчанию отключен (no). Такое же значение имеет опция командной строки −d.

do−ip4: <yes или no>

Если yes, NSD ожидает подключений IPv4. По умолчанию − yes.

do−ip6: <yes или no>

Если yes, NSD ожидает подключений IPv6. По умолчанию − yes.

database: <имя_файла>

По умолчанию используется файл /var/lib/nsd/nsd.db. Указанный файл используется для хранения скомпилированной информации зон. Такое же значение имеет опция командной строки −f. Если задано значение "", то база данных не используется. При этом используется меньше памяти, но обновления зон не (сразу) попадают на диск.

zonelistfile: <имя−файла>

По умолчанию используется /var/lib/nsd/zone.list. Указанный файл используется для хранения динамически добавляемого списка зон. Список записывается NSD при добавлении или удалении зон. Это текстовый файл с именами зон или шаблонами имён зон в каждой строке. Этот файл используется командами nsd−control addzone и delzone.

identity: <строка>

Возвращает указанный идентификатор в ответ на запрос CH TXT ID.SERVER. По умолчанию возвращается имя узла, полученное при помощи системного вызова gethostname(3). Такое же значение имеет опция командной строки −i.

nsid: <строка>

Добавляет указанный идентификатор nsid к разделу EDNS ответа, если в пакете с запросом выставлен NSID EDNS. Идентификатор является последовательностью шестнадцатеричных символов или, в случае префикса ascii_, строкой ASCII.

logfile: <имя_файла>

Имя файла для журнала сообщений. По умолчанию сообщения отправляются на стандартный поток диагностики или в syslog (с использованием средства LOG_DAEMON). Такое же значение имеет опция командной строки −l.

server−count: <количество>

Запуск указанного количества серверов NSD. По умолчанию 1. Такое же значение имеет опция командной строки −N.

tcp−count: <количество>

Максимальное количество одновременных активных TCP−подключений каждого сервера. По умолчанию − 100. Такое же назначение имеет опция командной строки −n.

tcp−query−count: <количество>

Максимальное количество запросов, обслуживаемых на одном TCP−подключении. По умолчанию 0, что означает отсутствие ограничения.

tcp−timeout: <число>

Заменяет значение таймаута TCP по умолчанию. Эта настройка также влияет на передачи зон через TCP.

ipv4−edns−size: <размер>

Предпочитаемый размер буфера EDNS для IPv4.

ipv6−edns−size: <размер>

Предпочитаемый размер буфера EDNS для IPv6.

pidfile: <имя_файла>

Использовать указанный PID−файл вместо специфичного для платформы, обычно − /var/run/nsd/nsd.pid. Такое же назначение имеет опция командной строки −P.

port: <номер>

Отвечать на запросы, поступающие на указанный порт. По умолчанию − 53. Такое же значение имеет опция −p.

statistics: <число>

Если не указано, статистика не собирается. Статистика выводится через указанный интервал времени в секундах. Такое же значение имеет опция командной строки −s.

chroot: <каталог>

NSD изменит корневой каталог при запуске на указанный каталог. Отметим, что при указании где−либо в файле конфигурации абсолютного имени файла внутри chroot−среды, вы можете добавить слева путь chroot. Таким образом можно переключать опцию в on (включено) и off (выключено) без каких−либо изменений в конфигурации. Задайте значение равное "" (пустая строка) для отключения смены корневого каталога. По умолчанию используется "". То же, что и опция командной строки −t.

username: <имя_пользователя>

После открытия сокета для ожидания запросов сбросить привилегии, работая от пользователя с указанным именем. Можно указывать имя пользователя, его идентификатор или идентификатор пользователя и группы, разделённые точкой. Такое же значение имеет опция командной строки −u.

zonesdir: <каталог>

Изменить рабочий каталог на указанный до обращения к файлам зон. Также, NSD интерпретирует значения опций database, zonelistfile, logfile, pidfile, xfrdfile, xfrdir, server−key−file, server−cert−file, control−key−file и control−cert−file как заданные относительно этого каталога. Задайте значение "" (пустая строка) для отключения смены рабочего каталога. По умолчанию используется каталог "/etc/nsd".

difffile: <имя_файла>

Игнорируется, для совместимости с файлами конфигурации NSD3.

xfrdfile: <имя_файла>

Таймаут SOA и демон передачи зон в NSD сохраняют своё состояние в этот файл. Состояние снова считывается после перезапуска. Файл состояния может быть удалён без особых последствий, но отметки времени зон будут потеряны. Если настроено значение "", файл состояния не используется, а все подчинённые зоны проверяются на предмет обновлений в процессе запуска. За более подробной информацией обратитесь к разделу, описывающему поведение NSD при устаревании зон. По умолчанию используется файл /var/lib/nsd/xfrd.state.

xfrdir: <каталог>

Передачи зон сохраняются здесь перед обработкой. Созданный каталог удаляется при завершении NSD. По умолчанию − /tmp.

xfrd−reload−timeout: <число>

Если значение равно −1, xfrd не будет включать перезагрузку зоны после передачи. Если значение положительное, то xfrd включит перезагрузку зоны после передачи, а затем подождёт указанное количество секунд перед новой перезагрузкой. Это значение предписывает выполнять перезагрузку не чаще раза за указанное количество секунд. По умолчанию − 1 секунда.

verbosity: <уровень>

Значение указывает уровень подробности для не отладочных сообщений. По умолчанию 0. 1 даёт больше информации о входящих уведомлениях и переносах зон. 2 выводит список встретившихся незначительных предупреждений.

hide−version: <yes или no>

Запрещает NSD отвечать строкой версии на запросы класса CHAOS.

log−time−ascii: <yes или no>

Отметки времени в журнале в текстовом виде, а если указано "no" (нет), то время − отметка времени Unix в секундах. По умолчанию − yes (да). При помощи этой настройки задаётся формат при журналировании в файл. При выводе через syslog время форматируется самим syslog.

round−robin: <yes или no>

Включает карусельную ротацию записей в ответе. При этом меняется порядок записей в ответе и это может сбалансировать нагрузку между ними. По умолчанию − off (выключено).

zonefiles−check: <yes или no>

Заставляет NSD проверять время изменения файлов зон при запуске или получении сигнала HUP. Если отключить, он будет запускаться быстрее (в случае большого количества зон будет меньше дисковой активности). По умолчанию включено (yes). Команда nsd−control перезагружает файлы зон не обращая внимания на эту опцию.

zonefiles−write: <секунды>

Записывать изменённые вторичные зоны в их файлы зон каждые N секунд. Если зона (или шаблон) описан файлом зоны "", то он не будет записываться. Обновления, полученные при передаче зоны, будут записаны в её файл зоны. По умолчанию − 0 (отключено), если база данных указана и 3600 (1 час), если база данных − "". База данных также фиксирует содержимое переданной зоны. Вы можете настроить, чтобы это выполнялось по умолчанию, поместив в файле конфигурации выражение zonefiles−write: после выражения database:

rrl−size: <количество−ячеек>

Опция задаёт размер хэш−таблицы. По умолчанию − 1000000. Большее количество ячеек использует больше памяти и уменьшает вероятность коллизий хэша.

rrl−ratelimit: <запросов−в−секунду>

Максимальное количество запросов в секунду (от одного источника). По умолчанию 200 запросов в секунду. Если задан 0, то лимит отключен. Также задаёт whitelist−ratelimit значение 0 для отключения обработки лимита запросов в секунду. Если вы задали подробность сообщений 2, в журнал попадут заблокированные и разблокированные подсети. Заблокированные запросы блокируются и принимаются несколько запасных TCP запросов.

rrl−slip: <количество_пакетов>

Эта опция управляет количеством пакетов, пропускаемых перед обратной отсылкой ответа SLIP (ответа с битом "truncated" − обрезано, установленным в единицу). 0 отключает отправку пакетов SLIP, 1 означает на каждый вопрос оправлять ответ SLIP.

rrl−ipv4−prefix−length: <подсеть>

Длина префикса IPv4. Адреса, группируемые в сетевые блоки.

rrl−ipv6−prefix−length: <подсеть>

Длина префикса IPv6. Адреса, группируемые в сетевые блоки.

rrl−whitelist−ratelimit: <запросов−в−секунду>

Максимальное количество запросов в секунду типов запросов для источника, который был помещён в белый список. По умолчанию − 2000 запросов в секунду. При помощи опции rrl−whitelist можно задать определённые запросы, приём которых будет ограничиваться этим количеством запросов в секунду, а не обычным ограничением. Значение 0 снимает ограничения.

Удалённое управление
Раздел remote−control: используется для настройки опций, используемых утилитой nsd−control(8) для передачи команд в работающий сервер NSD. Отключено по умолчанию, а по умолчанию прослушивается localhost. Утилита использует TLS через TCP, когда сервер и клиент аутентифицируют друг друга самоподписанными сертификатами. Самоподписанные сертификаты могут быть сгенерирован с помощью утилиты nsd−control−setup. Файлы ключей читаются NSD перед сменой корневого каталога и перед сбросом прав пользователя, так что они могут находиться за пределами chroot−среды и доступны для чтения только суперпользователю.
control−enable:
<yes или no>

Включить удалённое управление. По умолчанию − no (выключить).

control−interface: <ip4 или ip6>

NSD будет ожидать подключений на указанных IP−адресах для обслуживания запросов управления (на TCP−порту). Опция может быть указана несколько раз для ожидания подключений на нескольких IP−адресах. Для использования всех доступных IP−адресов используйте адреса 0.0.0.0 и ::0. Если ни один адрес не указан, но управление включено при помощи control−enable, то NSD будет ожидать управляющих подключений на локальном интерфейсе с адресами 127.0.0.1 и ::1.

control−port: <номер>

Номер порта для службы удалённого управления. По умолчанию − 8952.

server−key−file: <имя_файла>

Путь к приватному ключу сервера, по умолчанию − /etc/nsd/nsd_server.key. Этот файл генерируется при помощи утилиты nsd−control−setup. Этот файл используется сервером nsd, но не nsd−control.

server−cert−file: <имя_файла>

Путь к самоподписанному сертификату сервера, по умолчанию − /etc/nsd/nsd_server.pem. Это файл, сгенерированный утилитой nsd−control−setup. Этот файл используется сервером nsd, а также nsd−control.

control−key−file: <имя_файла>

Путь к приватному ключу клиента управления, по умолчанию − /etc/nsd/nsd_control.key. Этот файл генерируется утилитой nsd−control−setup. Этот файл используется nsd−control.

control−cert−file: <имя_файла>

Путь к сертификату клиента управления, по умолчанию − /etc/nsd/nsd_control.pem. Этот сертификат подписывается сертификатом сервера. Этот файл генерируется утилитой nsd−control−setup. Этот файл используется nsd−control.

Опции шаблонов
Раздел pattern: используется для обозначения набора опций, применяемых к некоторым зонам. Доступны те же опции, что и для разделов зон.
name:
<строка>

Имя шаблона. Это строка с учётом регистра. Имена шаблонов, начинающиеся с "_implicit_" (подразумеваемый), являются внутренними и используются для зон, у которых шаблон не указан (они определены прямо в nsd.conf).

include−pattern: <имя−шаблона>

Опции из указанного шаблона включаются в это место шаблона. Указанный шаблон должен быть определён раньше этого.

<опция зоны>: <значение>

Опции зоны, например, zonefile, allow−notify, request−xfr, allow−axfr−fallback, notify, notify−retry, provide−xfr и outgoing−interface. Опции применяются к шаблонам и зонам, которые используют этот шаблон.

Опции зон
Опции каждой зоны должны быть указаны в одном выражении zone:. Элементы списка управления доступом можно указывать многократно для указания нескольких серверов. Эти элементы нужно добавлять явным образом.

Для зон, которые настроены в файле конфигурации nsd.conf, опции зафиксированы (в подразумеваемом шаблоне только для них) и не могут быть удалены при помощи delzone, но их можно удалить из файла конфигурации и заменить шаблоном.
name:
<строка>

Имя зоны. Это верхнее доменное имя зоны. Может оканчиваться точкой (в случае полностью квалифицированного доменного имени − FQDN). Например "example.com", "sub.example.net.". Этот атрибут должен присутствовать в каждой зоне.

zonefile: <имя−файла>

Файл, содержащий информацию зоны. Если этот атрибут указан, он используется для чтения и записи содержимого зоны. Если атрибута нет, он предохраняет зону от перезаписи.

Строка обрабатывается так, что одна строка может использоваться (в шаблоне) для слегка отличающихся зон. Если метка или символ не существуют, символ процента при выводе заменяется на точку (то есть на третий символ в двухсимвольном доменном имени).

%s заменяется на имя зоны.

%1 заменяется на первый символ имени зоны.

%2 заменяется на второй символ имени зоны.

%3 заменяется на третий символ в имени зоны.

%z заменяется на домен верхнего уровня из имени зоны.

%y заменяется на следующую метку после домена верхнего уровня.

%x заменяется на следующую−следующую метку после домена верхнего уровня.

allow−notify: <спецификация−IP−адреса> <имя−ключа | NOKEY | BLOCKED>

Список управления доступом. Указанным (первичным) адресам разрешается отправлять уведомления на этот (вторичный) сервер. Уведомления от адресов не в списке или адресов, помеченных BLOCKED, отклоняются. Если указано NOKEY, подпись TSIG не требуется. BLOCKED подавляет другие записи, а другие записи сканируются на совпадение в порядке их указания.

Спецификация IP−адреса может быть простым IP−адресом (IPv4 или IPv6), подсетью вида 1.2.3.4/24, сопровождаться маской вида 1.2.3.4&255.255.255.0 или диапазоном вида 1.2.3.4−1.2.3.25. Также можно добавить порт при помощи суффикса @число, например, 1.2.3.4@5300 или 1.2.3.4/24@5300 в случае порта 5300. Отметим, что в спецификации IP−адреса возле символов /, &, @ и − пробелы не используются.

request−xfr: [AXFR|UDP] <IP−адрес> <имя−ключа | NOKEY>

Список управления доступом. На указанные (мастер) адреса отправляются запросы AXFR/IXFR на обновление. Номер порта может быть добавлен при помощи суффикса @номер, например, 1.2.3.4@5300. Указанный ключ используется в процессе AXFR/IXFR.

Если задана опция AXFR, сервер не будет использовать запросы IXFR, а будет использовать только запросы AXFR. Это позволяет вторичному NSD использовать мастер−сервер под управлением NSD. Если опция AXFR не указана, ведущему серверу отправляются и IXFR−запросы и AXFR−запросы.

Если задана опция UDP, вторичный сервер буде использовать UDP для передачи запросов IXFR. Нужно настроить TSIG, прежде чем разрешать UDP−транспорт, чтобы удостоверять уведомления и передачи зоны. В противном случае NSD более уязвим для атак в стиле Каминского. Если опция UDP не указана, то IXFR будет передаваться при помощи TCP.

allow−axfr−fallback: <yes или no>

Эта опция должна сопровождаться опцией request−xfr. Она разрешает или запрещает NSD (во вторичном режиме) переходить к использованию AXFR, если первичный сервер имён не поддерживает IXFR. По умолчанию разрешено − yes.

notify: <IP−адрес> <имя−ключа | NOKEY>

Список управления доступом. Перечисленные адреса (вторичные) уведомляются об обновлениях в этой зоне. Можно добавить номер порта с помощью суффикса @номер, например, 1.2.3.4@5300. Указанный ключ использует при уведомлении подпись. Только подчинённые конфигурации NSD могут обнаруживать обновления зоны (после получения уведомления или обновить по истечении времени).

notify−retry: <число>

Эта опция должна сопровождаться опцией notify. Опция задаёт количество попыток отправки уведомлений.

provide−xfr: <спецификация−IP−адреса> <имя−ключа | NOKEY | BLOCKED>

Список управления доступом. Перечисленным адресам (вторичным) разрешается выполнять запросы AXFR к этому серверу. По этому адресу будут предоставляться данные из зоны. Указанный ключ используется в запросах AXFR. Не перечисленным адресам или адресам, помеченным BLOCKED, данные не предоставляются, запросы отбрасываются. Записи с меткой BLOCKED подавляют другие записи, а другие записи сканируются на совпадение в порядке их указания. NSD предоставляет AXFR своим вторичным серверам, но IXFR не реализованы (IXFR реализованы для запросов request−xfr, но не для предоставления provide−xfr).

Спецификация IP−адреса − это простой IP−адрес (IPv4 или IPv6), подсеть вида 1.2.3.4/24 или подсеть с маской вида 1.2.3.4&255.255.255.0 или диапазон вида 1.2.3.4−1.2.3.25. Номер порта можно добавить при помощи суффикса @номер, например, 1.2.3.4@5300 или 1.2.3.4/24@5300 в случае порта 5300. Отметим, что в спецификации IP−адресов возле символов /, &, @ и − пробелы не используются.

outgoing−interface: <IP−адрес>

Список управления доступом. Перечисленные адреса используются для запроса AXFR|IXFR (во вторичном режиме) или используются для отправки уведомлений (в случае первичного сервера).

IP−адрес − это простой IP−адрес (IPv4 или IPv6). Номер порта можно добавить при помощи суффикса @номер, например, 1.2.3.4@5300.

include−pattern: <имя−шаблона>

Опции из указанного шаблона вставляются в этом месте. Указанный шаблон должен быть определён до этой зоны.

rrl−whitelist: <тип−ограничения−сокрости−ответов>

Эта опция помещает в белый список запросы указанного типа этой зоны. К белому списку применяется ограничение whitelist−ratelimit. Вы можете указать несколько строк, каждая включает новый тип записей для ограничения скорости ответов в белый список зоны. По умолчанию белый список пуст. Тип ограничения скорости ответов − это классификация запросов, при которой различные типы ограничений скорости ответов NSD не перекрывают друг друга. Типы записываются в строки журнала, если подсеть заблокирована (при уровне подробности 2). Типы классификации ограничения скорости ответов: nxdomain, error, referral, any, rrsig, wildcard, nodata, dnskey, positive, all.

Определения ключей
Выражение key: устанавливает ключ для использования в списках управления доступом. Он имеет следующие атрибуты.
name:
<строка>

Имя ключа. Используется для ссылки на этот ключ в списках управления доступом.

algorithm: <строка>

Алгоритм аутентификации для этого ключа.

secret: <base64−кодированные−данные>

base64−кодированный общий секрет. Можно поместить объявление secret: (и данные, закодированные при помощи base64) в отдельный файл, а затем подключить этот файл при помощи include:. В этом случае секретный ключ и остаток файла конфигурации, который может иметь различающиеся политики безопасности, может быть разделён на части.

КОНФИГУРАЦИЯ NSD ДЛЯ ОПЫТНЫХ ПОЛЬЗОВАТЕЛЕЙ BIND9

BIND9 − это реализация сервера имён с его собственным форматом файла конфигурации − named.conf(5). BIND9 поддерживает зоны типов ’Мастер’ или ’Подчинённый’.

Подчинённые зоны
В подчинённых зонах указываются мастер−серверы. Данные о зоне запрашиваются у мастер−серверов и от них ожидаются уведомления об обновлениях. В NSD эти два свойства нужно настраивать раздельно, указывая адреса мастер−серверов в выражениях allow−notify и request−xfr.

В BIND9 дополнительные источники уведомления нужно указать только в allow−notify (то есть − для операторов), а в NSD нужно указывать allow−notify и для мастеров и для операторов. BIND9 позволяет указывать дополнительные отправителей запросов о передаче зоны, а в NSD они указываются в request−xfr.

Ниже приведён пример подчинённой зоны в синтаксисе BIND9.

# Файл конфигурации для example.org options {

dnssec−enable yes;

};

key tsig.example.org. {

algorithm hmac−md5;
secret "aaaaaabbbbbbccccccdddddd";

};

server 162.0.4.49 {

keys { tsig.example.org. ; };

};

zone "example.org" {

type slave;
file "secondary/example.org.signed";
masters { 162.0.4.49; };

};

В NSD для подписанных зон DNSSEC включается автоматически. Выражение dnssec−enable в этом случае не требуется. В NSD ключи связаны с IP−адресом из списка управления доступом, поэтому выражение server{} не требуется. Ниже приведён тот же пример в файле конфигурации NSD.

# Файл конфигурации для example.org
key:

name: tsig.example.org.
algorithm: hmac−md5
secret: "aaaaaabbbbbbccccccdddddd"

zone:

name: "example.org"
zonefile: "secondary/example.org.signed"
# Мастеру разрешается уведомлять и предоставлять данных зоны
allow−notify: 162.0.4.49 NOKEY
request−xfr: 162.0.4.49 tsig.example.org.

Отметим, что мастер указан дважды, первый раз ему разрешается отправлять уведомления на этот подчинённый сервер, а второй раз говорит подчинённому серверу, где искать обновления данных зоны. Можно указать несколько строк allow−notify и request−xfr для указания дополнительных мастеров.

Можно указать дополнительные строки allow−notify для адресов, которым разрешается отправлять уведомления на этот подчинённый сервер.

Мастер−зоны
Для мастер−зоны в BIND9 указываются подчинённые серверы. Этим подчинённым серверам отправляются уведомления об обновлениях и им разрешается запрашивать передачу данных зоны. В NSD эти опции нужно настраивать отдельно.

Вот пример мастер−зоны в синтаксисе BIND9.

zone "example.nl" {

type master;
file "example.nl";

};

В синтаксисе NSD это будет выглядеть так:

zone:

name: "example.nl"
zonefile: "example.nl"
# Разрешить кому угодно запрашивать xfr − передачу зоны.
provide−xfr: 0.0.0.0/0 NOKEY
provide−xfr: ::0/0 NOKEY

# Подчинённый сервер в общем случае указывается так
# provide−xfr: 1.2.3.4 tsig−key.name.
# notify: 1.2.3.4 NOKEY

Прочее
NSD − это только авторитативный сервер DNS. Это означает, что он выступает в роли первичного или вторичного сервера для зон, предоставляя данных DNS рекурсивным клиентам DNS и кэшам DNS. BIND9 может работать в качестве авторитативного сервера DNS, в этом случае его опции сравниваются с опциями NSD в этом разделе. Однако, BIND9 также может работать в роли рекурсивного клиента или кэша. В этом случае опции BIND9 для настройки рекурсивного клиента или кэша не имеют аналогов в NSD.

ФАЙЛЫ

/var/lib/nsd/nsd.db

База данных NSD по умолчанию.

/etc/nsd/nsd.conf

Файл конфигурации NSD по умолчанию.

СМОТРИТЕ ТАКЖЕ

nsd(8), nsd−checkconf(8), nsd−control(8)

АВТОРЫ

NSD был написан совместной группой NLnet Labs и RIPE NCC. Обратитесь к файлу CREDITS из дистрибутива за более подробной информацией.

АВТОР ПЕРЕВОДА

Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.

НЕПОЛАДКИ

nsd.conf разбирается примитивным обработчиком, сообщения об ошибках могут быть не точными.