Чтение онлайн

ЖАНРЫ

Linux: Полное руководство

Аллен Питер В.

Шрифт:

3600 ; повтор каждый час

3600000 ; хранить информацию 1000 часов

86400 ) ; TTL записи - 24 часа

@ IN NS den.dhsilabs.com

1 IN PTR den.dhsilabs.com

2.1.168.192 IN PTR evg.dhsilabs.com

13.3.1. Обновление корневого кэша

Если вы настраиваете сервер DNS только для своей внутренней сети, которая не имеет выхода в Интернет, то не спешите

обновлять файл кэша! Он вам вообще не нужен. Вы также должны удалить зону, описывающую корневой кэш в файле
named.conf
.

Обычно файл

named.ca
содержит примерно такую информацию:

Листинг 13.5. Файл корневых серверов

. 6D IN NS G.ROOT-SERVERS.NET.

. 6D IN NS J.ROOT-SERVERS-NET.

. 6D IN NS K.ROOT-SERVERS.NET.

. 6D IN NS L.ROOT-SERVERS.NET.

. 6D IN NS M.ROOT-SERVERS.NET.

. 6D IN NS A.ROOT-SERVERS.NET.

. 6D IN NS H.ROOT-SERVERS.NET.

. 6D IN NS B.ROOT-SERVERS.NET,

. 6D IN NS C.ROOT-SERVERS.NET.

. 6D IN NS D.ROOT-SERVERS.NET.

. 6D IN NS E.ROOT-SERVERS.NET.

. 6D IN NS I.ROOT-SERVERS.NET.

. 6D IN NS F.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:

G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4

J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10

K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129

L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12

M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33

A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4

H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53

B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107

C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12

D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90

E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.23 0.10

I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17

F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241

Для установки файла корневого кэша следует установить пакет caching-nameserver, но я рекомендую получить и установить самую новую версию. Для этого подключитесь к Интернету, запустите сервер DNS, а затем выполните команду

# nslookup | tee ns

В ответ на приглашение утилиты nslookup введите две команды:

> set q=ns (или set type=ns)

> .

На экране вы увидите список корневых серверов DNS, который будет помешен в файл ns. Для преобразования файла ns в формат

named.ca
воспользуйтесь следующим awk-сценарием (листинг 13.6), вызвав его так:

# reformat ns named.ca

Листинг 13.6. Сценарий reformat

#!/bin/awk awk ' BEGIN {

/root/ { print ". IN NS " $4"." }

/internet/ { print $1"." " 999999 IN A " $5 }

END '

Теперь осталось скопировать

named.ca
в каталог
/var/named
, и на этом — все.

Можно обновить корневой кэш и проще, воспользовавшись утилитой dig:

# dig @a.root-servers.net.ns > named.ca.new

или

# dig @198.41.0.4.ns > named.ca.new

После этого остается только заменить старый файл

named.ca
новым файлом
named.ca.new
.

13.4. Кэширующий сервер DNS

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

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

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

Для того, чтобы насладиться такой возможностью, следует в блок 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 не имеет смысла.

Поделиться с друзьями: