Глава 24 РазРешениеимен 24.1. Введение

Механизм разрешения имен состоит из двух компонентов: DNS (Domain Name
System) и файла hosts. Протокол DHCP (Dynamic Host Configuration Protocol)
имеет непосредственное отношение к разрешению имен: DHCP берет на себя «чер ную работу» по назначению IP-адресов отдельным хостам. Серверы должны иметь
статические IP-адреса, а рабочим станциям вполне хватает динамических адре сов — просто подключите их к сети, a DHCP сделает все остальное.
Служба DNS, лежащая в основе функционирования Интернета, обеспечивает
разРешениеимен, то есть преобразование символьных имен хостов в числовые ад реса. Несмотря на простоту концепции, для ее реализации пришлось создать ог ромную инфраструктуру. Теоретически без DNS можно было бы обойтись — в кон це концов, мы же используем сложные почтовые адреса и номера телефонов из
повседневной жизни. Тем не менее механизм разрешения имен обладает многи ми преимуществами. С одним IP-адресом может быть связано несколько имен;
символьные имена лучше запоминаются. Наконец, серверам можно присвоить
имена толкиновских героев, мифологических персонажей или красивые астроно мические термины (допустим, последнее обстоятельство не так важно, но зато
интересно).

Реализация DNS

Одна из трудностей, с которой сталкиваются администраторы при настройке соб ственных серверов DNS, заключается в том, что подавляющее большинство доку ментации ориентировано на BIND (Berkeley Internet Name Domain) — самый ста рый и распространенный сервер DNS. Может показаться, что BIND — это и есть
протокол DNS, а не одна из его реализаций.
В этой главе рассматривается сервер DNS djbdns. На мой взгляд, он лучше
BIND; djbdns компактен, имеет модульную структуру, работает очень быстро
и очень хорошо защищен. Кроме того, он прост в настройке и устойчив, посколь ку управляющие демоны автоматически перезапускают его в случае неожиданных
сбоев. Репликация сервера djbdns также эффективно и безопасно осуществляется
стандартными средствами Linux (такими, как rsync через ssh), а это означает, что
вы можете легко защитить пересылку файлов данных с использованием ключей
SSH.
Сервер BIND существует очень давно и получил широкое распространение.
С другой стороны, он представляет собой одну монолитную программу, что ус ложняет его адаптацию. В сущности, все, что вы можете сделать, — это определить
разные конфигурации для разных применений, но такой подход малоэффективен
для отключения ненужных компонентов. Из-за этого в BIND давно возникали
проблемы с безопасностью. Более того, вместо удобных, надежных, стандартных
средств Unix в BIND используются странные закрытые методы репликации зон ных файлов на вторичные серверы. Даже до появления rsync не было недостатка
в контролируемых механизмах пересылки файлов, так что причина появления
этих протоколов, специфических для BIND, остается загадочной.

Терминология DNS

Термином DNS обозначаются три понятия: протокол DNS, механизм разреше ния имен и вся система его реализации, состоящая из регистраторов доменных
имен, корневых серверов, ответственных' серверов, IANA и региональных коор динаторов, ICANN и кэширующих серверов DNS, обеспечивающих распределе ние нагрузки. Вот некоторые термины и названия, с которыми вам стоит озна комиться.
О I AN A (Internet Assigned Numbers Authority) — Агентство по выделению имен
и уникальных параметров протоколов Интернета; группа, координирующая
назначение IP-адресов в мировом масштабе (как IPv4, так и IPv6).
О ICANN (Internet Corporation for Assigned Names and Numbers) — Корпора ция по назначению адресов и имен Интернета. В частности, ICANN осуще ствляет надзор над назначением и регистрацией доменных имен.
О Корневые серверы — всего существует 13 корневых серверов DNS. Чтобы
получить их список, введите команду dig без параметров. Все корневые сер веры, кроме трех, расположены в США. Впрочем, серверы С, F, I, J и К пред ставляют собой географически распределенные кластеры, поэтому фактичес кое количество корневых серверов гораздо больше, и они распределены по
всей планете.
О Авторитетные серверы — серверы DNS, находящиеся под управлением хост мастера домена и содержащие полную информацию о соответствии имен IP адресам. Корневые серверы имен не содержат реальных записей DNS; они
всего лишь содержат ссылки на авторитетные серверы имен или другие сер веры, которым известен маршрут к авторитетным серверам имен.
О Кэширующий сервер (кэширующий резольвер DNS) — кэширующие серве ры помогают справиться с гигантским трафиком и сложностью структуры.
Если бы каждый запрос DNS для домена обрабатывался авторитетным сер Authoritativc. - Примеч. ред.
вером, вся схема вскоре остановилась бы. Этого не происходит, потому что
Интернет наполнен кэширующими серверами DNS. Кэширующие серверы
выполняют огромный объем работы — они обращаются к внешним серверам
для удовлетворения запросов DNS и сохраняют результаты поиска в памяти
для прямого обслуживания последующих запросов.