#Что означает сообщение
Зона не загружается
BIND отказывается загружать зону при синтаксической ошибке, неверном включаемом файле или некорректном serial. Сначала смотрите точное сообщение named, а не только статус службы.
#Как отличить причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Синтаксис | Сравните момент появления признака «Синтаксис» с тем, когда ранее работала нужная функция. Важно сопоставить проверку с исходным симптомом, а не с догадкой. | Исправляйте только подтверждённый фактор «Синтаксис», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие. |
| Serial | Сравните момент появления признака «Serial» с тем, когда ранее работала нужная функция. Учитывайте версию DNS-серверы и условия сбоя. | Исправляйте только подтверждённый фактор «Serial», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата. |
| Права | Уточните, какой пользователь и к какому объекту обращается; проверьте сообщение об отказе, состояние учётной записи и требуемую роль. Учитывайте версию DNS-серверы и условия сбоя. | Для случая «BIND: зона не загружается — синтаксис и serial» восстановите конкретное разрешение или штатную процедуру входа. Для проверки результата повторите только прежнее действие. |
| Точка в конце | Сравните момент появления признака «Точка в конце» с тем, когда ранее работала нужная функция. Учитывайте версию DNS-серверы и условия сбоя. | Исправляйте только подтверждённый фактор «Точка в конце», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата. |
#Пошаговое решение
- Проверьте конфигурацию BIND и журналАдминистратору BIND: на DNS-сервере по SSH выполните
sudo named-checkconfи посмотрите точное сообщение об ошибке файла и строки. Затем проверьте конфигурацию конкретной зоны и путь к файлу вnamed.confлибо подключаемых файлах. До правок сделайте копию файла зоны и конфигурации. Не изменяйте одновременно serial, права и DNSSEC, пока не выявлена причина отказа. - Проверьте файл зоны named-checkzoneВыполните
sudo named-checkzone example.com /путь/к/файлу/зоны, подставив реальную зону и фактический путь из конфигурации. Исправьте указанную синтаксическую ошибку: например, пропущенную точку в абсолютном имени, скобку или тип записи. Снова выполнитеnamed-checkzoneи убедитесь, что проверка завершаетсяOK; только после этого увеличьте SOA serial при изменении содержимого. - Уточните доступность файла и работу вторичных DNSЕсли синтаксис корректен, проверьте, доступен ли процессу named файл зоны для чтения, и совпадает ли путь в конфигурации с расположением файла. Просмотрите
sudo journalctl -u named -b --no-pager | tail -80либо журнал вашей установки (на Debian служба может называться bind9). Не меняйте права каталога рекурсивно без причины. На вторичных серверах отдельно проверяйте serial и успешность переноса зоны. - Перезагрузите только исправленную зону и проверьте SOAПосле успешных проверок конфигурации выполните
sudo rndc reload example.com, заменив домен на конкретную зону, либо используйте штатный способ перезагрузки вашей установки. Проверьте ответ у авторитетного сервера черезdig @АДРЕС_NS example.com SOA +norecurse; заглушку замените реальным адресом. Если вывод и SOA serial не обновились, изучите журнал BIND: HTTP-коды сайтов к загрузке DNS-зоны отношения не имеют.
#Что важно перед исправлением
Не увеличивайте serial наугад без понимания формата. Перед массовыми изменениями сохраните конфигурацию DNS: ошибка может нарушить работу всех доменов.