Служба DNS, обеспечивающая преобразование доменных имен в IP-адреса, — не просто система распознавания имен для всего Интернета. Это критически важный компонент Active Directory (AD), необходимый для обнаружения сетевых ресурсов. Но несмотря на повсеместный переход с системы WINS на DNS в сетях Windows в последнее десятилетие, начинающим администраторам все так же трудно разобраться в сложной иерархической организации DNS.

.

Интеграция Active Directory и DNS

Чтобы понять, как DNS сочетается с AD, подготовим типовую структуру AD для средних и крупных компаний. Построим один лес с двумя доменами (рисунок 1). Первый домен часто именуется пустым корневым (empty root) или просто корневым доменом. Пустой корневой домен находится на верхнем уровне иерархии AD и, как видно из имени, не содержит никаких ресурсов. Благодаря доменам такого типа компании получают более гибкие и лучше разделенные роли безопасности, нежели в единственном лесе/единственном домене. Второй домен расположен ниже пустого корневого и потому является дочерним; он функционирует как основной домен компании, в котором расположены ресурсы (например, группы, учетные записи пользователей и компьютеров).

 

Рисунок 1. Один лес с двумя доменами

Начнем с запуска утилиты Dcpromo на первом сервере, чтобы создать лес и пустой корневой домен. Зарегистрируйтесь на сервере Server 2008 R2 в качестве администратора. Убедитесь, что серверу назначено подходящее имя, такое как DC1, и задайте IP-адрес, маску подсети и шлюз по умолчанию на сетевом адаптере сервера. Настройки DNS для сетевого адаптера можно оставить пустыми и предоставить Windows ввести локальный адрес.

Запустите утилиту Dcpromo из меню Start и создайте новый лес и домен с именем ADcompany.com. Обратите внимание, что я использовал AD как приставку к имени компании, чтобы разделить внутренние и внешние пространства имен DNS. ADCOMPANY будет именем NETBIOS для домена. Хотя домен предназначен только для внутреннего использования, важно зарегистрировать домен ADcompany.com в Интернете, чтобы исключить случайное перенаправление клиентов на устройство вне зоны контроля компании. Также принято использовать иерархию пространства имен AD.company.com, где AD становится именем NETBIOS для домена. В этом случае, если имя company.com уже зарегистрировано компанией в Интернете, не требуется никаких дополнительных действий.

На экране Additional Domain Controller Options должен быть установлен флажок DNS server. Нажмите кнопку Next, и Dcpromo начнет проверять назначенные параметры. Система выдаст предупреждение о невозможности создать делегирование, так как не найдена полномочная родительская зона. Другими словами, Dcpromo не может найти полномочный сервер DNS (то есть сервер, содержащий основной или вторичный экземпляр данных зоны для домена. com), где можно создать зону делегирования для домена ADcompany.com.

В зоне DNS содержатся все записи ресурсов для одной части пространства имен, такой как ADCOMPANY или COM. Это внутренний корневой домен AD, поэтому запись делегирования в общедоступной зоне COM необязательна, и предупреждение можно игнорировать. Значение делегирования прояснится после создания дочернего домена.

Тестирование с использованием Dcdiag

После завершения работы Dcpromo перезагрузите сервер. Чтобы убедиться, что с новым сервером все в порядке, откройте командную строку и запустите утилиту Dcdiag. Если DNS и другие важные компоненты AD настроены верно, последовательность тестов будет выполнена успешно.

Перед запуском Dcdiag нужно очистить журналы событий System и DFS Replication, чтобы не получать сообщения о сбоях из-за сообщений об ошибках в ходе организации домена. Например, ошибки репликации DFS обычно регистрируются при первом запуске Dcdiag на новом контроллере домена (DC). Однако их появление не обязательно свидетельствует о неполадках DNS, которые часто оказываются причиной отказов репликации. После очистки журналов событий запустите команду

dcdiag/test: dfsrevent

Тест должен завершиться успешно.

Пока не задан источник времени, будут наблюдаться ошибки службы W32tm (служба Windows Time) в ходе проверок Dcdiag для контроллера корневого домена. Сведения о настройке службы Windows Time приведены в статье Microsoft «How to configure an authoritative time server in Windows Server» по адресу support.microsoft.com/kb/816042.

