Просмотр и настройка политики LDAP в Active Directory с помощью Ntdsutil.exe
В этой статье описывается, как управлять политиками протокола LDAP с помощью средства Ntdsutil.exe.
Исходный номер базы знаний: 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 не отображается в windows Server 2003 версии NTDSUTIL.
Значение по умолчанию: 20
MaxConnections — максимальное число одновременных подключений LDAP, которые будет принимать контроллер домена. Если подключение происходит после того, как контроллер домена достигнет этого ограничения, контроллер домена удаляет другое подключение.
Значение по умолчанию: 5000
MaxConnIdleTime — максимальное время в секундах, когда клиент может быть бездействующим, прежде чем сервер LDAP закрывает подключение. Если подключение неактивно больше этого времени, сервер LDAP возвращает уведомление об отключении LDAP.
Значение по умолчанию: 900 секунд
MaxDatagramRecv — максимальный размер запроса на диаграмму данных, которую будет обрабатывать контроллер домена. Запросы, превышающие значение MaxDatagramRecv, игнорируются.
Значение по умолчанию: 4096 байт
MaxNotificationPerConnection — максимальное количество невыполненных запросов на уведомления, разрешенных в одном соединении. Когда это ограничение достигнуто, сервер возвращает ошибку с занятой работой для любых новых поисковых запросов уведомлений, выполняемых в этом соединении.
Значение по умолчанию: 5
MaxPageSize — это значение определяет максимальное количество объектов, возвращаемых в одном результатах поиска, независимо от размера каждого возвращаемого объекта. Чтобы выполнить поиск, в котором результат может превышать это количество объектов, клиент должен указать элемент управления поиском страниц. Группировать возвращаемые результаты в группах, не превышающих значение MaxPageSize. Чтобы свести к сводные данные, MaxPageSize определяет количество объектов, возвращаемых в одном результатах поиска.
Значение по умолчанию: 1000
MaxPoolThreads — максимальное количество потоков на процессор, которое контроллер домена выделяет для прослушивания сетевых входных или выходных данных (ввода-вывода). Это значение также определяет максимальное количество потоков на процессор, которые могут работать с запросами LDAP одновременно.
Значение по умолчанию: 4 потока на процессор
MaxResultSetSize — между отдельными поисковыми запросами, составляющими поиск по страницам, контроллер домена может хранить промежуточные данные для клиента. Контроллер домена сохраняет эти данные, чтобы ускорить следующую часть поиска результатов страницы. Значение MaxResultSize определяет общий объем данных, которые контроллер домена хранит для такого типа поиска. По достижении этого ограничения контроллер домена отменяет самые старые из этих промежуточных результатов, чтобы освободить место для хранения новых промежуточных результатов.
Значение по умолчанию: 262 144 байта
MaxQueryDuration — максимальное время в секундах, которое контроллер домена будет тратить на один поиск. По достижении этого ограничения контроллер домена возвращает ошибку timeLimitExceed. Поиски, требующие большего времени, должны указывать элемент управления результатами страницы.
Значение по умолчанию: 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.
- В меню Пуск выберите пункт Выполнить.
- В текстовом поле "Открыть " введите ntdsutil и нажмите клавишу ВВОД. Чтобы просмотреть справку в любое время, введите
?
в командной строке.
Просмотр текущих параметров политики
- В командной строке Ntdsutil.exe введите
LDAP policies
и нажмите клавишу ВВОД. - В командной строке политики LDAP введите
connections
и нажмите клавишу ВВОД. - В командной строке подключения сервера введите
connect to server <DNS name of server>
и нажмите клавишу ВВОД. Вы хотите подключиться к серверу, с которым вы работаете в настоящее время. - В командной строке подключения сервера введите
q
и нажмите клавишу ВВОД, чтобы вернуться в предыдущее меню. - В командной строке политики LDAP введите
Show Values
и нажмите клавишу ВВОД.
Отображается отображение политик по мере их существования.
Изменение параметров политики
В командной строке Ntdsutil.exe введите
LDAP policies
и нажмите клавишу ВВОД.В командной строке политики LDAP введите
Set <setting> to <variable>
и нажмите клавишу ВВОД. Например, введите Параметр MaxPoolThreads значение 8.Этот параметр изменяется при добавлении на сервер другого процессора.
Для проверки изменений можно использовать
Show Values
команду.Чтобы сохранить изменения, используйте фиксацию изменений.
После завершения введите
q
и нажмите клавишу ВВОД.Чтобы выйти из Ntdsutil.exe, в командной строке введите
q
и нажмите клавишу ВВОД.
Примечание.
В этой процедуре отображаются только параметры политики домена по умолчанию. Если вы применяете собственный параметр политики, его невозможно увидеть.
Требование перезагрузки
Если изменить значения политики запросов, используемой контроллером домена, эти изменения вступили в силу без перезагрузки. Однако если создается новая политика запроса, перезагрузка требуется для того, чтобы новая политика запросов вступила в силу.
Рекомендации по изменению значений запросов
Чтобы обеспечить устойчивость сервера домена, не рекомендуется увеличивать время ожидания в 120 секунд. Формирование более эффективных запросов является предпочтительным решением. Дополнительные сведения о создании эффективных запросов см. в статье "Создание более эффективных приложений с поддержкой Microsoft Active Directory".
Однако если изменение запроса не является параметром, увеличьте значение времени ожидания только на одном контроллере домена или только на одном сайте. Инструкции см. в следующем разделе. Если параметр применяется к одному контроллеру домена, уменьшите приоритет DNS LDAP на контроллере домена, чтобы клиенты, скорее всего, использовали сервер для проверки подлинности. На контроллере домена с приоритетом увеличения приоритета используйте следующий параметр реестра, чтобы задать LdapSrvPriority
:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
В меню "Изменить" выберите "Добавить значение", а затем добавьте следующее значение реестра:
- Имя записи: LdapSrvPriority
- Тип данных: REG_DWORD
- Значение. Задайте для значения нужного приоритета.
Дополнительные сведения см. в статье "Оптимизация расположения контроллера домена или глобального каталога, который находится за пределами сайта клиента".
Инструкции по настройке на контроллер домена или политику сайта
Создайте политику запросов в разделе CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, forest root.
Задайте контроллеру домена или сайту указатель на новую политику, введя различающееся имя новой политики в атрибуте Query-Policy-Object . Расположение атрибута выглядит следующим образом:
Расположение контроллера домена — CN=NTDS Settings, CN= DomainControllerName, CN=Servers,CN= имя сайта,CN=Sites,CN=Configuration, корень леса.
Расположение сайта — CN=NTDS Site Settings,CN= site name,CN=Sites,CN=Configuration, forest root.
Пример скрипта
Для создания файла 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.