Вариант 1 (итеративный запрос)

Служба DNS (домены, зоны; зоны прямого и обратного просмотра; основные и дополнительные зоны; рекурсивный и итеративный запросы на разрешение имен).

Историческая справка: Систему доменных имен разработал в 1983 году Пол Мокапетрис. Тогда же было проведено первое успешное тестирование DNS, ставшей позже одним из базовых компонентов сети Internet. С помощью DNS стало возможным реализовать масштабируемый распределенный механизм, устанавливающий соответствие между иерархическими именами сайтов и числовыми IP-адресами.

В 1983 году Пол Мокапетрис работал научным сотрудником института информатики (InformationSciencesInstitute, ISI), входящего в состав инженерной школы университета Южной Калифорнии (USC). Его руководитель, Джон Постел, предложил Полу придумать новый механизм, устанавливающий связи между именами компьютеров и адресами Internet, - взамен использовавшемуся тогда централизованному каталогу имен и адресов хостов, который поддерживала калифорнийская компания SRI International.

"Все понимали, что старая схема не сможет работать вечно, - вспоминает Мокапетрис. - Рост Internet становился лавинообразным. К сети, возникшей на основе проекта ARPANET, инициированного Пентагоном, присоединялись все новые и новые компании и исследовательские институты".

Предложенное Мокапетрисом решение - DNS - представляло собой распределенную базу данных, которая позволяла организациям, присоединившимся к Internet, получить свой домен.

"Как только организация подключалась к сети, она могла использовать сколь угодно много компьютеров и сама назначать им имена", - подчеркнул Мокапетрис. Названия доменов компаний получили суффикс .com, университетов - .edu и так далее.

Первоначально DNS была рассчитана на поддержку 50 млн. записей и допускала безопасное расширение до нескольких сотен миллионов записей. По оценкам Мокапетриса, сейчас насчитывается около 1 млрд. имен DNS, в том числе почти 20 млн. общедоступных имен. Остальные принадлежат системам, расположенным за межсетевыми экранами. Их имена неизвестны обычным Internet-пользователям.

Новая система внедрялась постепенно, в течение нескольких лет. В это время ряд исследователей экспериментировали с ее возможностями, а Мокапетрис занимался в ISI обслуживанием и поддержанием стабильной работы "корневого сервера", построенного на мэйнфреймах компании DigitalEquipment. Копии таблиц хостов хранились на каждом компьютере, подключенном к Internet, еще примерно до 1986 года. Затем начался массовый переход на использование DNS.

Необходимость отображения имен сетевых узлов в IP-адреса

Компьютеры и другие сетевые устройства, отправляя друг другу пакеты по сети, используют IP-адреса. Однако пользователю (человеку) гораздо проще и удобнее запомнить некоторое символические имена сетевых узлов, чем четыре бессодержательных для него числа. Однако, если люди в своих операциях с сетевыми ресурсами будут использовать имена узлов, а не IP-адреса, тогда должен существовать механизм, сопоставляющий именам узлов их IP-адреса.

Есть два таких механизма - локальный для каждого компьютера файл hosts и централизованная иерархическая служба имен DNS.

Использование локального файла hosts и системы доменных имен DNS для разрешения имен сетевых узлов

На начальном этапе развития сетей, когда количество узлов в каждой сети было небольшое, достаточно было на каждом компьютере хранить и поддерживать актуальное состояние простого текстового файла, в котором содержался список сетевых узлов данной сети. Список устроен очень просто - в каждой строке текстового файла содержится пара "IP-адрес - имя сетевого узла". В системах семейства Windows данный файл расположен в папке %systemroot%\system32\drivers\etc (где %systemroot% обозначает папку, в которой установлена операционная система). Сразу после установки системы Windows создается файл hosts с одной записью 127.0.0.1 localhost.

