Оператор zone в файле named.conf, имеющий тип hints, указывает на файл инициализации кэша. Каждый сервер, кэширующий данные, имеет такой файл.
Файл содержит информацию, позволяющую начать построение кэша данных домена после запуска сервера имен. Корневой домен обозначается в операторе zone одной точкой в поле имени домена, поскольку файл инициализации кэша содержит имена и адреса корневых серверов.
Файл named.ca называют файлом «указателей» потому, что он содержит указания, позволяющие демону named инициализировать кэш. Указатели предоставляют данные об именах и адресах корневых серверов имен. Файл указателей помогает локальному серверу обнаружить корневой сервер во время запуска. Когда найден один корневой сервер, локальный сервер получает от него официальный перечень корневых серверов. Указатели используются вновь только в случае принудительного перезапуска локального сервера. Информация из файла named.ca используется нечасто, но она критична для начального этапа работы сервера named.
Простейший файл named.ca содержит NS-записи с именами корневых серверов и А-записи с адресами корневых серверов. Пример такого файла:
; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 ; B.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 0.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 1.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A 3600000 NS 3600000 IN A B.ROOT-SERVERS.NET. 128.9.0.107 C.ROOT-SERVERS.NET. 192.33.4.12 D.ROOT-SERVERS.NET. 128.8.10.90 E.ROOT-SERVERS.NET. 192.203.230.10 F.ROOT-SERVERS.NET. 192.5.5.241 G.ROOT-SERVERS.NET. 192.112.36.4 H.ROOT-SERVERS.NET. 128.63.2.53 I.ROOT-SERVERS.NET. 192.36.148.17 J.ROOT-SERVERS.NET. 198.41.0.10 K.ROOT-SERVERS.NET. 193.0.14.129 L.ROOT-SERVERS.NET. 198.32.64.12 M.ROOT-SERVERS.NET. 202.12.27.33
Данный файл содержит только NS- и А-записи. Каждая NS-запись определяет сервер имен для корневого домена (.). Соответствующая А-запись содержит адрес для каждого корневого сервера. Значение TTL для всех записей равно 3600000, что примерно соответствует 42 дням.
Копию файла named.ca можно сделать с файла domain/named.root, хранящегося на анонимном FTP-сервере ftp.rs.internic.net. Данный файл имеет формат, подходящий для применения в Unix-системе. Приводимый ниже листинг отражает копирование файла корневых указателей администратором системы в локальный файл named.ca. Полученный файл можно даже не редактировать, он готов к применению.
# ftp ftp.rs.lnternic.net
Connected to rs.internic.net.
220-*****Welcome to the InterNIC Registration Host
*****Login with username "anonymous"
.....You may change
policy
templates
directories to the following:
netinfo
domain
- Registration Policies
- Registration Templates
- NIC Information Files
- Root Domain Zone Files
220 And more!
Name (ftp.rs.internic.net:craig): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
230 Guest login ok, access restrictions apply.
Remote system type is Unix.
Using binary mode to transfer files.
ftp> get /domain/named.root /var/named/named.ca
local: /var/named/named.ca remote: /domain/named.root
200 PORT command successful.
150 Opening BINARY mode data connection for /domain/named.root (2769 bytes).
226 Transfer complete.
2769 bytes received in 0.998 sees (2.7 Kbytes/sec)
ftp> quit
221 Goodbye.
Обновляйте файл named.root раз в несколько месяцев, чтобы информация о корневых серверах имен всегда была актуальной. Некорректные сведения о корневых серверах имен могут служить источником проблем для локального сервера. Приведенные выше данные являются актуальными на момент публикации книги, но могут и измениться.
Если ваша система не подключена к Интернету, она не сможет обмениваться данными с корневыми серверами. В таком случае инициализация файла указателей перечисленными выше данными серверов будет бесполезна, и следует хранить в этом файле указатели на крупные серверы имен локальной сети. Эти серверы должны быть настроены на обработку запросов по «корневому» домену. Однако этот корневой домен содержит только NS-записи доменных серверов, расположенных в локальной сети. Например, предположим, что домен wrotethebook.com не подключен к Интернету, а узлы crab и horseshoe функционируют в качестве корневых серверов этого изолированного домена. Файл named.conf узла crab обозначает этот сервер в качестве основного для корневого домена, horseshoe - подчиненный сервер корневого домена. Они загружают данные корневого домена из файла зоны, начинающегося с SOA- записи, обозначающей crab в качестве сервера и предоставляющей внутреннюю точку контакта. За SOA-записью в файле следуют NS-записи и А-записи, обозначающие узлы crab и horseshoe в качестве компетентных серверов корневого домена и делегирующие домены wrotethebook.com и 16.172.inaddr.arpa локальным серверам имен, на которые возложена задача обслуживания этих доменов. (О том, как делегируются домены, мы поговорим позже в этой главе.) Подробности данного варианта настройки рассмотрены в книге Альбитца и Ли «DNS и BIND» (издательство O'Reilly и Associates).