Просмотр и настройка политики LDAP в Active Directory с помощью Ntdsutil.exe

В этой статье описывается, как управлять политиками LDAP с помощью средства Ntdsutil.exe.

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

Сводка

Чтобы убедиться, что контроллеры домена поддерживают гарантии уровня обслуживания, необходимо указать операционные ограничения для многих операций LDAP. Эти ограничения предотвращают негативное влияние конкретных операций на производительность сервера. Они также делают сервер более устойчивым к некоторым типам атак.

Политики LDAP реализуются с помощью объектов queryPolicy класса . Объекты политики запросов можно создавать в контейнере Политики запросов, который является дочерним элементом контейнера службы каталогов в контексте именования конфигурации. Например, cn=Query-Policies,cn=Directory Service,cn=Windows NT,cn=Services configuration naming context.

Ограничения администрирования LDAP

Ограничения администрирования LDAP:

  • InitRecvTimeout — это значение определяет максимальное время в секундах, когда контроллер домена ожидает отправки клиентом первого запроса после того, как контроллер домена получит новое подключение. Если клиент не отправляет первый запрос за это время, сервер отключает клиент.

    Значение по умолчанию: 120 секунд

  • MaxActiveQueries — максимальное количество одновременных операций поиска LDAP, которые могут выполняться одновременно на контроллере домена. При достижении этого ограничения сервер LDAP возвращает ошибку занят .

    Значение по умолчанию: 20

    Примечание.

    Этот элемент управления имеет неправильное взаимодействие со значением MaxPoolThreads. MaxPoolThreads — это элемент управления для каждого процессора, в то время как MaxActiveQueries определяет абсолютное число. Начиная с Windows Server 2003, MaxActiveQueries больше не применяется. Кроме того, MaxActiveQueries не отображается в версии NTDSUTIL для Windows Server 2003.

    Значение по умолчанию: 20

  • MaxConnections — максимальное количество одновременных подключений LDAP, которое будет принимать контроллер домена. Если подключение возникает после того, как контроллер домена достигает этого предела, контроллер домена удаляет другое подключение.

    Значение по умолчанию: 5000

  • MaxConnIdleTime — максимальное время в секундах, когда клиент может быть бездействующим, прежде чем сервер LDAP закроет подключение. Если подключение простаит более этого времени, сервер LDAP возвращает уведомление об отключении LDAP.

    Значение по умолчанию: 900 секунд

  • MaxDatagramRecv — максимальный размер запроса на датаграмму, который будет обрабатывать контроллер домена. Запросы, превышающие значение MaxDatagramRecv, игнорируются.

    Значение по умолчанию: 4 096 байт

  • MaxNotificationPerConnection — максимальное количество невыполненных запросов на уведомления, разрешенных при одном подключении. Когда это ограничение достигнуто, сервер возвращает ошибку занятости для всех новых поисковых запросов уведомлений, выполняемых по этому соединению.

    Значение по умолчанию: 5

  • MaxPageSize — это значение определяет максимальное количество объектов, возвращаемых в одном результате поиска, независимо от размера каждого возвращаемого объекта. Чтобы выполнить поиск, в котором результат может превысить это количество объектов, клиент должен указать элемент управления поиска на странице. Возвращаемые результаты группируются в группы, размер которых не превышает значение MaxPageSize. Подводя итоги, MaxPageSize управляет количеством объектов, возвращаемых в одном результате поиска.

    Значение по умолчанию: 1000

  • MaxPoolThreads — максимальное количество потоков на процессор, которое контроллер домена выделяет для прослушивания сетевых входных или выходных данных (ввода-вывода). Это значение также определяет максимальное количество потоков на процессор, которые могут одновременно работать с запросами LDAP.

    Значение по умолчанию: 4 потока на процессор

  • MaxResultSetSize — между отдельными поисковыми запросами, которые составляют поиск по страницам, контроллер домена может хранить промежуточные данные для клиента. Контроллер домена хранит эти данные для ускорения следующей части поиска по страницам. Значение MaxResultSize определяет общий объем данных, которые контроллер домена хранит для такого типа поиска. Когда это ограничение достигнуто, контроллер домена удаляет самый старый из этих промежуточных результатов, чтобы освободить место для хранения новых промежуточных результатов.

    Значение по умолчанию: 262 144 байта

  • MaxQueryDuration — максимальное время в секундах, которое контроллер домена будет тратить на один поиск. Когда это ограничение достигнуто, контроллер домена возвращает ошибку timeLimitExceedededed. Поиск, требующий больше времени, должен указывать элемент управления "Результаты на странице".

    Значение по умолчанию: 120 секунд

  • MaxTempTableSize — во время обработки dblayer запроса объект может попытаться создать временную таблицу базы данных для сортировки и выбора промежуточных результатов. Ограничение MaxTempTableSize определяет, насколько велика эта временная таблица базы данных. Если временная таблица базы данных будет содержать больше объектов, чем значение MaxTempTableSize, dblayer выполняет гораздо менее эффективный анализ всей базы данных DS и всех объектов в базе данных DS.

    Значение по умолчанию: 10 000 записей

  • MaxValRange — это значение определяет количество значений, возвращаемых для атрибута объекта, независимо от количества атрибутов, которые имеет этот объект, или от количества объектов в результатах поиска. В Windows 2000 этот элемент управления жестко задан на уровне 1000. Если атрибут содержит больше значений, указанных значением MaxValRange, необходимо использовать элементы управления диапазоном значений в LDAP для получения значений, превышающих значение MaxValRange. MaxValueRange управляет количеством значений, возвращаемых одним атрибутом для одного объекта.

    • Минимальное значение: 30
    • Значение по умолчанию: 1500