Корневые ссылки

Если AD DNS функционирует, а DC подключен к Интернету, установленный сервер DNS должен преобразовывать имена доменов Интернета, хотя серверы пересылки не настроены и не указан IP-адрес сервера DNS провайдера Интернета в настройках сетевого адаптера DC. Сервер DNS содержит корневые ссылки, указывающие на серверы DNS верхнего уровня в Интернете. Таким образом можно обслуживать запросы относительно имен, которых он не имеет в своем кэше.

Чтобы увидеть корневые ссылки, загруженные из файла cache.dns, откройте оснастку DNS из раздела Administrative Tools в меню Start. В консоли DNS щелкните правой кнопкой мыши на сервере DNS в левой области и выберите пункт Properties. В диалоговом окне свойств сервера перейдите на вкладку Root Hints (экран 1).

 

Экран 1. Просмотр корневых ссылок

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

Итеративные и рекурсивные запросы

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

Настройка конфигурации дочернего домена

После успешной проверки преобразования внутренних и интернет-имен в корневом домене, можно добавить дочерний домен с именем HR (HR.ADcompany.com), в котором будут находиться все ресурсы. Зарегистрируйтесь на втором компьютере Server 2008 R2 в качестве локального администратора и убедитесь, что ему назначено подходящее имя, например DC2. Назначьте IP-адрес и маску подсети, затем задайте основной сервер DNS для сетевого адаптера сервера, указав IP-адрес контроллера домена в корневом домене. После запуска Dcpromo должны быть обнаружены корневой домен DNS и контроллер домена, поэтому необходимо настроить сервер DNS, способный ответить на эти запросы.

Прежде чем начать, выполните команду

dcdiag/test: dcpromo/dnsdomain: HR
   . ADcompany.com/ChildDomain

чтобы убедиться в правильности настроек, необходимых для назначения сервера контроллером домена, указанного с использованием ключа /dnsdomain.

Запустите Dcpromo из меню Start, на этот раз чтобы создать новый домен в существующем лесу. На экране Network Credentials введите лес домена (ADcompany.com) и учетную запись, имеющую членство в группе Enterprise Administrators в корневом домене (экран 2). В диалоговом окне Name the New Domain введите полное имя FQDN корневого домена (ADcompany.com) и однокомпонентное имя для нового дочернего домена (HR), как показано на экране 3. В диалоговом окне Additional Domain Controller Options выберите DNS server. На остальных этапах принимайте параметры по умолчанию.

 

Экран 2. Создание нового домена в существующем лесу

 

Экран 3. Назначение имени новому домену

В ответ на приглашение перезагрузите сервер и запустите Dcdiag на контроллере домена HR, чтобы убедиться в правильности функционирования всех компонентов. При запуске Dcdiag соблюдайте рекомендации, приведенные выше.

Откройте командную строку и выполните

ipconfig/all

Обратите внимание, что основной сервер DNS сетевого адаптера сервера настроен на локальный адрес сервера, а IP-адрес сервера DNS корневого домена смещен для использования в качестве дополнительного сервера DNS.

Делегирование и пересылка

Продолжая работать из командной строки, проверьте, можно ли установить связь с контроллером домена в корневом домене, используя однокомпонентное имя контроллера домена (DC1) или полное имя (DC1.ADcompany.com). При наличии подключения к Интернету должна существовать связь с именем домена в Интернете из дочернего DC домена. С контроллера корневого домена проверьте связь с DC в дочернем домене. Сервер DNS в дочернем домене направляет запросы к ресурсам ADcompany.com на сервер пересылки, автоматически настраиваемый в ходе выполнения Dcpromo. Увидеть конфигурацию можно, открыв консоль сервера DNS на контроллере дочернего домена из раздела Administrative Tools меню Start. В консоли DNS щелкните правой кнопкой мыши сервер в левой панели и выберите пункт Properties. В диалоговом окне свойств перейдите на вкладку Forwarders; видно, что сервер настроен на пересылку всех запросов, которые не удается обработать, на сервер DNS корневого домена. Пересылаются как внутренние, так и интернет-запросы; в этом отличие от сервера условной пересылки, настроенного на пересылку запросов, которые не удается обработать локально, только для определенного пространства имен.

