Расположение контроллеров домена в Windows

В этой статье описывается механизм, используемый Windows для поиска контроллера домена в домене Windows.

Примечание.

Эта статья относится к Windows 2000. Поддержка Windows 2000 заканчивается 13 июля 2010 г. Центр решений для завершения поддержки Windows 2000 — это отправная точка для планирования стратегии миграции с Windows 2000. Дополнительные сведения см. в статье Политика жизненного цикла служба поддержки Майкрософт.

Применимо к: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Исходный номер базы знаний: 247811

Сводка

В этой статье описывается процесс поиска домена по dns-имени и имени в неструктурированном стиле (NetBIOS). Имя в плоском стиле используется для обратной совместимости. Во всех остальных случаях имена в стиле DNS должны использоваться в качестве политики. В этой статье также рассматривается устранение неполадок при расположении контроллера домена.

Поиск контроллера домена с помощью указателя

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

  • На клиенте (компьютере, на который находится контроллер домена) указатель запускается как удаленный вызов процедуры (RPC) к локальной службе Netlogon. Вызов API Locator DsGetDcName реализуется службой Netlogon.

  • Клиент собирает сведения, необходимые для выбора контроллера домена. Затем эта информация передается в службу Netlogon с помощью вызова DsGetDcName.

  • Служба Netlogon на клиенте использует собранные сведения для поиска контроллера домена для указанного домена одним из двух способов:

    • Для DNS-имени Netlogon запрашивает DNS с помощью указателя, совместимого с IP/DNS. То есть DsGetDcName вызывает вызов DnsQuery для чтения записей ресурса службы (SRV) и записей "A" из DNS после добавления доменного имени в соответствующую строку, указывающую записи SRV.

    • Рабочая станция, которая выполняет вход в домен Под управлением Windows, запрашивает DNS для записей SRV в общей форме:

      _service._protocol.DnsDomainName
      

      Серверы Active Directory предлагают службу LDAP по протоколу TCP. Таким образом, клиенты находят сервер LDAP, запрашивая dns для записи в форме:

      _ldap._tcp. DnsDomainName

  • Для имени NetBIOS Netlogon выполняет обнаружение контроллера домена с помощью указателя, совместимого с Microsoft Windows NT версии 4.0. То есть, используя механизм, зависящий от транспорта, например WINS.

    В Windows NT 4.0 и более ранних версиях "обнаружение" — это процесс поиска контроллера домена для проверки подлинности в основном или доверенном домене.

  • Служба Netlogon отправляет датаграмму на компьютеры, зарегистрировав имя. Для доменных имен NetBIOS датаграмма реализуется в виде сообщения почтовой области. Для доменных имен DNS датаграмма реализуется как поиск по протоколу UDP пользователя LDAP. (UDP — это транспортный протокол данных без подключения, который входит в состав набора протоколов TCP/IP. TCP — это транспортный протокол, ориентированный на подключение.)

  • Каждый доступный контроллер домена реагирует на датаграмму, указывая, что он работает в данный момент, и возвращает сведения в DsGetDcName.

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

  • Каждый доступный контроллер домена реагирует на датаграмму, указывая, что он работает в данный момент, и возвращает сведения в DsGetDcName.
  • Служба Netlogon кэширует сведения о контроллере домена, чтобы последующие запросы не повторяли процесс обнаружения. Кэширование этих сведений способствует согласованному использованию одного контроллера домена и согласованному представлению Active Directory.

Когда клиент входит в сеть или присоединяется к ней, он должен иметь возможность найти контроллер домена. Клиент отправляет запрос dns Lookup в DNS для поиска контроллеров домена, предпочтительно в собственной подсети клиента. Таким образом, клиенты находят контроллер домена, запрашивая DNS для записи формы:

_LDAP._TCP.dc._msdcs.domainname

После того как клиент находит контроллер домена, он устанавливает связь с помощью ПРОТОКОЛА LDAP для получения доступа к Active Directory. В рамках этого согласования контроллер домена определяет, на каком сайте находится клиент, на основе IP-подсети этого клиента.

