Я установил два сервера имен, главный и подчиненный в соответствии с этот ссылка на сайт. Настройка работает, о чем свидетельствует тот факт, что сайты, представленные на главном сервере, обслуживаются должным образом.
Однако в последнее время я начал подозревать, что подчиненный сервер неправильно синхронизируется с главным. Во время проверки ошибок я попытался перезагрузить случайный файл зоны:
rndc reload domain.tld
("domain.tld" является заполнителем)
только чтобы встретить это:
zone refresh queued
Выше показано сообщение, которое возвращается независимо от проверенного домена.
Я пробовал искать весь подчиненный сервер для любой файлов зон (find / -name * .zone) безрезультатно (но поскольку я не совсем понимаю, как работает настройка BIND, я даже не уверен, что подчиненный сервер должен содержать файлы зоны, такие как master, что делает поиск потенциально избыточным).
Затем я проверил журнал named.run, он заполнен следующими записями:
dumping master file: tmp-CWKpRfrNi0: open: permission denied
Для меня это похоже на проблему с разрешением, но я, честно говоря, не совсем уверен. Кстати, я также пробовал перезагрузить файлы зоны после увеличивая серийный номер, безуспешно.
Мой bind-9.8.2-0.37 из CentOS 6 говорит после перезапуска ведомого устройства (для каждой из зон, даже если они уже кэшированы):
08-Apr-2016 12:15:07.571 zone example.com/IN: loaded serial 2016040103
Named.conf, помимо прочего, содержит:
logging {
channel general_file { file "/var/log/named/general.log" versions 3 size 5m; severity dynamic; print-time yes; };
category general { general_file; };
};
Нет необходимости искать файлы зон, вы должны указать их вручную в named.conf, чтобы их расположение было легко определить. Возможно, у вас неправильно настроен chroot, который называется запускает, думая, что корень файловой системы находится где-то вроде / var / named / chroot, и для него не установлены соответствующие разрешения.