С ростом сетей поддерживать актуальность и точность информации в файле hosts становится все труднее. Для этого надо постоянно обновлять содержимое этого файла на всех узлах сети. Кроме того, такая простая технология не позволяет организовать пространство имен в какую-либо структуру. Поэтому появилась необходимость в централизованной базе данных имен, позволяющей производить преобразование имен в IP-адреса без хранения списка соответствия на каждом компьютере. Такой базой стала DNS (DomainNameSystem) - система именования доменов, которая начала массовую работу в 1987 году.

Заметим, что с появлением службы DNS актуальность использования файла host совсем не исчезла, в ряде случаев использование этого файла оказывается очень эффективным.

Служба DNS: пространство имен, домены

DNS - это иерархическая база данных, сопоставляющая имена сетевых узлов и их сетевых служб IP-адресам узлов. Содержимое этой базы, с одной стороны, распределено по большому количеству серверов службы DNS, а с другой стороны, является централизованно управляемым. В основе иерархической структуры базы данных DNS лежит доменное пространство имен (domainnamespace), основной структурной единицей которого является домен, объединяющий сетевые узлы (хосты), а также поддомены. Процесс поиска в БД службы DNS имени некоего сетевого узла и сопоставления этому имени IP-адреса называется "разрешением имени узла в пространстве имен DNS".

Служба DNS состоит из трех основных компонент:

  • Пространство имен DNS и соответствующие ресурсные записи (RR, resourcerecord) - это сама распределенная база данных DNS;
  • Серверы имен DNS - компьютеры, хранящие базу данных DNS и отвечающие на запросы DNS-клиентов;
  • DNS-клиенты (DNS-clients, DNS-resolvers) -компьютеры, посылающие запросы серверам DNS для получения ресурсных записей.

Пространство имен.

Пространство имен DNS - иерархическая древовидная структура, начинающаяся с корня, не имеющего имени и обозначаемого точкой ".". Схему построения пространства имен DNS лучше всего проиллюстрировать на примере сети Интернет (рис. 4.8).

Рис. 4.8.

Для доменов 1-го уровня различают 3 категории имен:

  • ARPA - специальное имя, используемое для обратного разрешения DNS (из IP-адреса в полное имя узла);
  • Общие (generic) имена 1-го уровня - 16 (на данный момент) имен, назначение которых приведено в табл. 4.4;
  • Двухбуквенные имена для стран - имена для доменов, зарегистрированных в соответствующих странах (например, ru - для России, ua - для Украины, uk - для Великобритании и т.д.).

Таблица 4.4.

Имя домена Назначение
aero Сообщества авиаторов
biz Компании (без привязки к стране)
com Коммерческие организации, преимущественно в США (например, домен microsoft.com для корпорации Microsoft)
coop Кооперативы
edu Образовательные учреждения в США
gov Правительственные учреждения США
info Домен для организаций, предоставляющих любую информацию для потребителей
int международные организации (например, домен nato.int для НАТО)
mil Военные ведомства США
museum Музеи
name Глобальный домен для частных лиц
net Домен для Интернет-провайдеров и других организаций, управляющих структурой сети Интернет
org Некоммерческие и неправительственные организации, преимущественно в США
pro Домен для профессиональных объединений (врачей, юристов, бухгалтеров и др.)
job Кадровые агентства
travel Туроператоры

Для непосредственного отображения пространства имен в пространство IP-адресов служат т.н. ресурсные записи (RR, resourcerecord). Каждый сервер DNS содержит ресурсные записи для той части пространства имен, за которую он несет ответственность (authoritative). табл. 4.5 содержит описание наиболее часто используемых типов ресурсных записей.

Таблица 4.5.