Если клиент взаимодействует с контроллером домена, который не находится на ближайшем (наиболее оптимальном) сайте, контроллер домена возвращает имя сайта клиента. Если клиент уже пытался найти контроллеры домена на этом сайте, он использует контроллер домена, который не является оптимальным. Например, клиент отправляет запрос поиска DNS в DNS для поиска контроллеров домена в подсети клиента.

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

После того как клиент находит контроллер домена, запись контроллера домена кэшируется. Если контроллер домена не является оптимальным сайтом, клиент сбрасывает кэш через 15 минут и удаляет запись кэша. Затем он пытается найти оптимальный контроллер домена на том же сайте, что и клиент.

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

Клиент устанавливает ldap-подключение к контроллеру домена для входа. В процессе входа используется диспетчер учетных записей безопасности. Путь связи использует интерфейс LDAP, и клиент проходит проверку подлинности с помощью контроллера домена. Таким образом, учетная запись клиента проверяется и передается через диспетчер учетных записей безопасности агенту службы каталогов, затем на уровень базы данных и, наконец, в базу данных в подсистеме расширяемого хранилища (ESE).

Устранение неполадок с процессом определения домена

Чтобы устранить неполадки с процессом указателя домена, выполните следующие действия:

  1. Проверьте Просмотр событий как на клиенте, так и на сервере. Журналы событий могут содержать сообщения об ошибках, указывающие на наличие проблемы. Чтобы просмотреть Просмотр событий, нажмите кнопку Пуск, выберите Пункт Администрирование программ>, а затем выберите Просмотр событий. Проверьте системный вход как на клиенте, так и на сервере. Кроме того, проверка журналы службы каталогов на сервере и журналы DNS на DNS-сервере.

  2. Проверьте IP-конфигурацию ipconfig /all с помощью команды в командной строке.

  3. Используйте служебную программу Ping для проверки сетевого подключения и разрешения имен. Связь с IP-адресом и именем сервера. Кроме того, может потребоваться выполнить связь с доменным именем.

  4. Используйте средство Netdiag, чтобы определить, правильно ли работают сетевые компоненты. Чтобы отправить подробные выходные данные в текстовый файл, используйте следующую команду:

    netdiag /v >test.txt
    Просмотрите файл журнала, найдите проблемы и изучите все связанные с ней компоненты. Этот файл также содержит другие сведения о конфигурации сети.

  5. Чтобы устранить незначительные проблемы, используйте средство Netdiag со следующим синтаксисом:

    netdiag /fix.

  6. nltest /dsgetdc:domainname Используйте команду , чтобы убедиться, что контроллер домена может быть расположен для определенного домена.

  7. NSLookup Используйте средство для проверки правильности регистрации записей DNS в DNS. Убедитесь, что записи узла сервера и записи GUID SRV можно разрешить.

    Например, чтобы проверить регистрацию записи, используйте следующие команды:
    nslookup servername. childofrootdomain. rootdomain.com
    nslookup guid._msdcs. rootdomain.com

  8. Если ни одна из этих команд не выполняется, используйте один из следующих методов для повторной регистрации записей с помощью DNS:

    • Чтобы принудительно регистрировать записи узла, введите ipconfig /registerdns.
    • Чтобы принудительно зарегистрировать службу контроллера домена, остановите и запустите службу Netlogon.
  9. Чтобы обнаружить проблемы с контроллером домена, запустите служебную программу DCdiag из командной строки. Служебная программа выполняет множество тестов, чтобы убедиться, что контроллер домена работает правильно. Используйте следующую команду, чтобы отправить результаты в текстовый файл: dcdiag /v >dcdiag.txt

  10. Используйте средство Ldp.exe для подключения и привязки к контроллеру домена для проверки соответствующего подключения LDAP.

  11. Если вы подозреваете, что у конкретного контроллера домена возникли проблемы, может быть полезно включить ведение журнала отладки Netlogon. Используйте служебную программу NLTest, введя следующую команду: nltest /dbflag:0x2000ffff. Затем эти сведения регистрируются в папке Отладка в файле Netlogon.log.

  12. Если проблема по-прежнему не изолирована, используйте монитор сети для мониторинга сетевого трафика между клиентом и контроллером домена.

Ссылки

Дополнительные сведения см. в разделе Комплект ресурсов Windows, глава 10, "Диагностика, устранение неполадок и восстановление Active Directory".