Visualización y establecimiento de la directiva LDAP en Active Directory mediante Ntdsutil.exe

En este artículo se describe cómo administrar directivas ligeras de protocolo de acceso a directorios (LDAP) mediante la herramienta Ntdsutil.exe.

Se aplica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 315071

Resumen

Para asegurarse de que los controladores de dominio pueden admitir garantías de nivel de servicio, debe especificar límites operativos para muchas operaciones LDAP. Estos límites impiden que operaciones específicas afecten negativamente al rendimiento del servidor. También hacen que el servidor sea más resistente a algunos tipos de ataques.

Las directivas LDAP se implementan mediante objetos de la queryPolicy clase . Los objetos de directiva de consulta se pueden crear en el contenedor Directivas de consulta, que es un elemento secundario del contenedor de Directory Service en el contexto de nomenclatura de configuración. Por ejemplo, cn=Query-Policies,cn=Directory Service,cn=Windows NT,cn= Contexto de nomenclatura de configuración de servicios.

Límites de administración de LDAP

Los límites de administración ldap son:

  • InitRecvTimeout: este valor define el tiempo máximo en segundos que espera un controlador de dominio para que el cliente envíe la primera solicitud después de que el controlador de dominio reciba una nueva conexión. Si el cliente no envía la primera solicitud en esta cantidad de tiempo, el servidor desconecta el cliente.

    Valor predeterminado: 120 segundos

  • MaxActiveQueries: el número máximo de operaciones de búsqueda LDAP simultáneas que se pueden ejecutar al mismo tiempo en un controlador de dominio. Cuando se alcanza este límite, el servidor LDAP devuelve un error ocupado .

    Valor predeterminado: 20

    Nota:

    Este control tiene una interacción incorrecta con el valor MaxPoolThreads. MaxPoolThreads es un control por procesador, mientras que MaxActiveQueries define un número absoluto. A partir de Windows Server 2003, MaxActiveQueries ya no se aplica. Además, MaxActiveQueries no aparece en la versión de Windows Server 2003 de NTDSUTIL.

    Valor predeterminado: 20

  • MaxConnections: el número máximo de conexiones LDAP simultáneas que aceptará un controlador de dominio. Si una conexión llega después de que el controlador de dominio alcanza este límite, el controlador de dominio quita otra conexión.

    Valor predeterminado: 5000

  • MaxConnIdleTime: el tiempo máximo en segundos que el cliente puede estar inactivo antes de que el servidor LDAP cierre la conexión. Si una conexión está inactiva durante más de este tiempo, el servidor LDAP devuelve una notificación de desconexión LDAP.

    Valor predeterminado: 900 segundos

  • MaxDatagramRecv: el tamaño máximo de una solicitud de datagrama que un controlador de dominio procesará. Las solicitudes que son mayores que el valor de MaxDatagramRecv se omiten.

    Valor predeterminado: 4096 bytes

  • MaxNotificationPerConnection: el número máximo de solicitudes de notificación pendientes que se permiten en una única conexión. Cuando se alcanza este límite, el servidor devuelve un error ocupado a las nuevas búsquedas de notificaciones que se realizan en esa conexión.

    Valor predeterminado: 5

  • MaxPageSize: este valor controla el número máximo de objetos devueltos en un único resultado de búsqueda, independientemente del tamaño de cada objeto devuelto. Para realizar una búsqueda en la que el resultado podría superar este número de objetos, el cliente debe especificar el control de búsqueda paginado. Es para agrupar los resultados devueltos en grupos que no son mayores que el valor MaxPageSize. En resumen, MaxPageSize controla el número de objetos que se devuelven en un único resultado de búsqueda.

    Valor predeterminado: 1000

  • MaxPoolThreads: el número máximo de subprocesos por procesador que un controlador de dominio dedica a la escucha de entrada o salida de red (E/S). Este valor también determina el número máximo de subprocesos por procesador que pueden funcionar en solicitudes LDAP al mismo tiempo.

    Valor predeterminado: 4 subprocesos por procesador

  • MaxResultSetSize: entre las búsquedas individuales que componen una búsqueda de resultados paginados, el controlador de dominio puede almacenar datos intermedios para el cliente. El controlador de dominio almacena estos datos para acelerar la siguiente parte de la búsqueda de resultados paginados. El valor MaxResultSize controla la cantidad total de datos que el controlador de dominio almacena para este tipo de búsqueda. Cuando se alcanza este límite, el controlador de dominio descarta el más antiguo de estos resultados intermedios para dejar espacio para almacenar nuevos resultados intermedios.

    Valor predeterminado: 262 144 bytes

  • MaxQueryDuration: el tiempo máximo en segundos que un controlador de dominio dedicará a una sola búsqueda. Cuando se alcanza este límite, el controlador de dominio devuelve un error "timeLimitExceeded". Las búsquedas que requieren más tiempo deben especificar el control de resultados paginados.

    Valor predeterminado: 120 segundos

  • MaxTempTableSize: mientras se procesa una consulta, puede intentar crear una tabla de base de datos temporal desde la dblayer que ordenar y seleccionar resultados intermedios. El límite MaxTempTableSize controla el tamaño de esta tabla de base de datos temporal. Si la tabla de base de datos temporal contendrá más objetos que el valor de MaxTempTableSize, dblayer realiza un análisis mucho menos eficaz de la base de datos DS completa y de todos los objetos de la base de datos DS.

    Valor predeterminado: 10 000 registros

  • MaxValRange: este valor controla el número de valores que se devuelven para un atributo de un objeto, independientemente del número de atributos que tenga el objeto o del número de objetos que haya en el resultado de la búsqueda. En Windows 2000, este control está codificado de forma rígida en 1000. Si un atributo tiene más que el número de valores especificados por el valor MaxValRange, debe usar controles de intervalo de valores en LDAP para recuperar valores que superen el valor de MaxValRange. MaxValueRange controla el número de valores que se devuelven en un único atributo en un solo objeto.

    • Valor mínimo: 30
    • Valor predeterminado: 1500