Тип ресурсной записи Функция записи Описание использования
A HostAddress Адрес хоста, или узла Отображает имя узла на IP-адрес (например, для домена microsoft.com узлу с именем www.microsoft.com сопоставляется IP-адрес с помощью такой записи: www A 207.46.199.60 )
CNAME CanonicalName (alias) Каноническое имя (псевдоним) Отображает одно имя на другое
MX MailExchanger Обмен почтой Управляет маршрутизацией почтовых сообщений для протокола SMTP
NS NameServer Сервер имен Указывает на серверы DNS, ответственные за конкретный домен и его поддомены
PTR Pointer Указатель Используется для обратного разрешения IP-адресов в имена узлов в домене in-addr.arpa
SOA StartofAuthority Начальная запись зоны Используется для указания основного сервера для данной зоны и описания свойств зоны
SRV ServiceLocator Указатель на службу Используется для поиска серверов, на которых функционируют определенные службы (например, контроллеры доменов ActiveDirectory или серверы глобального каталога)

Полное имя узла (FQDN, fullyqualifieddomainname) состоит из нескольких имен, называемых метками (label) и разделенных точкой. Самая левая метка относится непосредственно к узлу, остальные метки - список доменов от домена первого уровня до того домена, в котором находится узел (данный список просматривается справа налево).

Серверы имен DNS.

Серверы имен DNS (или DNS-серверы) - это компьютеры, на которых хранятся те части БД пространства имен DNS, за которые данные серверы отвечают, и функционирует программное обеспечение, которое обрабатывает запросы DNS-клиентов на разрешение имен и выдает ответы на полученные запросы.

DNS-клиенты.

DNS-клиент - это любой сетевой узел, который обратился к DNS-серверу для разрешения имени узла в IP-адрес или, обратно, IP-адреса в имя узла.

Служба DNS: домены и зоны

Как уже говорилось выше, каждый DNS-сервер отвечает за обслуживание определенной части пространства имен DNS. Информация о доменах, хранящаяся в БД сервера DNS, организуется в особые единицы, называемые зонами (zones). Зона - основная единица репликации данных между серверами DNS. Каждая зона содержит определенное количество ресурсных записей для соответствующего домена и, быть может, его поддоменов.

Системы семейства WindowsServer поддерживают следующие типы зон:

  • Стандартная основная (standardprimary) - главная копия стандартной зоны; только в данном экземпляре зоны допускается производить какие-либо изменения, которые затем реплицируются на серверы, хранящие дополнительные зоны;
  • Стандартная дополнительная (standardsecondary) - копия основной зоны, доступная в режиме "только-чтение", предназначена для повышения отказоустойчивости и распределения нагрузки между серверами, отвечающими за определенную зону; процесс репликации изменений в записях зон называется "передачей зоны" ( zonetransfer ) (информация в стандартных зонах хранится в текстовых файлах, файлы создаются в папке "%systemroot%\system32\dns", имя файла, как правило, образуется из имени зоны с добавлением расширения файла ".dns"; термин "стандартная" используется только в системах семейства Windows);
  • Интегрированная в ActiveDirectory (ActiveDirectory–integrated) - вся информация о зоне хранится в виде одной записи в базе данных ActiveDirectory (такие типы зон могут существовать только на серверах Windows, являющихся контроллерами доменов ActiveDirectory; в интегрированных зонах можно более жестко управлять правами доступа к записям зоны; изменения в записях зоны между разными экземплярами интегрированной зоны производятся не по технологии передачи зоны службой DNS, а механизмами репликации службы ActiveDirectory);
  • Зона-заглушка( stub ; только в Windows 2003) - особый тип зоны, которая для данной части пространства имен DNS содержит самый минимальный набор ресурсных записей (начальная запись зоны SOA, список серверов имен, отвечающих за данную зону, и несколько записей типа A для ссылок на серверы имен для данной зоны).

Рассмотрим на примере соотношение между понятиями домена и зоны. Проанализируем информацию, представленную на рис. 4.9.

Рис. 4.9.

