13.4.2. Возможные проблемы и их решение

We use cookies. Read the Privacy and Cookie Policy

13.4.2. Возможные проблемы и их решение

Как правило, кэширующий сервер запускается на отдельном компьютере, который подключается к Интернету по коммутируемому соединению. Нужно учитывать, что сервер DNS сразу требует обращения к какому-нибудь сетевому ресурсу. В нашем же случае, если соединение не установлено, то устройство ppp0 существовать не будет, a named будет страшно ругаться на то, что сеть недоступна. При этом недоступным окажется даже интерфейс lo, а программа nslookup, если она нам понадобится без существования сети, просто «подвиснет», ожидая ответа от сервера DNS.

Есть два способа решить данную проблему. Какой использовать — это решать вам. Первый заключается в том, чтобы запускать сервер DNS после установления PPP-соединения и останавливать перед его разрывом.

Для управления демоном named служит утилита rndc (ndc в BIND 8). Ее можно использовать с параметрами start, stop, reload (перегрузить файлы данных зоны, если в них произошли изменения), restart. Команду rndc start следует включить в сценарий установления PPP-соединения, а команду rndc stop — в сценарий разрыва.

Второй способ состоит в том, чтобы при постоянно работающем сервере DNS подменять файл корневого кэша named.ca. В отсутствие PPP-соединения по этому имени находится пустой файл, а сценарий установки соединения содержит команду, копирующую на его место нормальный файл кэша named.ca.ppp-on. При использовании этого способа в ваших протоколах (журналах) будут регулярно появляться сообщения примерно такого содержания:

Jan 5 16:10:11 den named[10147]: No root nameserver for class IN

Для полноты картины хочу отметить, что, если при использовании DNS у вас возникают проблемы с монтированием удаленных файловых систем, запускайте сервер named после запуска nfsd и mountd.

Данный текст является ознакомительным фрагментом.