URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92668
[ Назад ]

Исходное сообщение
"Управление BIND"

Отправлено Призрак , 29-Ноя-11 13:25 
Как ПРАВИЛЬНО (атомарно?) управлять BIND? Например, удалить хосты из файла зон (не из кэша, а "стационарно" описанные хосты). Я везде вижу только упоминание о редактировании файла зон; но что, если пока я редактирую файл - у меня в зоне произойдёт какое-нибудь изменение, например, в сети появится новый хост, через DHCP получит адрес и зарегистрируется в DNS... а потом я закрою файл зон и перезапишу эти изменения!.. Получается, надо как-то делать это атомарно?.. Ну не останавливать же DHCP и DNS на время редактирования файла зон!.. Или существует уже какое-то решение в самой работе bind для таких случаев?.. Вроде есть rndc, но я не могу найти упоминание о том как сделать это с его помощью...

Я видел это http://www.opennet.me/tips/info/2079.shtml , но, как я понимаю, это не то что мне нужно... это - про кэш, а не про сами стационарные записи в файле зон...


Содержание

Сообщения в этом обсуждении
"Управление BIND"
Отправлено PavelR , 29-Ноя-11 13:34 

Видимо, нужно что-то типа: http://linux.die.net/man/8/nsupdate


"Управление BIND"
Отправлено Призрак , 29-Ноя-11 15:23 
Я пытался накопать что-нибудь на эту тему довольно давно, но только сейчас нашёл достаточно информации об этом.

Согласно BIND Administrator Reference Manual, то есть, официальное решение:

Обычные зоны апдейтятся через изменение файла и последующее reload любым способом. Динамически обновляемые зоны нельзя обновлять таким образом именно по описанной мной причине, поэтому предлагается сделать rndc freeze myzone, что запретит обновлять эту зону, сбросит её содержание в файл зоны и удалит файл журнала - то есть, зона превратится в "обычную" и если кто-то попытается её обновить - например, зарегистрироваться в DHCP - то он получит ошибку. В это время можно поправить руками файл зоны, и возобновить обновление зоны с помощью rndc thaw myzone, что снова сделает зону динамической и автоматически перечитает файл зоны.

Однако, действительно, по приведённой ссылке я узнал что есть nsupdate, которая позволяет отдать команды, что именно следует сделать с файлом зоны - команды могут быть довольно навороченные, то есть, удобно. Спасибо! Я уже успел испугаться, что придётся останавливать обновление зон, что, в общем-то, не так уж страшно, но потенциально чревато неожиданностями - когда DHCP не сможет обновить "замороженную" зону, то я сомневаюсь что он передаст эту ошибку клиенту и тем более что он попробует снова... так что сообщение об ошибке просто утонет в логах и может вызвать недоразумение...