msdcs зона что это
DNS-зона _msdcs.ForestName отсутствует
Основная статья по Active Directory — Active Directory Domain Services.
Если вам интересна тематика Windows Server, рекомендую обратиться к рубрике Windows Server на моем блоге.
Назначение зоны _msdcs.ForestName
Главным образом эта зона предназначена для определения расположения ключевых сервисов AD DS, таких как Глобальный каталог (см. Global catalog — Глобальный каталог), PDC (см. PDC emulator — Эмулятор первичного контроллера домена), Kerberos, LDAP, а также для определения GUID контроллеров домена AD (по записи GUID клиенты найдут контроллеры домена в случае переименования домена). В этой области каждый контроллер домена регистрирует SRV-записи собственных служб и отвечает за этот процесс служба Netlogon. Сама область является частью компонента Domain controller locator (Locator) 1 , внедренного в Windows Server 2003:
The Microsoft-specific subdomain enables location of domain controllers that have specific roles in the Active Directory domain or forest. Resource records for the DNS root domain of a new Active Directory forest are stored in a _msdcs zone instead of a subdomain, and that zone is stored in the forest-wide application directory partition.
Дело в том, что в норме для версий Windows Server 2003 и старше эта зона должна располагаться на том же уровне, что и зона корневого домена. Выглядит это примерно так (пример с моей тестовой инфраструктуры):
Но на серверах DNS в продакшене она являлась поддоменом корневого домена и отсутствовала на уровне раздела леса:
На самом деле в этом нет ничего плохого, поскольку во всем лесу у меня существует лишь один домен, но если доменов будет больше, это может вызвать проблемы. В BPA (Best Practices Analyzer) при этом вылезали ошибки отсутствия зоны (скриншоты для Windows Server 2012 R2 и 2008 R2 соответственно):
Почему так произошло? Дело в том, что в версиях Windows Server старше 2003 все устроено несколько иным образом и зона _msdcs действительно должна находиться на уровне поддомена корневого домена AD и при миграции с 2000 на 2003 должна быть перенастроена. По крайней мере это единственная известная мне причина 2 .
Пришло время все привести к тому виду, в котором оно и должно быть.
Перенастройка зоны _msdcs.ForestName
Начать необходимо с создания зоны прямого просмотра с нужным нам именем (нужны права администратора предприятия). Подробно весь процесс расписан на скриншотах ниже:
Новая зона должна быть основной (1), храниться в AD (2), реплицироваться на все КД в лесу (3) и иметь имя _msdcs.ForestName (4), где ForestName — имя корневого домена леса AD. Обновления записей зоны должны быть только безопасными (5).
После того как зона создана, необходимо зайти в её свойства и добавить серверы DNS, которые будут обслуживать эту зоны:
Дальше нужно перезапустить службу Netlogon на каждом контроллере домена и дождаться пока только что созданная зона автоматически заполнится необходимыми для работы записями. При этом может пройти достаточно продолжительный период времени — у меня процесс заполнения занял примерно 10 минут. Командную строку нужно запустить с правами администратора.
Также вместо существовавшей зоны _msdcs на уровне поддомена должна появиться запись делегирования. У меня это произошло без моего участия, но если вдруг у вас эта зона автоматически не создалась (у меня так было на тестовой инфраструктуре. Возможно из-за нехватки терпения), можно её создать вручную. Для этого:
Правой кнопкой на домене — Создать делегирование:
Основы работы DNS серверов
Автор: genadie от 6-04-2013, 22:39, посмотрело: 85472
DNS сервера решают одну из главных задач: для подключения к узлу необходимо знать его IP адрес, а людям гораздо проще запоминать обычные имена, чем IP адреса.
При большом стремлении можно изучить следующие RFC 1034 1035
Домен — Единица в дереве имен, вместе со всеми подчиненными узлами. Уровни домена считаются справа налево.
Поддомен — Подчиненный домен. К примеру: server1.moscow.domain.org
Ресурсная запись — Единица хранения информации, имеет имя и привязана к доменному имени. К примеру: server1.moscow.domain.org
Зона — Часть доменного имени вместе с ресурсными записями и поддоменами, которая хранится на одном сервере. Часто служит для передачи ответственности за актуальность данных третьим лицам.
Root-Hint — Well-known сервера отвечающие за корневой домен «.» (точка)
Ответственность — Бывает двух типов:
Рекурсивный и итеративный запрос
Есть два способа разрешения имен.
Первый это итеративный — это такой метод, при котором DNS сервер выступает в роли клиента и опрашивает другие DNS сервера в порядке убывания (начиная от корневых DNS серверов и заканчивая последним, авторитарным за нужную DNS зону ). Давайте рассмотрим как работает данный метод:
Второй это рекурсивный — это такой метод, при котором DNS сервер просто пересылает данные от клиента другому серверу, что бы он обработал данный запрос и вернул конечные данных. (другой сервер может работать рекурсивно или точно так же интерактивно )
Как пример можно привести следующий сюжет:
Обратный DNS запрос
Служит для обратной цели, для разрешения из ip в имя. Для этого зарезервирован специальный домен in-addr.arpa, в котором хранятся PTR записи. Октеты IP адреса хранятся в обратном порядке, будьте внимательны. Так для ip 1.2.3.4 будет создана запись вида 4.3.2.1.in-addr.arpa
Виды записей DNS серверов
Приведем только основные, т.к. их большое количество:
Порядок разрешения имен и поправки связанные с кэшированием
При запросе имени происходит несколько важных процедур, которые необходимо учитывать. Во первых это данные о связке имя — IP адрес может храиться в нескольких местах ( Hosts, DNS Cash, Lmhosts, DNS Server и др). Для того что бы полностью понимать принцип работы — нужно знать порядок в котором Windows пытается разрешить любое имя.
На данном рисунке показывается все пункты:
Поиск по всем 7-ми шагам прекращается как только находится первое вхождение, удовлетворяющие условиям.
Примечание:
-Посмотреть DNS кэш можно по команде c:\>ipconfig /displaydns
Windows IP Configuration
-Очистить DNS кэш можно по команде ipconfig /flushdns
c:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
Как можно самому посмотреть ответы на запросы?
Отличной утилитой для диагностики DNS является NSLookup.exe
На какие ключи я бы обратил внимание:
Приведу пример использования утилиты NSLookup. Допустим нам надо узнать MX и NS записи для домена mail.ru
Default Server: china-lo-oldnbn.ti.ru
mail.ru MX preference = 10, mail exchanger = mxs.mail.ru
mail.ru nameserver = ns.mail.ru
mail.ru nameserver = ns1.mail.ru
mail.ru nameserver = ns3.mail.ru
mail.ru nameserver = ns4.mail.ru
mail.ru nameserver = ns5.mail.ru
mail.ru nameserver = ns2.mail.ru
mxs.mail.ru internet address = 94.100.176.20 n
s4.mail.ru internet address = 94.100.178.64
ns.mail.ru internet address = 94.100.178.70
ns1.mail.ru internet address = 94.100.179.159
DNS сервера использую 53-й UDP порт для запросов. Обычно отвечают одной дейтаграммой.
Состав UDP датаграммы содержащей DNS запрос
Состав UDP дейтаграммы содержащей DNS ответ
Примечание: Все основные параметры и так понятны, не стану уточнять
DNS сервера на основе платформы MS Windows в доменной структуре.
В первой части я рассказал о основах DNS запросов, серверов и терминологии. Теперь приступим к изучении на конкретных примерах, я буду использовать стандартный DNS сервер из Windows 2008 R2. В этой части рассмотрю какие настройки можно покрутить и к чему это приведет, где хранятся данные о зонах, как планировать инфраструктуру DNS для корпоративной инфраструктуры.
Когда сервис DNS-сервера запускается, то в оперативную память помещаются данные из всех зон. Так же помним, что в памяти будет храниться кэш DNS запросов. Полезно будет помнить системные требования для DNS серверов:
Уровни безопасности Microsoft DNS серверов
Планирование пространства имен
Правильным решением будет расщепить структуру DNS на области действия ( локальная сеть и интернет ). Есть несколько типовых решений. Давайте их рассмотрим и решим какие же выбрать. Одно пространство имен. К преимуществам можно отнести одно пространство имен для локальной сети и интернет. При этом разные DNS сервера отвечают за разные ресурсные записи. Если внутренний DNS используется для Active Directory и подобных ресурсов, то внешний DNS используется для WWW сайтов, VPN точки вхождения и тд. Так же различные области видения зон.
Есть три вида DNS зон, каждая может использоваться для своих нужд:
Primary | Active Directory | Реплицируется в интегрированые DNS зоны в Active Directory | -Является точкой обновления для зоны -Доступ на чтение и запись |
File | Перемещается на Secondary DNS сервера | ||
Secondary | обеспечивает ограниченную отказоустойчивость | обеспечивает ограниченную отказоустойчивость | -Доступ только на чтение -Увеливает доступность DNS зоны Windows DNS сервера поддерживаю динамические обновления. Их несколько видов. Передача зон и репликация Поскольку для обеспечения высоко доступности DNS серверов применяют распределенные структуры. То необходимо синхронизировать обновление данных на всех серверах отвечающих за данную зону. Для этого и применяю передачу зон (репликацию в Active Directory). Места хранения зон Делегирование — процесс передачи прав на часть доменного имени, к примеру, другой организации, филиалу, и тд. Изучаем возможности Windows DNS сервера Основу мы прошли, теперь давайте пробежимся по возможностям, которые дает стандартный DNS. Для этого нужно установить роль DNS Server на сервере. Эти шаги пропустим, т.к. выходят за рамки данной статьи. Сетевые сервисы Windows 2012 — DNSВ своё время открыл для себя простую истину: хочешь запомнить что-то — веди конспект (даже при чтении книги), а хочешь закрепить и систематизировать — донеси до людей (напиши статью). Поэтому, после двух лет работы в системной интеграции (сфере, которую я в бытность свою системным администратором, считал просто рогом изобилия для жаждущих прокачки специалистов), когда я понял, что знания постепенно вытесняются навыками правки документации и конфигурированию по мануалам и инструкциям, для поддержания формы я начал писать статьи о базовых вещах. Например вот — о DNS. Делал тогда я это больше для себя, но подумал — вдруг кому пригодится. Сервис в современных сетях если не ключевой, то один из таковых. Те, для кого служба DNS — не нова, первую часть могут спокойно пропустить. Содержание:1. Основные сведения (анкеров нет, поэтому содержание без ссылок) 1. Основные сведенияDNS — это база данных, содержащая, в основном, информацию о сопоставлении имён сетевых объектов их IP-адресам. «В основном» — потому что там и ещё кое-какая информация хранится. А точнее, ресурсные записи (Resource Records — RR) следующих типов: А — то самое сопоставление символьного имени домена его IP адресу. АААА — то же что А, но для адресов IPv6. CNAME — Canonical NAME — псевдоним. Если надо чтобы сервер с неудобочитаемым именем, типа nsk-dc2-0704-ibm, на котором вертится корпоративный портал, откликался также на имя portal, можно создать для него ещё одну запись типа А, с именем portal и таким же IP-адресом. Но тогда, в случае смены IP адреса (всякое бывает), нужно будет пересоздавать все подобные записи заново. А если сделать CNAME с именем portal, указывающий на nsk-dc2-0704-ibm, то ничего менять не придётся. MX — Mail eXchanger — указатель на почтовый обменник. Как и CNAME, представляет собой символьный указатель на уже имеющуюся запись типа A, но кроме имени содержит также приоритет. MX-записей может быть несколько для одного почтового домена, но в первую очередь почта будет отправляться на тот сервер, для которого указано меньшее значение в поле приоритета. В случае его недоступности — на следующий сервер и т.д. NS — Name Server — содержит имя DNS-сервера, ответственного за данный домен. Естественно для каждой записи типа NS должна быть соответствующая запись типа А. SOA — Start of Authority — указывает на каком из NS-серверов хранится эталонная информация о данном домене, контактную информацию лица, ответственного за зону, тайминги хранения информации в кэше. SRV — указатель на сервер, держатель какого-либо сервиса (используется для сервисов AD и, например, для Jabber). Помимо имени сервера содержит такие поля как Priority (приоритет) — аналогичен такому же у MX, Weight (вес) — используется для балансировки нагрузки между серверами с одинаковым приоритетом — клиенты выбирают сервер случайным образом с вероятностью на основе веса и Port Number — номер порта, на котором сервис «слушает» запросы. Все вышеперечисленные типы записей встречаются в зоне прямого просмотра (forward lookup zone) DNS. Есть ещё зона обратного просмотра (reverse lookup zone) — там хранятся записи типа PTR — PoinTeR — запись противоположная типу A. Хранит сопоставление IP-адреса его символьному имени. Нужна для обработки обратных запросов — определении имени хоста по его IP-адресу. Не требуется для функционирования DNS, но нужна для различных диагностических утилит, а также для некоторых видов антиспам-защиты в почтовых сервисах. Кроме того, сами зоны, хранящие в себе информацию о домене, бывают двух типов (классически): Основная (primary) — представляет собой текстовый файл, содержащий информацию о хостах и сервисах домена. Файл можно редактировать. Дополнительная (secondary) — тоже текстовый файл, но, в отличие от основной, редактированию не подлежит. Стягивается автоматически с сервера, хранящего основную зону. Увеличивает доступность и надёжность. Для регистрации домена в интернет, надо чтоб информацию о нём хранили, минимум, два DNS-сервера. В Windows 2000 появился такой тип зоны как интегрированная в AD — зона хранится не в текстовом файле, а в базе данных AD, что позволяет ей реплицироваться на другие контроллеры доменов вместе с AD, используя её механизмы репликации. Основным плюсом данного варианта является возможность реализации безопасной динамической регистрации в DNS. То есть записи о себе могут создать только компьютеры — члены домена. В Windows 2003 появилась также stub-зона — зона-заглушка. Она хранит информацию только о DNS-серверах, являющихся полномочными для данного домена. То есть, NS-записи. Что похоже по смыслу на условную пересылку (conditional forwarding), которая появилась в этой же версии Windows Server, но список серверов, на который пересылаются запросы, обновляется автоматически. Итеративный и рекурсивный запросы.Понятно, что отдельно взятый DNS-сервер не знает обо всех доменах в интернете. Поэтому, при получении запроса на неизвестный ему адрес, например metro.yandex.ru, инициируется следующая последовательность итераций: DNS-сервер обращается к одному из корневых серверов интернета, которые хранят информацию о полномочных держателях доменов первого уровня или зон (ru, org, com и т.д.). Полученный адрес полномочного сервера он сообщает клиенту. Клиент обращается к держателю зоны ru с тем же запросом. DNS-сервер зоны RU ищет у себя в кэше соответствующую запись и, если не находит, возвращает клиенту адрес сервера, являющегося полномочным для домена второго уровня — в нашем случае yandex.ru Клиент обращается к DNS yandex.ru с тем же запросом. DNS яндекса возвращает нужный адрес. Такая последовательность событий редко встречается в наше время. Потому что есть такое понятие, как рекурсивный запрос — это когда DNS-сервер, к которому клиент изначально обратился, выполняет все итерации от имени клиента и потом возвращает клиенту уже готовый ответ, а также сохраняет у себя в кэше полученную информацию. Поддержку рекурсивных запросов можно отключить на сервере, но большинство серверов её поддерживают. Клиент, как правило, обращается с запросом, имеющим флаг «требуется рекурсия». 2. Немного о формате сообщения DNSСообщение состоит из 12-байтного заголовка, за которым идут 4 поля переменной длины. Заголовок состоит из следующих полей: Формат DNS-сообщенияИдентификация — в это поле клиентом генерируется некий идентификатор, который потом копируется в соответствующее поле ответа сервера, чтобы можно было понять на какой запрос пришёл ответ. Флаги — 16-битовое поле, поделенное на 8 частей: Следующие четыре 16-битных поля указывают на количество пунктов в четырех полях переменной длины, которые завершают запись. В запросе количество вопросов (number of questions) обычно равно 1, а остальные три счетчика равны 0. В отклике количество ответов (number of answers) по меньшей мере равно 1, а оставшиеся два счетчика могут быть как нулевыми, так и ненулевыми. Пример (получен с помощью WinDump при выполнении команды ping www.ru): IP KKasachev-nb.itcorp.it.ru.51036 > ns1.it.ru.53: 36587+ A? www.ru. (24) Первая строка — запрос: имя моего ПК, 51036 — случайно выбранный порт отправки, 53- заранее известный порт DNS-сервера, 36587 — идентификатор запроса, + — «требуется рекурсия», А — запрос записи типа А, знак вопроса означает, что это запрос, а не ответ. В скобках — длина сообщения в байтах. Вторая строка — ответ сервера: на указанный исходный порт с указанным идентификатором запроса. Ответ содержит одну RR (ресурсную запись DNS), являющуюся ответом на запрос, 2 записи полномочий и 5 каких-то дополнительных записей. Общая длина ответа — 196 байт. 3. TCP и UDPНа слуху сведения о том, что DNS работает по протоколу UDP (порт 53). Это действительно по умолчанию так — запросы и ответы отправляются по UDP. Однако, выше упоминается наличие в заголовке сообщения флага TC (Truncated). Он выставляется в 1, если размер отклика превысил 512 байт — предел для UDP-отклика — а значит был обрезан и клиенту пришли только первые 512 байт. В этом случае клиент повторяет запрос, но уже по TCP, который ввиду своей специфики, может безопасно передать большие объёмы данных. Также передача зон от основных серверов к дополнительным осуществляется по TCP, поскольку в этом случае передаётся куда больше 512 байт. 4. DNS в Windows Server 2008 и 2012В Windows 2008 появились следующие возможности: Фоновая загрузка зонПоскольку задача загрузки зон выполняется отдельными потоками, DNS-сервер может обрабатывать запросы во время загрузки зоны. Если DNS-клиент запрашивает данные для узла в зоне, который уже загружен, DNS-сервер отправляет в ответ данные (или, если это уместно, отрицательный ответ). Если запрос выполняется для узла, который еще не загружен в память, DNS-сервер считывает данные узла из доменных служб Active Directory и обновляет соответствующим образом список записей узла. Поддержка IPv6-адресовПротокол Интернета версии 6 (IPv6) определяет адреса, длина которых составляет 128 бит, в отличие от адресов IP версии 4 (IPv4), длина которых составляет 32 бита. Изменения DNS-клиентаРазрешение имен LLMNR Изменения Windows 2012 в части DNS коснулись, преимущественно, технологии DNSSEC (обеспечение безопасности DNS за счет добавления цифровых подписей к записям DNS), в частности — обеспечение динамических обновлений, которые были недоступны, при включении DNSSEC в Windows Server 2008. 5. DNS и Active directoryActive Directory очень сильно опирается в своей деятельности на DNS. С его помощью контроллеры домена ищут друг друга для репликации. С его помощью (и службы Netlogon) клиенты определяют контроллеры домена для авторизации. Для обеспечения поиска, в процессе поднятия на сервере роли контроллера домена, его служба Netlogon регистрирует в DNS соответствующие A и SRV записи. SRV записи регистрируемые службой Net Logon: _ldap._tcp.DnsDomainName Первая часть SRV-записи идентифицирует службу, на которую указывает запись SRV. Существуют следующие службы: _ldap — Active Directory является службой каталога, совместимой с LDAP-протоколом, с контроллерами домена, функционирующими как LDAP-серверы. Записи _ldap SRV идентифицирует LDAP серверы, имеющиеся в сети. Эти серверы могут быть контроллерами домена Windows Server 2000+ или другими LDAP-серверами; _kerberos — SRV-записи _kerberos идентифицируют все ключевые центры распределения (KDC — Key Distribution Centers) в сети. Они могут быть контроллерами домена с Windows Server 2003 или другими KDC-серверами; _kpassword — идентифицирует серверы изменения паролей kerberos в сети; _gc — запись, относящаяся к функции глобального каталога в Active Directory. В поддомене _mcdcs регистрируются только контроллеры домена Microsoft Windows Server. Они делают и основные записи и записи в данном поддомене. Не-Microsoft-службы делают только основные записи. Записи, содержащие идентификатор сайта SiteName, нужны для того чтобы клиент мог найти контроллер домена для авторизации в своём сайте, а не лез авторизовываться в другой город через медленные каналы. DomainGuid — глобальный идентификатор домена. Запись, содержащщая его, нужна на случай переименования домена. Как происходит процесс поиска DCВо время входа пользователя, клиент инициирует DNS-локатор, при помощи удалённого вызова процедуры (Remote Procedure Call — RPC) службой NetLogon. В качестве исходных данных в процедуру передаются имя компьютера, название домена и сайта. Служба посылает один или несколько запросов с помощью API функции DsGetDcName() DNS сервер возвращает запрошенный список серверов, рассортированный согласно приоритету и весу. Затем клиент посылает LDAP запрос, используя UDP-порт 389 по каждому из адресов записи в том порядке, как они были возвращены. Все доступные контроллеры доменов отвечают на этот запрос, сообщая о своей работоспособности. После обнаружения контроллера домена, клиент устанавливает с ним соединение по LDAP для получения доступа к Active Directory. Как часть их диалога, контроллер домена определяет к в каком сайте размещается клиент, на основе его IP адреса. И если выясняется, что клиент обратился не к ближайшему DC, а, например, переехал недавно в другой сайт и по привычке запросил DC из старого (информация о сайте кэшируется на клиенте по результатам последнего успешного входа), контроллер высылает ему название его (клиента) нового сайта. Если клиент уже пытался найти контроллер в этом сайте, но безуспешно, он продолжает использовать найденный. Если нет, то инициируется новый DNS-запрос с указанием нового сайта. Служба Netlogon кэширует информацию о местонахождении контроллера домена, чтобы не инициировать всю процедуру при каждой необходимости обращения к DC. Однако, если используется «неоптимальный» DC (расположенный в другом сайте), клиент очищает этот кэш через 15 минут и инициирует поиски заново (в попытке найти свой оптимальный контроллер). Если у комьютера отсутствует в кэше информация о его сайте, он будет обращаться к любому контроллеру домена. Для того чтобы пресечь такое поведение, на DNS можно настроить NetMask Ordering. Тогда DNS выдаст список DC в таком порядке, чтобы контроллеры, расположенные в той же сети, что и клиент, были первыми. Пример: Dnscmd /Config /LocalNetPriorityNetMask 0x0000003F укажет маску подсети 255.255.255.192 для приоритетных DC. По умолчанию используется маска 255.255.255.0 (0x000000FF)
|