Для начала рассмотрим благоприятную индикацию разрешения DNS. Ранее мы обсуждали, как, используя команду rndc status, показать текущий статус DNSсервера. Попробуем войти на сервер в качестве rootпользователя и выполнить следующую команду:
serverl:# rndc status
number of zones: б debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF server is up and running serverl:~#
Команда rndc зависит от разделенного файла ключа /etc/bind/rndc.key для named, получающего доступ к его командам. Проблемы с этим файлом могут мешать rndc посылать команды. Рассмотрим пример того, что мы можем увидеть, если файл ключа будет пропущен:
serverl:~# rndc status
rndc: neither /etc/bind/rndc.conf nor /etc/bind/rndc.key was found serverl:#
С помощью следующей команды мы можем установить, что происходит потеря файла:
serverl:# Is 1 /etc/bind/rndc.key
Is: /etc/bind/rndc.key: No such file or directory
Мы можем исправить проблему, изменив этот файл так же, как это делала инициализация BIND:
serverl:# rndcconfgen a serverl:# Is 1 /etc/bind/rndc.key
rw 1 root bind 77 Jul 19 22:38 /etc/bind/rndc.key serverl:#
Поскольку у named нет этого нового ключа, сейчас мы должны завершить процесс named и вновь запустить его. Для этого мы выполним системную команду ki 11 al 1, принимающую полное имя пути программы named. Для остановки named настолько аккуратно, насколько это возможно, мы выполним две команды ki 11 al 1 с интервалом в несколько секунд между ними, а затем перезапустим named.
serverl:# killall TERM /usr/sbin/named serverl:# killall KILL /usr/sbin/named
/usr/sbin/named: no process killed
serverl/etc/init.d/bind9 start
Starting domain name service: named.
serverlrndc status
number of zones: 6
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is up and running
serverl:#