В противоположность этому, на сервере DNS корневого домена находится запись делегирования (иногда именуемая зоной делегирования) для домена HR. Запись также настраивается как часть процесса Dcpromo для контроллера дочернего домена и позволяет контроллеру корневого домена обнаружить ресурсы в дочернем домене. Откройте консоль DNS на контроллере корневого домена; в левой панели разверните узлы DNS Server, Forward Lookup Zones, ADCompany.com. Щелкните зону делегирования HR в нижней части дерева. В правой панели находится запись типа A узла для сервера DNS дочернего домена. Делегирование и пересылка — стандартные механизмы Windows Server для преобразования в верхних и нижних областях непрерывного пространства имен DNS, как показано на рисунке 2.

 

Рисунок 2. Делегирование и пересылка

Регрессирование DNS

Регрессирование DNS — функция DNS-клиента Windows. Это не новшество Server 2008 R2 или Windows 7, однако таким образом удается повысить уровень безопасности. С контроллера дочернего домена можно проверить связь с ресурсами в корневом домене, не указывая имя FQDN (то есть связаться с DC1, не вводя DC1.ADcompany.com). То же относится к DC корневого домена; можно успешно проверить связь с DC2 без имени FQDN.

По умолчанию в ходе регрессирования предпринимается попытка преобразовать однокомпонентное имя, добавляя домены из основного суффикса DNS (PDS) клиента. Поэтому компьютер, принадлежащий домену AD.contoso.com, в первую очередь попытается разрешить имя компьютера как DC1.AD.contoso.com, а затем DC1.contoso.com. Попытки разрешить DC1.com не будет, так как уровень регрессирования по умолчанию — 2 (стандартное значение в Windows до появления Server 2008 R2 и Windows 7). В некоторых ситуациях уровень по умолчанию 2 порождает опасения в отношении безопасности, если клиенты DNS пытаются преобразовать полные имена (FQDN) за пределами контроля компании. Например, рассмотрим следующий набор запросов при уровне регрессирования, равном 2: DC1.HR.company.co.us, DC1.company.co.us, DC1.co.us. Последний запрос, DC1.co.us, находится вне области контроля компании, и клиент может случайно установить связь с вредоносным компьютером в Интернете.

В Server 2008 R2 и Windows 7 действие по умолчанию — установить уровень регрессирования равным количеству меток в корневом домене леса (FRD), если PDS завершается корневым доменом леса. В данном случае PDS — HR.ADcompany.com, а корневой домен леса — ADcompany.com, поэтому по умолчанию в Server 2008 R2 и Windows 7 регрессирование включено, а уровень для клиентов DNS установлен равным 2. Компания Microsoft выпустила обновление, чтобы изменить подход к регрессированию DNS в Windows Vista, Windows XP и Windows 2000. Дополнительные сведения об обновлении можно найти в статье Microsoft «Postinstallation behavior on client computers after you install the DNS update» по адресу support.microsoft.com/kb/957579.

Порядок просмотра суффиксов DNS

Если добавить в лес третий домен, finance.ADcompany.com, регрессирование DNS может оказаться недостаточным для преобразования однокомпонентных имен ресурсов в HR.ADcompany.com от клиентов в домене FINANCE. Преобразование однокомпонентного имени совершается из домена FINANCE, если попытаться обратиться к ресурсам в домене HR, когда все устройства находятся в одной физической подсети. Это объясняется тем, что Windows выполняет широковещательную передачу для IP-адреса, если не удается успешно преобразовать имя из локального кэша компьютера или настроенного сервера DNS.

Если использовать Nslookup для тестирования разрешения DNS, выясняется, что без просмотра суффиксов DNS необходимо ввести полное имя ресурса, расположенного в домене HR, поскольку Nslookup, как инструмент для тестирования преобразования имен DNS, использует исключительно DNS. Чтобы протестировать DNS с помощью Nslookup, откройте командную строку из меню Start и введите nslookup.

