2.1.168.192 IN PTR evg.dhsilabs.com
Запись PTR используется для преобразования IP-адреса в имя. Если указан не весь IP, например:
1 IN PTR den.dhsilabs.com
то к нему будет добавлен адрес подсети 1.168.192. IP-адреса указываются в обратном порядке!
Для установки файла корневого кэша следует установить пакет caching-nameserver, но я рекомендую получить и установить самую новую версию. Для этого подключитесь к Интернет, запустите сервер DNS, а затем выполните команду:
# nslookup | tee ns
В ответ на приглашение программы nslookup введите две команды
> set q=ns (или set type=ns)
> .
На экране вы увидите список корневых серверов DNS, который будет помешен в файл ns. Для преобразования файла ns в формат named.ca воспользуйтесь следующей программкой на awk (см. листинг 10.5).
Листинт 10.5. Сценарий reformat
#!/bin/awk
awk ` BEGIN {
/root/ { print ". INNS " $4"." }
/internet/ { print $1"." " 999999 IN a " $5 }
END `
Использовать ее нужно как reformat , то есть:
reformat ns named.ca
Теперь осталось скопировать named.ca в каталог /var/named и на этом — все.
А теперь покажу, как то же самое можно было сделать проще. Для этого следует воспользоваться программой dig, выполнив команду:
dig @e.root-servers.net.ns > root.hints.new
После этого остается просто заменить старый файл named.ca новым
файлом named.ca.new. Как видите, второй способ намного проще, но и
первый знать не помешает.
Обычно файл named.ca содержит примерно такую информацию:
. 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. 5w6dl6h IN A 192.112.36.4
J.ROOT-SERVERS.NET. 5w6dl6h IN A 198.41.0.10
K.ROOT-SERVERS.NET. 5w6dl6h IN A 193.0.14.129
L.ROOT-SERVERS.NET. 5w6dl6h IN A 198.32.64.12
M.ROOT-SERVERS.NET. 5w6dl6h IN A 202.12.27.33
A.ROOT-SERVERS.NET. 5w6dl6h IN A 198.41.0.4
H.ROOT-SERVERS.NET. 5w6dl6h IN A 128.63.2.53
B.ROOT-SERVERS.NET. 5w6dl6h IN A 128.9.0.107
C.ROOT-SERVERS.NET. 5w6dl6h IN A 192.33.4.12
D.ROOT-SERVERS.NET. 5w6dl6h IN A 128.8.10.90
E.ROOT-SERVERS.NET. 5w6dl6h IN A 192.203.230.10
I.ROOT-SERVERS.NET. 5w6dl6h IN A 192.36.148.17
F.ROOT-SERVERS.NET. 5w6dl6h IN A 192.5.5.241
Если вы настраиваете сервер DNS только для своей внутренней сети (intranet), которая не имеет выхода в Интернет, не спешите обновлять файл кэша! Он вам вообще не нужен. Вы также должны удалить зону, описывающую корневой кэш в файле named.conf.
Теперь остается сделать пару завершающих штрихов. Отредактируйте файл /etc/resolv.conf таким образом: с помощью директивы search укажите домены для поиска, а в качестве сервера по умолчанию — 127.0.0.1. Можно также указать и адрес реального интерфейса:
search subdomain.domain.com domain.com
nameserver 127.0.0.1
Как вы уже догадались, сервером DNS по умолчанию является первый сервер из списка nameserver. Напомню, что в списке может быть не более четырех серверов. Список доменов используется для поиска компьютера в
том случае, если указано только имя узла без домена. Например, если вы введете в окне браузера http://host, сначала будет выполнена попытка обращения к узлу host.subdomain.domain.com, а потом, если узел не будет найден, к узлу host.domain.com. Если и этот узел не будет найден, вы получите соответствующее сообщение. И еще: проверьте порядок разрешения имен в файле /etc/hosts.conf. Порядок должен быть задан так: order hosts,bind. Несмотря на то, что сейчас мы используем DNS, лучше сначала все же искать в файле hosts.
10.2. Кэширующий сервер DNS
Кэширующий сервер, как правило, не обслуживает домен, а используется для повышения скорости работы соединения. Для настройки кэширующего сервера используется параметр forwarders, задаваемый в файле named.conf (в блоке options). Рассмотрим пример: допустим, ваш сервер для разрешения какого-нибудь имени пытается добраться до одного из корневых серверов. А если у вас коммутируемое соединение да и модем на 14400? Сейчас выглядит смешно, но иногда бывают и такие ситуации, например, в моей системе спокойно уживаются два модема — один 56К V.90, а второй именно на 14К. В любом случае, если у вас нет собственного домена, а сервер DNS запущен на вашей машине, которую вы используете в гордом одиночестве, то с помощью вышеупомянутой директивы можно существенно повысить скорость соединения. Способ очень прост: можно заставить провайдера проделать за вас всю «грязную» работу. В обычной ситуации в процессе разрешения какого-нибудь имени ваш сервер будет последовательно запрашивать несколько удаленных корневых DNS-серве-ров, с каждым из которых надо установить соединение, отправить запрос и получить ответ. Создание у себя кэширующего DNS-сервера позволит возложить всю эту работу на DNS-сервер провайдера. При этом ваш DNS-сервер будет отсылать в сеть только. один запрос на разрешение имени (DNS-серверу провайдера) и получать только один окончательный ответ. Это особенно полезно, если у вас плохое соединение с Интернет.
Читать дальше
Конец ознакомительного отрывка
Купить книгу