Передача зоны DNS (NSD) не работает

Я пытаюсь создать настройки master/slave с использованием NSD. У меня установлен NSD на двух серверах. Серверы работают отлично; когда я выполняю нормальные DNS-запросы, они возвращают информацию из файлов зоны. Тем не менее, когда я пытаюсь nsdc notify на ведущем устройстве ведомый, кажется, не берет новую конфигурацию зоны.

Файл nsd.conf на мастере выглядит так:

## NSD authoritative only DNS
#

server:
    logfile: "/var/log/nsd.log"
    port: 53
    server-count: 1
    ip4-only: yes
    hide-version: yes
    identity: ""
    zonesdir: "/etc/nsd3"
    verbosity: 3

zone:
    name: domain.com
    zonefile: www.domain.com.forward
    notify: <ip slave> NOKEY
    provide-xfr: <ip slave> NOKEY

nsd.conf на подчиненном сервере выглядит так:

## NSD authoritative only DNS
#

server:
    logfile: "/var/log/nsd.log"
    port: 53
    server-count: 1
    ip4-only: yes
    hide-version: yes
    identity: ""
    zonesdir: "/etc/nsd3"
    verbosity: 3

zone:
    name: domain.com
    zonefile: www.domain.com.forward
    allow-notify: <ip master> NOKEY
    request-xfr: AXFR <ip master> NOKEY

Файл зонного файла на главном сервере выглядит следующим образом:

$ORIGIN domain.com.
$TTL 86400           ; default time to live

@ IN SOA ns1.domain.com. admin.domain.com. (
    2011010203  ; serial number
    28800       ; Refresh
    7200        ; Retry
    864000      ; Expire
    86400       ; Min TTL
    )

NS  ns1.domain.com.
MX  10  mailfilter.hostingprovider.com.

mail    IN  A   <ip mailserver hostingprovider>
www IN  A   <ip master>

ns1     IN      A       <ip master>
ns2     IN      A       <ip slave>


newvalue    IN  A   8.8.8.8

*   IN  A   <ip master>

Файл пересылки на подчиненном сервере такой же, за исключением строки с "новым значением" (значением, которое я хочу передать).

Если я выполню nsdc notify на главном сервере в журналах ведомого появляется следующее:

[1487507948] nsd[26038]: info: Notify received and accepted, forward to xfrd
[1487507948] nsd[26037]: info: Handle incoming notify for zone domain.com

Однако файлы зоны, похоже, не получают обновлений. После уведомления я выполняю nsdc patch; nsdc rebuild; nsdc reload; service nsd3 restart на подчиненном сервере, просто чтобы быть уверенным. Но это также не меняет файлы зон.

Кроме того, если я выполню dig axfr @<master ip> domain.com на подчиненном сервере я получаю хороший перевод зоны.

Почему подчиненный сервер не обновляет файлы зоны?

1 ответ

Решение

Серийный номер зоны должен быть увеличен после любых изменений

Ведомый сначала проверит, имеет ли он самую текущую зону перед попыткой передачи, в противном случае уведомление игнорируется. Обычной практикой является использование формы YYYYMMDDxx, где xx - это младший номер ревизии (если случайно установлен слишком большой, необходимо выполнить процесс, чтобы снова уменьшить число)

В более поздних версиях nsd где nsd-control заменяет nsdc, команда transfer может быть использован для попытки, или force_transfer обновить независимо от серийного изменения.

Другие вопросы по тегам