В ответ на приглашение введите полное или однокомпонентное имя, которое нужно преобразовать, и нажмите клавишу Enter. Nslookup выдаст IP-адрес или сообщит о неудачном завершении поиска.

Если разрешение однокомпонентных имен во всех доменах AD имеет большое значение, то можно настроить порядок просмотра суффиксов DNS на всех устройствах, составив список всех основных суффиксов DNS, которые нужно разрешать (например, finance.ADcompany.com, HR.ADcompany.com и ADcompany.com). Если суффикс DNS настроен для клиента DNS, регрессирование DNS автоматически отключается. Порядок просмотра можно настроить вручную (выберите Change adapter settings в центре управления сетями и общим доступом Windows 7) для каждого сетевого адаптера на вкладке DNS в диалоговом окне Advanced TCP/IP Settings для свойств IPv6 и IPv4. Иначе порядок просмотра можно настроить с использованием списка с разделительными запятыми из параметра DNS Suffix Search List в разделе Computer Configuration, Policies, Administrative Templates, Network, DNS Client in Group Policy (для Windows Server 2003, XP и более поздних версий).

Аналогично, если сформировать новую зону DNS, secure.HR.ADcompany.com, на сервере DNS HR с целью создания отдельной зоны для важных ресурсов сервера, защищенных с использованием расширений безопасности DNS (DNSSEC), то необходимо установить порядок просмотра суффикса DNS, чтобы клиенты DNS могли обнаружить ресурсы в новой зоне по однокомпонентному имени. В этом случае требуется новая зона DNS, так как DNSSEC не поддерживает динамические обновления — возможность клиентов хранить записи для автоматического обновления сервера, что является обычным и желательным режимом зон DNS, в которых хранятся записи узлов для клиентских компьютеров.

Как правило, IP-адреса компьютеров серверов не изменяются, поэтому защищенными зонами можно управлять вручную.

Условная пересылка

Кроссдоменные запросы для двух дочерних доменов, finance.ADcompany.com и HR.ADcompany.com, можно разрешать более эффективно, не отправляя рекурсивные запросы в сервер DNS в корневом домене леса, если настроить условную пересылку на серверах DNS в обоих дочерних доменах. Условная пересылка имеет приоритет перед пересылкой на уровне сервера. Ее эффективность выше благодаря возможности передавать запросы к определенным доменным суффиксам на заранее определенный сервер DNS, как показано на рисунке 3.

 

Рисунок 3. Условная пересылка

Сервер DNS в HR.ADcompany.com будет содержать сервер пересылки, который отправляет все запросы для finance.ADcompany.com на основной сервер DNS для домена FINANCE и наоборот. Для настройки условной пересылки откройте консоль DNS на контроллере домена в домене HR из раздела Administrative Tools меню Start. В левой панели консоли DNS разверните DNS server, щелкните правой кнопкой мыши Conditional Forwarders и выберите из меню пункт New Conditional Forwarder. В диалоговом окне New Conditional Forwarder введите finance.adcompany.com в поле DNS Domain. В поле IP addresses of the master servers введите IP-адрес или имя сервера DNS в домене FINANCE и нажмите клавишу Enter. Нажмите кнопку OK, затем повторите процесс на сервере DNS в домене FINANCE, но укажите HR.ADcompany.com в поле DNS Domain и IP-адрес сервера DNS в домене HR.

Сложности DNS

В одной статье невозможно всесторонне рассмотреть проблему. Например, существуют два типа зон, дополнительные и зоны-заглушки, с помощью которых можно повысить производительность, а также новая функция Server 2008 R2, такая как DNSSEC. Но понимание основ совместной работы DNS и AD в интегрированном решении поможет более успешно развертывать AD и выполнять диагностику. Главное, в ходе тестирования новой или существующей инфраструктуры AD убедитесь, что каждый домен может обращаться к ресурсам во всех доверенных доменах. Кроме того, организуйте делегирование и условную пересылку для разрешения между пространствами имен. Соблюдение этих основных правил поможет более эффективно использовать DNS в сложной среде AD.

Рассел Смит (rms@russell-smith.net) — независимый ИТ-консультант, специализируется на управлении системами