Я хочу включить файл в файл зоны в реализации сервера имен nsd, используя $INCLUDE
директива.
Когда я перезагружаю зону с nsd-control reload <zone>
В файле журнала я заметил ошибку о том, что не нашел включаемый файл.
Кто-нибудь знает, как включить файл в определение файла зоны? Кажется, что у NSD отсутствует подробная документация (например, BIND).
На основании вашего комментария:
Собственно, я использую эту директиву:
$INCLUDE /usr/local/etc/nsd/zones/forward/COMMON
. Я хочу, чтобы в общем файле были такие вещи, как записи SOA и NS, MX, которые одинаковы для всех зон / подзон
Мой первый ответ заключается в том, что установка записи SOA в главном включаемом файле - плохая идея, поскольку это означает, что все ваши зоны DNS будут иметь одинаковый номер версии, а обновление до одной потребует перезагрузки всех зон.
Использование директивы $ INCLUDE установлено в RFC 1035 и одна из целей дизайна nsd
должен полностью соответствовать RFC.
Если вы не столкнулись с простой ошибкой в разрешениях файловой системы, вероятно, вы столкнулись с требованиями, установленными в разделе 5.2 RFC 1035 для включаемых (основных) файлов и файлов зоны:
- Все RR в файле должны иметь один и тот же класс.
Таким образом, наличие записей NS и MX в одном включаемом файле кажется запрещенным.
- Ровно одна запись SOA RR должна присутствовать в верхней части зоны.
Установка записи SOA в файле $ INCLUDE также кажется запрещенной.
- Если присутствуют делегации и требуется связующая информация, она должна присутствовать.
По-видимому приклеивать пластинки разрешены так NS
и конкретные A
записи могут быть объединены в один включаемый файл ...
- Информация, представленная за пределами авторитетных узлов в зоне, должна быть связующей информацией, а не результатом происхождения или аналогичной ошибки.