Запуск Ntdsutil.exe

Ntdsutil.exe находится в папке Средства поддержки на установочном компакт-диске Windows. По умолчанию Ntdsutil.exe устанавливается в папке System32.

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В текстовом поле Открыть введите ntdsutil и нажмите клавишу ВВОД. Чтобы просмотреть справку в любое время, введите ? в командной строке.

Просмотр текущих параметров политики

  1. В командной строке Ntdsutil.exe введите LDAP policiesи нажмите клавишу ВВОД.
  2. В командной строке политики LDAP введите connectionsи нажмите клавишу ВВОД.
  3. В командной строке подключения к серверу введите connect to server <DNS name of server>и нажмите клавишу ВВОД. Вы хотите подключиться к серверу, с которым вы сейчас работаете.
  4. В командной строке подключения к серверу введите qи нажмите клавишу ВВОД, чтобы вернуться в предыдущее меню.
  5. В командной строке политики LDAP введите Show Valuesи нажмите клавишу ВВОД.

Появится отображение существующих политик.

Изменение параметров политики

  1. В командной строке Ntdsutil.exe введите LDAP policiesи нажмите клавишу ВВОД.

  2. В командной строке политики LDAP введите Set <setting> to <variable>и нажмите клавишу ВВОД. Например, введите Set MaxPoolThreads значение 8.

    Этот параметр изменяется при добавлении на сервер другого процессора.

  3. Для проверки изменений можно использовать Show Values команду .

    Чтобы сохранить изменения, используйте команду Зафиксировать изменения.

  4. По завершении введите qи нажмите клавишу ВВОД.

  5. Чтобы выйти из Ntdsutil.exe, в командной строке введите qи нажмите клавишу ВВОД.

Примечание.

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

Требование перезагрузки

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

Рекомендации по изменению значений запроса

Для обеспечения устойчивости сервера домена не рекомендуется увеличивать значение времени ожидания в 120 секунд. Формирование более эффективных запросов является предпочтительным решением. Дополнительные сведения о создании эффективных запросов см. в статье Создание более эффективных приложений Microsoft Active Directory-Enabled.

