Страница 1 из 1

bind(master) + nsd(slave)

Добавлено: 2012-10-22 16:03:48
skeletor
Есть проблемы с обновлением зон на slave: при обновлении зоны на master'e (номер Serial'a естественно увеличиваю при внесении изменений) зоны на slave не обновляются автоматически (после рестарта nsd изменения подтягиваются), при этом на том же сервере поднятый bind нормально подхватывает изменения. То есть дело не в файерволе, а в каких-то опциях автообновлений и автонотификации.

QQ.QQ.QQ.QQ - мастер
XX.XX.XX.XX; YY.YY.YY.YY; - слейвы

Вот часть настроек:

Код: Выделить всё

named.conf
...
        notify yes;
        allow-transfer {XX.XX.XX.XX; YY.YY.YY.YY;};
        allow-notify {XX.XX.XX.XX; YY.YY.YY.YY;};
        also-notify  {XX.XX.XX.XX; YY.YY.YY.YY;};
...
nsd.conf
...
zone:
        name: "domain.ua"
        zonefile: "domain.ua"
        allow-notify: QQ.QQ.QQ.QQ NOKEY
        request-xfr: QQ.QQ.QQ.QQ NOKEY
        allow-axfr-fallback: "yes"
...

Re: bind(master) + nsd(slave)

Добавлено: 2012-10-22 17:13:36
терминус
Вы через nslookup/dig проверяете SOA запись на NSD слейве или смотрите информацию из текстовых файлов зон на NSD слейве?


Если через nslookup то отображаются ли там изменения в записях зоны (новую А запись добавили - она появилась)?

Если смотрите текстовые файлы, то проблема в том, что данные хранятся в бинарной базе, а в текстовые файлы данные идут только после команды nsdc patch.

Re: bind(master) + nsd(slave)

Добавлено: 2012-10-22 17:17:25
терминус
А, блин - я не понял сначала в чем вопрос...

Добавьте на NSD слейве AXFR перед адресом мастера

Код: Выделить всё

request-xfr: AXFR QQ.QQ.QQ.QQ NOKEY

Re: bind(master) + nsd(slave)

Добавлено: 2012-10-22 17:26:33
skeletor
терминус писал(а): Если смотрите текстовые файлы, то проблема в том, что данные хранятся в бинарной базе, а в текстовые файлы данные идут только после команды nsdc patch.
Смотрю текстовые файлы. Вы оказались правы насчёт nsdc patch

Re: bind(master) + nsd(slave)

Добавлено: 2012-10-22 18:04:37
терминус
То есть все ок?

Должно быть так, что NSD слейв получает данные с мастера и сразу же и сохраняет их в свою бинарную базу.
Сразу же после этого он уже может обслуживать запросы - данные уже в базе.
В текстовые файлы информация идет после выполнения nsdc patch - можно засунуть эту команду в крон и выполнять раз в 5ть минут если нужны актуальные текстовые файлы.

Re: bind(master) + nsd(slave)

Добавлено: 2012-10-23 15:25:14
skeletor
Да, именно так. Теперь всё работает.