В данном примере пространство имен DNS начинается с домена microsoft.com, который содержит 3 поддомена: sales.microsoft.com, it.microsoft.com и edu.microsoft.com (домены на рисунке обозначены маленькими горизонтальными овалами). Домен - понятие чисто логическое, относящееся только к распределению имен. Понятие домена никак не связано с технологией хранения информации о домене. Зона - это способ представления информации о домене и его поддоменах в хранилище тех серверов DNS, которые отвечают за данный домен и поддомены. В данной ситуации, если для хранения выбрана технология стандартных зон, то размещение информации о доменах может быть реализовано следующим образом:

  • записи, относящиеся к доменам microsoft.com и edu.microsoft.com, хранятся в одной зоне в файле "microsoft.com.dns" (на рисунке зона обозначена большим наклонным овалом);
  • управление доменами sales.microsoft.com и it.microsoft.com делегировано другим серверам DNS, для этих доменов на других серверах созданы соответствующие файлы "sales.microsoft.com.dns" и "it.microsoft.com.dns" (данные зоны обозначены большими вертикальными овалами).

Делегирование управления - передача ответственности за часть пространства имен другим серверам DNS.

Зоны прямого и обратного просмотра

Зоны, рассмотренные в предыдущем примере, являются зонами прямого просмотра (forwardlookupzones). Данные зоны служат для разрешения имен узлов в IP-адреса. Наиболее часто используемые для этого типы записей: A, CNAME, SRV.

Для определения имени узла по его IP-адресу служат зоны обратного просмотра (reverselookupzones), основной тип записи в "обратных" зонах - PTR. Для решения данной задачи создан специальный домен с именем in-addr.arpa. Для каждой IP-сети в таком домене создаются соответствующие поддомены, образованные из идентификатора сети, записанного в обратном порядке. Записи в такой зоне будут сопоставлять идентификатору узла полное FQDN-имя данного узла. Например, для IP-сети 192.168.0.0/24 необходимо создать зону с именем "0.168.192.in-addr.arpa". Для узла с IP-адресом 192.168.0.10 и именем host.company.ru в данной зоне должна быть создана запись "10 PTR host.company.ru".

Алгоритмы работы итеративных и рекурсивных запросов DNS

Все запросы, отправляемые DNS-клиентом DNS-серверу для разрешения имен, делятся на два типа:

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

Обычные DNS-клиенты (например, рабочие станции пользователей), как правило, посылают рекурсивные запросы.

Рассмотрим на примерах, как происходит взаимодействие DNS-клиента и DNS-сервера при обработке итеративных и рекурсивных запросов.

Допустим, что пользователь запустил программу Обозреватель Интернета и ввел в адресной строке адрес http://www.microsoft.com. Прежде чем Обозреватель установит сеанс связи с веб-сайтом по протоколу HTTP, клиентский компьютер должен определить IP-адрес веб-сервера. Для этого клиентская часть протокола TCP/IP рабочей станции пользователя (так называемый resolver ) сначала просматривает свой локальный кэш разрешенных ранее имен в попытке найти там имя www.microsoft.com. Если имя не найдено, то клиент посылает запрос DNS-серверу, указанному в конфигурации TCP/IP данного компьютера (назовем данный DNS-сервер "локальным DNS-сервером"), на разрешение имени www.microsoft.com в IP-адрес данного узла. Далее DNS-сервер обрабатывает запрос в зависимости от типа запроса.

Вариант 1 (итеративный запрос).

Если клиент отправил серверу итеративный запрос (напомним, что обычно клиенты посылают рекурсивные запросы), то обработка запроса происходит по следующей схеме:

  • сначала локальный DNS-сервер ищет среди зон, за которые он отвечает, зону microsoft.com;

если такая зона найдена, то в ней ищется запись для узла www ; если запись найдена, то результат поиска сразу же возвращается клиенту;

в противном случае локальный DNS-сервер ищет запрошенное имя www.microsoft.com в своем кэше разрешенных ранее DNS-запросов;

если искомое имя есть в кэше, то результат поиска возвращается клиенту; если локальный DNS-сервер не нашел в своей базе данных искомую запись, то клиенту посылается IP-адрес одного из корневых серверов DNS;

  • клиент получает IP-адрес корневого сервера и повторяет ему запрос на разрешение имени www.microsoft.com;

