DNS-зона _msdcs.ForestName отсутствует

_msdcsСравнительно недавно случайно заметил, что на рабочих серверах DNS отсутствует зона _msdcs.ForestName. Каких-либо жалоб со стороны пользователей не было, как и не было проблем с доступностью сервисов домена. Поскольку эта зона выполняет достаточно важные функции для работы всего леса AD, я стал разбираться что же с ней не так.


Основная статья по 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 и старше эта зона должна располагаться на том же уровне, что и зона корневого домена. Выглядит это примерно так (пример с моей тестовой инфраструктуры):

_msdcs.ForestName is missing 02

Но на серверах DNS в продакшене она являлась поддоменом корневого домена и отсутствовала на уровне раздела леса:

_msdcs.ForestName is missing 01

На самом деле в этом нет ничего плохого, поскольку во всем лесу у меня существует лишь один домен, но если доменов будет больше, это может вызвать проблемы. В BPA (Best Practices Analyzer) при этом вылезали ошибки отсутствия зоны (скриншоты для Windows Server 2012 R2 и 2008 R2 соответственно):

_msdcs.ForestName is missing 06

_msdcs.ForestName is missing 07

Почему так произошло? Дело в том, что в версиях Windows Server старше 2003 все устроено несколько иным образом и зона _msdcs действительно должна находиться на уровне поддомена корневого домена AD и при миграции с 2000 на 2003 должна быть перенастроена. По крайней мере это единственная известная мне причина 2.

Пришло время все привести к тому виду, в котором оно и должно быть.

Перенастройка зоны _msdcs.ForestName

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

_msdcs.ForestName is missing 09

Новая зона должна быть основной (1), храниться в AD (2), реплицироваться на все КД в лесу (3) и иметь имя _msdcs.ForestName (4), где ForestName — имя корневого домена леса AD. Обновления записей зоны должны быть только безопасными (5).

После того как зона создана, необходимо зайти в её свойства и добавить серверы DNS, которые будут обслуживать эту зоны:

_msdcs.ForestName is missing 04

Дальше нужно перезапустить службу Netlogon на каждом контроллере домена и дождаться пока только что созданная зона автоматически заполнится необходимыми для работы записями. При этом может пройти достаточно продолжительный период времени — у меня процесс заполнения занял примерно 10 минут. Командную строку нужно запустить с правами администратора.

_msdcs.ForestName is missing 05

Также вместо существовавшей зоны _msdcs на уровне поддомена должна появиться запись делегирования. У меня это произошло без моего участия, но если вдруг у вас эта зона автоматически не создалась (у меня так было на тестовой инфраструктуре. Возможно из-за нехватки терпения), можно её создать вручную. Для этого:

Правой кнопкой на домене — Создать делегирование:

_msdcs.ForestName is missing 08

После создания зоны на уровне поддомена в ней должны быть лишь одиночные записи серверов имен. Дальнейшая настройка не требуется. Не забудьте проверить, чтобы в основной зоне _msdcs.ForestName были созданы записи всех контроллеров домена.

comments powered by HyperComments