Однако если изменение запроса не является вариантом, увеличьте значение времени ожидания только на одном контроллере домена или только на одном сайте. Инструкции см. в следующем разделе. Если параметр применяется к одному контроллеру домена, уменьшите приоритет DNS LDAP на контроллере домена, чтобы клиенты с меньшей вероятностью использовали сервер для проверки подлинности. На контроллере домена с приоритетом увеличения используйте следующий параметр реестра, чтобы задать :LdapSrvPriority

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

В меню Правка выберите Добавить значение, а затем добавьте следующее значение реестра:

  • Имя записи: LdapSrvPriority
  • Тип данных: REG_DWORD
  • Значение. Задайте значение для нужного приоритета.

Дополнительные сведения см . в статье Оптимизация расположения контроллера домена или глобального каталога, расположенного за пределами сайта клиента.

Инструкции по настройке для каждого контроллера домена или политики сайта

  1. Создайте новую политику запроса в разделе CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, корень леса.

  2. Задайте контроллер домена или сайт для указания новой политики, введя различающееся имя новой политики в атрибуте Query-Policy-Object . Расположение атрибута выглядит следующим образом:

    • Расположение контроллера домена: CN=NTDS Settings, CN= DomainControllerName, CN=Servers,CN= имя сайта,CN=Sites,CN=Configuration, корень леса.

    • Расположение сайта : CN=NTDS Site Settings,CN= имя сайта,CN=Sites,CN=Configuration, корневой лес.

Образец сценария

Для создания файла Ldifde можно использовать следующий текст. Этот файл можно импортировать, чтобы создать политику со значением времени ожидания 10 минут. Скопируйте этот текст в ldappolicy.ldf, а затем выполните следующую команду, где корень леса — это различающееся имя корня леса. Оставьте DC=X как есть. Это константа, которая будет заменена корневым именем леса при выполнении скрипта. Константы X не указывают имя контроллера домена.

ldifde -i -f ldappolicy.ldf -v -c DC=X DC= forest root

Запуск скрипта Ldifde

dn: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X  
changetype: add  
instanceType: 4  
lDAPAdminLimits: MaxReceiveBuffer=10485760  
lDAPAdminLimits: MaxDatagramRecv=1024  
lDAPAdminLimits: MaxPoolThreads=4  
lDAPAdminLimits: MaxResultSetSize=262144  
lDAPAdminLimits: MaxTempTableSize=10000  
lDAPAdminLimits: MaxQueryDuration=300  
lDAPAdminLimits: MaxPageSize=1000  
lDAPAdminLimits: MaxNotificationPerConn=5  
lDAPAdminLimits: MaxActiveQueries=20  
lDAPAdminLimits: MaxConnIdleTime=900  
lDAPAdminLimits: InitRecvTimeout=120  
lDAPAdminLimits: MaxConnections=5000  
objectClass: queryPolicy  
showInAdvancedViewOnly: TRUE

После импорта файла можно изменить значения запроса с помощью Adsiedit.msc или Ldp.exe. Параметр MaxQueryDuration в этом сценарии составляет 5 минут.

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

dn: CN=NTDS  
Settings,CN=DC1,CN=Servers,CN=site1,CN=Sites,CN=Configuration, DC=X  
changetype: modify  
add: queryPolicyobject  
queryPolicyobject: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X

Импортируйте его с помощью следующей команды:

ldifde -i -f link-policy-dc.ldf -v -c DC=X DC= **forest root**

Для сайта файл импорта LDIF будет содержать:

dn: CN=NTDS Site Settings,CN=site1,CN=Sites,CN=Configuration, DC=X  
changetype: modify  
add: queryPolicyobject  
queryPolicyobject: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X

Примечание.

Ntdsutil.exe отображает только значение в политике запросов по умолчанию. Если определены какие-либо пользовательские политики, они не отображаются Ntdsutil.exe.