корневой сервер не содержит в своей БД зоны "microsoft.com", но ему известны DNS-серверы, отвечающие за зону "com", и корневой сервер посылает клиенту IP-адрес одного из серверов, отвечающих за эту зону;

  • клиент получает IP-адрес сервера, отвечающего за зону "com", и посылает ему запрос на разрешение имени www.microsoft.com;

сервер, отвечающий за зону com, не содержит в своей БД зоны microsoft.com, но ему известны DNS-серверы, отвечающие за зону microsoft.com, и данный DNS-сервер посылает клиенту IP-адрес одного из серверов, отвечающих уже за зону microsoft.com;

  • клиент получает IP-адрес сервера, отвечающего за зону microsoft.com, и посылает ему запрос на разрешение имени www.microsoft.com;

сервер, отвечающий за зону microsoft.com, получает данный запрос, находит в своей базе данных IP-адрес узла www, расположенного в зоне microsoft.com, и посылает результат клиенту;

клиент получает искомый IP-адрес, сохраняет разрешенный запрос в своем локальном кэше и передает IP-адрес веб-сайта программе Обозреватель Интернета (после чего Обозреватель устанавливает связь с веб-сайтом по протоколу HTTP).

Вариант 2 (рекурсивный запрос).

Если клиент отправил серверу рекурсивный запрос, то обработка запроса происходит по такой схеме:

  • сначала локальный DNS-сервер ищет среди зон, за которые он отвечает, зону microsoft.com; если такая зона найдена, то в ней ищется запись для узла www ; если запись найдена, то результат поиска сразу же возвращается клиенту;

в противном случае локальный DNS-сервер ищет запрошенное имя www.microsoft.com в своем кэше разрешенных ранее DNS-запросов; если искомое имя есть в кэше, то результат поиска возвращается клиенту;

  • если локальный DNS-сервер не нашел в своей базе данных искомую запись, то сам локальный DNS-сервер выполняет серию итеративных запросов на разрешение имени www.microsoft.com, и клиенту посылается либо найденный IP-адрес, либо сообщение об ошибке.

Реализация службы DNS в системах семейства WindowsServer

Главная особенность службы DNS в системах семейства WindowsServer заключается в том, что служба DNS разрабатывалась для поддержки службы каталогов ActiveDirectory. Для выполнения этой функции требуются обеспечение двух условий:

  • поддержка службой DNS динамической регистрации (dynamicupdates);
  • поддержка службой DNS записей типа SRV.

Служба DNS систем WindowsServer удовлетворяет обоим условиям, и реализация служб каталогов ActiveDirectory может быть обеспечена только серверами на базе систем WindowsServer.

Рассмотрим несколько простых примеров управления службой DNS:

  • установка службы DNS;
  • создание основной и дополнительной зоны прямого просмотра;
  • создание зоны обратного просмотра;
  • выполнение динамической регистрации узлов в зоне.

Все рассматриваемые далее в пособии примеры были выполнены в следующей конфигурации:

  • сеть состоит из двух серверов Windows 2003 Server;
  • операционная система - ограниченная по времени 120-дневная русская версия Windows 2003 ServerEnterpriseEdition;
  • первый сервер установлен на ПК с процессором Intel Pentium-4 3Ггц и оперативной памятью 512 МБ, имя сервера - DC1, IP-адрес - 192.168.0.1/24 ;
  • второй сервер работает в качестве виртуальной системы с помощью MicrosoftVirtualPC 2004, имя сервера -DC2, IP-адрес - 192.168.0.2/24 ;
  • имя домена в пространстве DNS и соответствующее имя в службе каталогов ActiveDirectory - world.ru (сеть полностью изолирована от других сетей, поэтому в данном примере авторы были свободны в выборе имени домена; в реальной обстановке конкретного учебного заведения преподавателю нужно скорректировать данную информацию).

