Проблемы с DNS с моего сервера
Когда я делаю service bind9 status
, это говорит мне следующее
named[983]: managed-keys-zone: unable to synchronize managed keys: unexpected error
named[983]: zone 0.in-addr.arpa/IN: loaded serial 1
named[983]: zone 255.in-addr.arpa/IN: loaded serial 1
named[983]: zone localhost/IN: loaded serial 2
named[983]: zone 127.in-addr.arpa/IN: loaded serial 1
named[983]: zone midomain.com/IN: loaded serial 2017061000
named[983]: all zones loaded
named[983]: running zone midomain.com/IN: sending notifies (serial 2017061000)
named[983]: client 201.235.234.30#55016: received notify for zone 'midomain.com'
Журнал /var/log/syslog
гласит:
the working directory is not writable
named[983]: managed-keys.bind.jnl: create: permission denied
named[983]: managed-keys-zone: sync_keyzone:dns_journal_open -> unexpected error
named[983]: managed-keys-zone: unable to synchronize managed keys: unexpected error
Как я могу заставить bind9 запускаться и работать правильно?
3 ответа
Какой пользователь работает как bind? Это в тюрьме? Какая ОС?
Проблема в том, что он не может создать файл журнала (managed-keys.bind.jnl
файл), и не может открыть managed-keys-zone
файл. Selinux включен?
Чтобы проверить, где находятся эти файлы, выполните (от имени пользователя root) следующую команду:
find / -name "managed-keys-zone"
Затем проверьте разрешения для этого файла:
ls -lh <path from above>
Вы должны увидеть разрешения, перечисленные до 10 символов (иногда 11). Игнорировать первую букву; это будет -
, l
или же d
, Следующие три являются разрешениями для перечисленных пользователей (R ead, Wite, E x ecute). Следующие три предназначены для перечисленной группы, а последние три - для всех остальных.
Проверьте, кому принадлежит ls
Команда выше - принадлежит ли она пользователю root или другому имени (т.е. bind).
В моем случае владелец файла и каталога неверен. выполните следующую команду, чтобы исправить это:
sudo chown -R root:bind /var/cache/bind
sudo chown -R root:bind /var/cache/bind/managed-keys.bind
sudo chown -R root:bind /var/cache/bind/managed-keys.bind.jnl
Для просмотра ссылки нажмите здесь .
Теперь вы можете перезапустить Name.service без каких-либо ошибок:
sudo systemctl restart named.service
и проверьте журналы состояния:
sudo systemctl status named.service
Добавьте следующие параметры вnamed.conf
:
options {
...
dnssec-enable yes;
dnssec-validation auto;
managed-keys-directory "/etc/namedb/dynamic/";
...
};