. 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 не имеет смысла.
Таким образом, возвращаясь к настройке сервера, весь файл named.conf будет выглядеть так:
Листинг 13.7. Файл named.conf кэширующего сервера DNS
options {
directory '/var/named';
forward first;
forwarders {
81.3.165.35;
81.3.150.2;
};
// Раскомментируйте следующую строку, если брандмауэр
