Каждую зону обслуживает один главный сервер имен, хранящий официальную копию данных о зоне. Он называется «авторитетным», потому что его ответ — точный и окончательный. В зоне может быть также сколько угодно кэширующих серверов, у которых собственных данных нет: они накапливают данные, кэшируя ответы на свои запросы. Ответ кэширующего сервера неавторитетен, зато быстр. Обычно они используются для уменьшения DNS-трафика во внутренней сети.

Если собственного домена у вас нет, то имеет смысл возложить обработку DNS-запросов на провайдера, создав у себя кэширующий DNS-сервер. Вместо того, чтобы запрашивать последовательно несколько удаленных корневых серверов, он будет отсылать в сеть только один запрос на разрешение имени (DNS-серверу провайдера) и получать только один окончательный ответ. Это особенно полезно, если у вас плохое соединение с Интернетом.

<p>13.4.1. Настройка кэширования на DNS-сервере</p>

Для того, чтобы насладиться такой возможностью, следует в блок options файла named.conf добавить следующие параметры:

forward first;

forwarders {

 81.3.165.35;

 81.3.150.2;

};

Директива forwarders задает заключенный в фигурные скобки список IP-адресов DNS-серверов, которым ваш DNS-сервер будет переадресовывать запросы вместо того, чтобы отвечать на них самому. IP-адреса перечисляются через точку с запятой.

Директива forward может принимать одно из двух следующих значений:

♦ only — ваш DNS-сервер никогда не должен предпринимать попыток обработать запрос самостоятельно;

♦ first — ваш DNS-сервер должен пытаться сам обработать запрос, если указанные далее параметром forwarders сервера DNS не были найдены.

Без директивы forwarders директива forward не имеет смысла.

Таким образом, возвращаясь к настройке сервера, весь файл named.conf будет выглядеть так:

Листинг 13.7. Файл named.conf кэширующего сервера DNS

options {

 directory "/var/named";

 forward first;

 forwarders {

  81.3.165.35;

  81.3.150.2;

 };

 // Раскомментируйте следующую строку, если брандмауэр

 // мешает работе службы DNS

 // query-source port 53;

};

zone "." {

 type hint;

 file "named.ca";

};

zone "0.0.127.in-addr.arpa" {

 type slave;

 file " named.local ";

}

Обратите внимание, что в этом примере уже не поддерживается зона dhsilabs.com.

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

Как правило, кэширующий сервер запускается на отдельном компьютере, который подключается к Интернету по коммутируемому соединению. Нужно учитывать, что сервер 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.

<p>13.5. Вторичный сервер DNS</p>
Перейти на страницу:

Все книги серии Полное руководство

Похожие книги