Iniciar Ntdsutil.exe

Ntdsutil.exe se encuentra en la carpeta Herramientas de soporte técnico del CD-ROM de instalación de Windows. De forma predeterminada, Ntdsutil.exe se instala en la carpeta System32.

  1. Haga clic en Inicio y luego en Ejecutar.
  2. En el cuadro de texto Abrir , escriba ntdsutil y presione ENTRAR. Para ver la ayuda en cualquier momento, escriba ? en el símbolo del sistema.

Visualización de la configuración de directiva actual

  1. En el símbolo del sistema Ntdsutil.exe, escriba LDAP policiesy presione ENTRAR.
  2. En el símbolo del sistema de la directiva LDAP, escriba connectionsy presione ENTRAR.
  3. En el símbolo del sistema de conexión del servidor, escriba connect to server <DNS name of server>y presione ENTRAR. Quiere conectarse al servidor con el que está trabajando actualmente.
  4. En el símbolo del sistema de conexión del servidor, escriba qy presione ENTRAR para volver al menú anterior.
  5. En el símbolo del sistema de la directiva LDAP, escriba Show Valuesy presione ENTRAR.

Aparece una presentación de las directivas tal como existen.

Modificación de la configuración de directiva

  1. En el símbolo del sistema Ntdsutil.exe, escriba LDAP policiesy presione ENTRAR.

  2. En el símbolo del sistema de la directiva LDAP, escriba Set <setting> to <variable>y presione ENTRAR. Por ejemplo, escriba Establecer MaxPoolThreads en 8.

    Esta configuración cambia si agrega otro procesador al servidor.

  3. Puede usar el Show Values comando para comprobar los cambios.

    Para guardar los cambios, use Confirmar cambios.

  4. Cuando termine, escriba qy, a continuación, presione ENTRAR.

  5. Para salir de Ntdsutil.exe, en el símbolo del sistema, escriba qy, a continuación, presione ENTRAR.

Nota:

Este procedimiento solo muestra la configuración de directiva de dominio predeterminada. Si aplica su propia configuración de directiva, no podrá verla.

Requisito de reinicio

Si cambia los valores de la directiva de consulta que usa actualmente un controlador de dominio, esos cambios surten efecto sin reiniciar. Sin embargo, si se crea una nueva directiva de consulta, se requiere un reinicio para que la nueva directiva de consulta surta efecto.

Consideraciones para cambiar los valores de consulta

Para mantener la resistencia del servidor de dominio, no se recomienda aumentar el valor de tiempo de espera de 120 segundos. La formación de consultas más eficaces es una solución preferida. Para obtener más información sobre cómo crear consultas eficaces, consulte Creación de aplicaciones de microsoft active Directory-Enabled más eficaces.

Sin embargo, si cambiar la consulta no es una opción, aumente el valor de tiempo de espera solo en un controlador de dominio o solo en un sitio. Para obtener instrucciones, consulte la sección siguiente. Si la configuración se aplica a un controlador de dominio, reduzca la prioridad LDAP de DNS en el controlador de dominio para que los clientes usen menos el servidor para la autenticación. En el controlador de dominio con la prioridad de aumento, use la siguiente configuración del Registro para establecer LdapSrvPriority:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

En el menú Editar , seleccione Agregar valor y agregue el siguiente valor del Registro:

  • Nombre de entrada: LdapSrvPriority
  • Tipo de datos: REG_DWORD
  • Valor: establezca el valor en el valor de la prioridad que desee.

Para obtener más información, vea Cómo optimizar la ubicación de un controlador de dominio o un catálogo global que reside fuera del sitio de un cliente.

Instrucciones para configurar por controlador de dominio o por directiva de sitio

  1. Cree una nueva directiva de consulta en CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, forest root.

  2. Establezca el controlador de dominio o el sitio para que apunte a la nueva directiva; para ello, escriba el nombre distintivo de la nueva directiva en el atributo Query-Policy-Object . La ubicación del atributo es la siguiente:

    • La ubicación del controlador de dominio es CN=NTDS Settings, CN= DomainControllerName, CN=Servers,CN= site name,CN=Sites,CN=Configuration, forest root.

    • La ubicación del sitio es CN=NTDS Site Settings,CN= site name,CN=Sites,CN=Configuration, forest root.

Script de ejemplo

Puede usar el texto siguiente para crear un archivo Ldifde. Puede importar este archivo para crear la directiva con un valor de tiempo de espera de 10 minutos. Copie este texto en Ldappolicy.ldf y, a continuación, ejecute el siguiente comando, donde raíz del bosque es el nombre distintivo de la raíz del bosque. Deje DC=X tal y como está. Es una constante que se reemplazará por el nombre raíz del bosque cuando se ejecute el script. La constante X no indica un nombre de controlador de dominio.

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

Inicio del script 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

Después de importar el archivo, puede cambiar los valores de consulta mediante Adsiedit.msc o Ldp.exe. La configuración MaxQueryDuration de este script es de 5 minutos.

Para vincular la directiva a un controlador de dominio, use un archivo de importación LDIF como este:

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

Impórela mediante el siguiente comando:

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

Para un sitio, el archivo de importación LDIF contendrá:

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

Nota:

Ntdsutil.exe solo muestra el valor en la directiva de consulta predeterminada. Si se define alguna directiva personalizada, Ntdsutil.exe no las muestra.