Подробные рекомендации по организации сети для изучения данного курса (как под руководством преподавателя в организованной группе, так и при самостоятельном изучении) изложены в указаниях к выполнению упражнений лабораторных работ в конце пособия.

Установка службы DNS

Установка службы DNS (как и других компонент системы) производится достаточно просто с помощью мастера установки компонент Windows:

  1. Откройте Панель управления.
  2. Выберите пункт "Установка и удаление программ".
  3. Нажмите кнопку "Установка компонентов Windows".
  4. Выберите "Сетевые службы" - кнопка "Дополнительно" (ни в коем случае не снимайте галочку у названия "Сетевые службы" ).
  5. Отметьте службу DNS.

Рис. 4.10.

  1. Кнопка "ОК", кнопка "Далее", кнопка "Готово".

Если система попросит указать путь к дистрибутиву системы, введите путь к папке с дистрибутивом.

Выполним данное действие на обоих серверах.

Создание основной зоны прямого просмотра.

На сервере DC1 создадим стандартную основную зону с именем world.ru.

  1. Откроем консоль DNS.
  2. Выберем раздел "Зоны прямого просмотра".
  3. Запустим мастер создания зоны (тип зоны - "Основная", динамические обновления - разрешить, остальные параметры - по умолчанию).
  4. Введем имя зоны - world.ru.
  5. Разрешим передачу данной зоны на любой сервер DNS ( Консоль DNS - зона world.ru - Свойства - Закладка "Передачи зон" - Отметьте "Разрешить передачи" и "На любой сервер" ).

Создание дополнительной зоны прямого просмотра.

На сервере DC2 создадим стандартную дополнительную зону с именем world.ru.

  1. Откроем консоль DNS.
  2. Выберем раздел "Зоны прямого просмотра"
  3. Запустим мастер создания зоны (выбрать: тип зоны - "Дополнительная", IP-адрес master-сервера (с которого будет копироваться зона) - адрес сервера DC1, остальные параметры - по умолчанию)
  4. Введем имя зоны - world.ru.
  5. Проверим в консоли DNS появление зоны.

Настройка узлов для выполнения динамической регистрации на сервер DNS.

Для выполнения данной задачи нужно выполнить ряд действий как на сервере DNS, так и в настройках клиента DNS.

Сервер DNS.

  1. Создать соответствующую зону.
  2. Разрешить динамические обновления.

Это нами уже выполнено.

Клиент DNS.

  1. Указать в настройках протокола TCP/IP адрес предпочитаемого DNS-сервера - тот сервер, на котором разрешены динамические обновления (в нашем примере - сервер DC1).
  2. В полном имени компьютера указать соответствующий DNS-суффикс (в нашем примере - world.ru ). Для этого - "Мой компьютер" - "Свойства" - Закладка "Имя компьютера" - Кнопка "Изменить" - Кнопка "Дополнительно" - в пустом текстовом поле впишем название домена world.ru - кнопка "ОК" (3 раза)).

Рис. 4.11.

После этого система предложит перезагрузить компьютер. После выполнения перезагрузки на сервер DNS в зоне world.ru автоматически создадутся записи типа A для наших серверов (рис. 4.12).

Рис. 4.12.

Создание зоны обратного просмотра.

  1. Откроем консоль DNS.
  2. Выберем раздел "Зоны обратного просмотра".
  3. Запустим мастер создания зоны (выбрать: тип зоны - "Основная", динамические обновления - разрешить, остальные параметры - по умолчанию)
  4. В поле "Код сети (ID)" введем параметры идентификатора сети - 192.168.0.
  5. Выполним команду принудительной регистрации клиента на сервере DNS - ipconfig /registerdns.

Наши серверы зарегистрируются в обратной зоне DNS (рис. 4.13):

Рис. 4.13.

 


Дата добавления: 2018-02-28; просмотров: 124;