Эта часть содержит информацию, необходимую для запуска, контроля и отладки named.
Имя хоста (hostname) в /etc/rc.local должно быть назначено в стиле полного доменного имени с использованием hostname(1). Для запуска named во время загрузки системы в файл /etc/rc.local должно быть добавлено следующее:
if [ -f /usr/sbin/named ]; then /usr/sbin/named [options] & echo -n 'named' >/dev/console fi
обычно это прописывается сразу после строчек, запускающих syslogd. НЕ пытайтесь запустить named из inetd. Это будет постоянно перезапускать сервер имен и совершенно нарушит предназначение кэша.
Когда named успешно запущен, он записывает свой идентификатор процесса (process id) в файл /var/run/named.pid. Это полезно для программ, которые захотят посылать сигналы в named. Имя этого файла может быть изменено переопределением PIDFILE на новое имя во время компилляции named.
Библиотечный вызов gethostbyname() может определить, запущен ли named. Если определено, что named не запущен, то для разрешения адреса будет просмотрен файл /etc/hosts. Эта опция была добавлена для того, чтобы позволить ifconfig(8C) сконфигурировать локальные интерфейсы машины и обеспечить системному менеджеру доступ к сети пока машина находится в однопользовательском режиме (single user mode). Советуется прописать в /etc/hosts адреса локальных интерфейсов машины и парочку имен машин и адресов, чтобы системный менеджер смог использовать rcp для копирования файлов с другой машины когда система находится в однопользовательском режиме. Формат /etc/hosts не изменился. За дополнительной информацией смотри hosts(5). По причине медленности процесса чтения из /etc/hosts, не советуется использовать эту оцию, когда система нажодится в многопользовательском режиме.
Существует несколько сигналов, которые могут быть посланы процессу named для выполнения определенных заданий без его перезапуска.
SIGHUP - Заставляет named перечитать named.boot и перезагрузить базу данных. Это очень полезно, когда вы делаете изменения в "первичном" файле данных и хотите чтобы внутренняя база данных named отражала сделанные изменения. Если вы "собрали" BIND с опцией FORCED_RELOAD, то SIGHUP даст еще и эффект внеплановой проверки серийных номеров всех "вторичных" зон, что может привести к передаче зон вне обычного графика. Обычно сравнение серийных номеров делается только через интервалы, определенные в записи SOA для зоны.
Когда named работает неправильно, сначала посмотрите в /var/log/messages и проверьте его на сообщения записанные syslog. Затем пошлите ему сигнал и посмотрите, что произойдет. Пока вы не запустите его с опцией "-d", named очень мало что скажет в свой стандартный вывод или стандартную ошибку. Все что говорит named, он говороит в syslog.
SIGINT - Сбрасывает все текущие базы данных и кэш в /var/tmp/named_dump.db. Это может показать вам, были ли базы данных корректно считаны. Имя файла дампа может быть изменено переопределением DUMPFILE на другое имя при компиляции named.
Заметьте: следующие два сигнала работают только когда named собран с определенным DEBUG.
SIGUSR1 - Включает отладку. Каждый следующий сигнал SIGUSR1 увеличивает уровень отладки. Вывод идет в /var/tmp/named.run Имя этого отладочного файла может быть изменено определением DEBUGFILE до компилляции named.
SIGUSR2 - Выключает отладочный режим.
Для более подробной отладки, определите DEBUG при компилляции программ разрешителя в /lib/libc.a.
SIGWINCH - Переключает трассировку всех входящих запросов если named был скомпиллирован с определенным QRYLOG. Трассировка посылается в syslog, обычно она очень велика, но очень полезна для отслеживания проблем.
Для запуска с трассировкой всех запросов в командной строке определите флаг -q. Если вы введете программный протокол запросов, то может быть вам захочется проанализировать результаты используя статистический скрипт dnsstats stats в каталоге contrib.
SIGIOT - Сбрасывает статистические данные в /var/tmp/named.stats, если сервер собран с определенным STATS. Статистика добавляется к файлу.
Перевод A.S.Plotnikov, 1998
Назад | Содержание | Вперед