Поиск контроллеров домена в Windows и Windows Server
Расположение контроллера домена, также известное как указатель контроллера домена, ссылается на алгоритм, который клиентский компьютер использует для поиска подходящего контроллера домена. Расположение контроллера домена является критической функцией во всех корпоративных средах, чтобы разрешить проверку подлинности клиента с помощью Active Directory.
В этой статье вы узнаете о процессе указателя контроллера домена, включая обнаружение, ближайшее обнаружение сайта и настройку сопоставлений доменных имен NetBIOS.
Процесс указателя контроллера домена
Алгоритм указателя контроллера домена состоит из двух частей:
Указатель находит, какие контроллеры домена зарегистрированы.
Указатель отправляет запрос на поиск контроллера домена в указанном домене.
Затем запрос протокола UDP (UDP) LDAP отправляется одному или нескольким контроллерам домена, перечисленным в ответе, чтобы обеспечить их доступность. Наконец, служба Netlogon кэширует обнаруженный контроллер домена, чтобы помочь в разрешении будущих запросов.
Процесс обнаружения
Домены Active Directory всегда имеют два разных имени: полное доменное имя DNS (FQDN) и доменное имя NetBIOS. Доменные имена NetBIOS имеют устаревшую длину и другие ограничения. Например, домены NetBIOS ограничены 15 символами.
Доменное имя домена Active Directory NetBIOS не должно совпадать с полным доменом Active Directory. Например, полное доменное имя домена Active Directory может быть contoso.com
с доменным именем fabrikam
NetBIOS.
Расположение контроллера домена в Windows может работать в двух основных режимах:
Обнаружение на основе DNS основано на объявлении контроллера домена с помощью DNS.
Контроллеры домена регистрируют различные записи SRV в DNS, такие как записи, представляющие ключевые возможности, такие как Центр распространения ключей или глобальный каталог, и записи, описывающие локализацию, например записи сайта Active Directory. Клиенты запрашивают DNS для соответствующих записей SRV, а затем проверяют связь с этими серверами с помощью ping UDP на основе LDAP.
Этот режим поддерживается только при использовании доменных имен DNS, а контроллеры домена работают под управлением Windows 2000 и более поздних версий. Поддерживаемые контроллеры домена работают более оптимально в этом режиме, но могут измениться на другой режим в определенных сценариях.
Обнаружение на основе NetBIOS включает в себя регистрацию записей контроллеров домена в службе имен Windows (WINS). Клиенты запрашивают WINS для соответствующих записей, за которым следует связь с возможными целевыми целевыми контроллерами домена. В этом режиме используется широковещательный механизм, поддерживаемый сообщениями mailslot, в которых клиент передает пакеты в локальной сети для поиска DCS.
Внимание
Когда приложение запрашивает контроллер домена, но указывает короткое доменное имя в стиле NetBIOS, расположение контроллера домена всегда пытается сопоставить это короткое доменное имя с DNS-именем домена. Если расположение контроллера домена может успешно сопоставить доменные имена, оно использует обнаружение на основе DNS с сопоставленным доменным именем DNS.
Доменные имена в стиле NetBIOS сопоставляются с DNS-доменными именами из нескольких источников в следующем порядке:
Кэшированные сведения из предыдущей подстановки
Все домены в текущем лесу
Имена верхнего уровня (TLN) для всех доверенных лесов и внешних доверий
Для Windows Server 2025 и более поздних версий:
Сопоставления доменных имен, настроенных администратором
Сопоставления доменных имен для всех лесов и дочерних доменов в доверии к лесу
Сеансы входа на клиентском компьютере
Если ни один из этих источников не может найти доменное имя DNS, расположение контроллера домена может продолжить обнаружение на основе NetBIOS с помощью исходного короткого доменного имени в стиле NetBIOS.
Начиная с Windows Server 2025, Netlogon загружает и кэширует сведения об именовании доменов и дочерних доменов во всех доверенных лесах. Эта информация используется при сопоставлении доменных имен в стиле NetBIOS с DNS-доменными именами.
Мы рекомендуем использовать обнаружение на основе DNS вместо обнаружения на основе NetBIOS. Обнаружение на основе DNS является более надежным и безопасным. DsGetDcName — это основной API расположения контроллера домена.
Внимание
Начиная с Windows Server 2025 указатель контроллера домена не позволяет использовать расположение в стиле NetBIOS. Сведения о настройке этого поведения см. в разделе параметров политики обнаружения NetBIOS.
Чтобы узнать о процессе обнаружения, выберите вкладку, соответствующую методу, о которой вы хотите узнать.
Процесс, который следует за указателем, можно свести к следующему:
На клиенте (на компьютере, где находится контроллер домена), указатель инициируется как удаленный вызов процедуры (RPC) в локальную службу Netlogon. Служба Netlogon реализует API указателя (
DsGetDcName
).Клиент собирает сведения, необходимые для выбора контроллера домена, и передает сведения в службу Netlogon с помощью
DsGetDcName
API.Служба Netlogon на клиенте использует собранные сведения для поиска контроллера домена для указанного домена. Процесс подстановки использует один из следующих двух методов:
Netlogon запрашивает DNS с помощью указателя, совместимого с IP/DNS.
DsGetDcName
вызывает вызов DnsQuery для чтения записей ресурса службы (SRV) и записей из DNS после добавления имени домена в соответствующую строку, указывающую записи SRV.При входе рабочей станции в домен под управлением Windows он запрашивает DNS для записей SRV в формате
_<service>._<protocol>.<DnsDomainName>
. Клиенты запрашивают DNS для сервера LDAP для домена, используя следующий формат, гдеDnsDomainName
находится доменное имя._ldap._tcp.DnsDomainName
Служба Netlogon отправляет диаграмму данных в виде поиска UDP LDAP на обнаруженные контроллеры домена, которые регистрируют имя.
Каждый доступный контроллер домена отвечает на диаграмму данных, чтобы указать, что она в настоящее время работает, а затем возвращает сведения
DsGetDcName
.Служба Netlogon возвращает сведения клиенту из контроллера домена, который отвечает первым.
Служба Netlogon кэширует сведения контроллера домена, чтобы не нужно повторять процесс обнаружения для последующих запросов. Кэширование этой информации поощряет согласованное использование одного контроллера домена и, таким образом, согласованное представление Active Directory.
Параметр политики обнаружения NetBIOS
Начиная с Windows Server 2025 указатель контроллера домена не позволяет использовать обнаружение на основе NetBIOS. BlockNetBIOSDiscovery
— это новый параметр групповой политики для службы Netlogon, которая позволяет администраторам управлять этим поведением. Чтобы получить доступ к политике в редакторе управления групповыми политиками, перейдите в раздел "Административные шаблоны>администрирования конфигурации>компьютера" System>Net Logon>DC Locator DNS Records>Block NetBIOS для обнаружения на основе NetBIOS для расположения контроллера домена.
Следующие параметры применяются к BlockNetBIOSDiscovery
:
TRUE
(по умолчанию): указатель контроллера домена не позволяет использовать расположение контроллера домена в стиле NetBIOS.FALSE
: указатель контроллера домена позволяет использовать обнаружение на основе WINS или mailslot, если все устаревшие ограничения также позволяют ему.
Вы используете BlockNetBIOSDiscovery
этот параметр для применения безопасной по умолчанию позиции для расположения контроллера домена. Рекомендуется сохранить его значение TRUE
. Отключите его только в течение временных периодов при выполнении других мер по устранению рисков.
Новый параметр политики выглядит следующим образом:
Совет
Вы можете отдельно включить или отключить возможность использования почтовых слоток на уровне компьютера с помощью параметра политики SMB EnableMailslots
. Чтобы указатель контроллера домена мог использовать почтовые ящики для обнаружения контроллеров домена, необходимо включить почтовые слопы на уровне SMB и отключить BlockNetBIOSDiscovery
их. Вы можете запросить и задать EnableMailslots
этот параметр, выполнив Get-SmbClientConfiguration
командлеты PowerShell.Set-SmbClientConfiguration
Ближайший сайт Active Directory
После того как клиент находит контроллер домена, он устанавливает связь с помощью LDAP для получения доступа к Active Directory. В рамках этого согласования контроллер домена определяет, какой сайт находится на основе IP-подсети клиента.
Если клиент взаимодействует с контроллером домена, который не находится в ближайшем, наиболее оптимальном сайте, контроллер домена возвращает имя сайта клиента. Если клиент уже пытался найти контроллеры домена на этом сайте, клиент использует контроллер домена в менее оптимальном сайте. Например, клиент отправляет запрос подстановки DNS в DNS, чтобы найти контроллеры домена в подсети клиента. В противном случае клиент снова выполняет поиск DNS для конкретного сайта с новым оптимальным именем сайта. Контроллер домена использует некоторые сведения о службе каталогов для идентификации сайтов и подсетей.
Клиент кэширует запись контроллера домена. Если контроллер домена не является оптимальным сайтом, клиент сбрасывает кэш через 15 минут и удаляет запись кэша. Затем он пытается найти оптимальный контроллер домена на том же сайте, что и клиент.
После того как клиент устанавливает путь связи к контроллеру домена, он может установить учетные данные для входа и проверки подлинности. При необходимости клиент также может настроить безопасный канал для компьютеров под управлением Windows. Теперь клиент готов выполнять обычные запросы и искать информацию в каталоге.
Клиент устанавливает подключение LDAP к контроллеру домена для входа. В процессе входа используется диспетчер учетных записей безопасности. Путь связи использует интерфейс LDAP и контроллер домена проверяет подлинность клиента. После этого клиентская учетная запись проверяется и передается через диспетчер учетных записей безопасности агенту службы каталогов, а затем на уровень базы данных и, наконец, в базу данных в подсистеме расширяемого хранилища (ESE).
Настройка сопоставлений доменных имен NetBIOS
Начиная с Windows Server 2025 администраторы леса могут настраивать пользовательские сопоставления с DNS-именем домена с доменным именем NetBIOS. Настроенные администратором сопоставления на уровне леса являются необязательным механизмом, который следует использовать только в том случае, если все остальные параметры недостаточно. Например, если приложению или среде требуются другие сопоставления доменных имен, которые другие источники не могут предоставлять автоматически.
Сопоставления имен личного домена хранятся в объекте serviceConnectionPoint
, расположенном в контексте именования для конфигурации Active Directory. Например:
CN=DCLocatorDomainNameMappings,CN=Windows NT,CN=Services,CN=Configuration,DC=contoso,DC=com
Атрибут msDS-Setting
s этого serviceConnectionPoint
объекта может содержать одно или несколько значений. Каждое значение содержит DNS-доменное имя и доменное имя NetBIOS, разделенное точкой с запятой, как в dnsdomainname.com:NetBIOSdomainname.
Например:
contoso.com:fabrikam
tatertots.contoso.com:tots
tailspintoys.com:tailspintoys
Эти сопоставления можно настроить в параметрах управления домен Active Directory и доверия, выполнив следующие действия.
- Щелкните правой кнопкой мыши домен.
- Выберите Свойства.
- Выберите вкладку сопоставления указателя контроллера домена.
Служба Netlogon на клиентах затем загружает и кэширует пользовательские сопоставления в DCLocatorDomainNameMappings
объекте каждые 12 часов. Служба автоматически использует эти сведения при сопоставлении доменных имен в стиле NetBIOS с DNS-доменными именами.
Новая страница управления домен Active Directory и trusts выглядит следующим образом:
Внимание
Настройте сопоставления доменных имен на уровне леса, настроенные администратором, только если вы уверены, что все другие источники сопоставления имен недостаточно. Как правило, такие произвольные сопоставления необходимы только в том случае, если отношения доверия между клиентами и целевыми доменами не могут быть перенесены, а клиентские приложения не могут быть перенесены на указание доменных имен в стиле DNS.