6 votos

Cómo hacer ANUNCIOS de alta disponibilidad para las aplicaciones que la utilizan como un servicio LDAP

Nuestra situación

Actualmente disponemos de muchas aplicaciones web que utilizan LDAP para la autenticación. Para ello, el punto de la aplicación web para uno de nuestros ANUNCIOS de los controladores de dominio mediante el LDAPS puerto (636).

Cuando tenemos que actualizar el Controlador de Dominio, esto nos ha causado problemas porque uno más de la aplicación web podría depender de cualquier DC.

Lo que queremos

Nos gustaría destacar que nuestras aplicaciones web a un clúster "virtual" de la IP. Este consistirá de al menos dos servidores (de modo que cada uno de los clústeres de servidor podría girar y actualizada). El clúster de servidores proxy LDAPS conexiones a los países en desarrollo y ser capaz de averiguar lo que está disponible.

Preguntas

Para alguien que ha tenido experiencia con la creación de un clúster HA para el ANUNCIO de la interfaz LDAP:

  1. ¿Qué software se utiliza para el clúster?
  2. Cualquier advertencias?
  3. O tal vez de una arquitectura completamente diferente a lograr algo similar?

Actualización

Tal vez mi pregunta no estaba inicialmente lo suficientemente clara. Mis disculpas por eso.

Estas aplicaciones web no son desarrollados por nosotros y no son AD-aware. Ellos sólo piden un servidor LDAP nombre de host/dirección IP. Por desgracia, tenemos que trabajar con esa restricción. Entiendo lo SRV records trabajo pero, siendo estas no son nuestras solicitudes, no nos ayuda en este caso.

Tampoco es realista para nosotros la fuerza de los desarrolladores a modificar sus aplicaciones para ser AD aware.

La única opción es abordar este tema dentro de la infraestructura como de oponerse al software. Mis preguntas son dirigidas hacia alguien que ha hecho eso específicamente.

4voto

Chris McKeown Puntos 5983

Usted debe ser capaz de simplemente apunte su web, servidores de aplicaciones en el FQDN del dominio de Active Directory. Este debe conectarse a un DC.

Por ejemplo, su dominio puede tener un par de DCs:

dc1.example.com

dc2.example.com

En lugar de apuntar hacia los servidores web en dc1 o dc2 explícitamente, sólo el punto de que en example.com (trate de telnet a example.com en el puerto 636 - usted obtendrá una conexión a un controlador de dominio). Creo que es básicamente round robin DNS.

Debo admitir que no sé qué pasaría si un DC fue fuera de línea. Podría tomar un tiempo para que los registros DNS para reflejar que, si de hecho ellos en absoluto. Valdría la pena probar, en lugar de poner un equilibrador de carga en el medio.

2voto

AdmiralNemo Puntos 424

La forma correcta de hacer esto es utilizar el SERVIDOR DNS los registros para buscar el controlador de dominio y nombres de los puertos, así como determinar qué servidores para su uso en qué orden. Desafortunadamente, no muchas aplicaciones LDAP parecen apoyar registro SRV de las búsquedas.

El registro SRV para controladores de dominio Active Directory es _ldap._tcp.domain.tld. Esto devolverá una lista de hosts y puertos, así como una prioridad y peso para cada uno (estos valores se pueden configurar mediante la Directiva de Grupo) que en conjunto indican que el servidor a utilizar.

2voto

84104 Puntos 6069

Utilizamos Cisco IOS en el Servidor del Equilibrador de Carga (SLB) para que este en contra de nuestros servidores OpenLDAP.
LDAP se LDAP se debe trabajar para Microsoft Active Directory así.
Otros fabricantes ofrecen productos similares/capacidades. El equilibrio de tcp 389/636 es el mismo como el equilibrio de tcp 80/443 (o cualquier otro tcp).

Usted puede tener algunos problemas de certificado para el trabajo, aunque. Usted puede ser capaz de decir que la aplicación sea menos vigilantes. (Ya puede ser, no estoy seguro de cómo su ANUNCIO de certificados están firmados o lo que CAs de confianza.) O a sus servidores de ANUNCIOS de uso de certificados con apropiados subjectAlternativeName campos.

1voto

Greg Askew Puntos 17236

La aplicación debe ser lo suficientemente robusta como para hacer lo que los clientes de Windows internamente si un controlador de dominio disponible - intenta conectarse a otro controlador de dominio.

La forma en que esto funciona es cuando se inicia la aplicación, el Servicio de Directorio del componente de acceso de la aplicación sería el siguiente:

  • Construir una lista de todos los controladores de dominio en el sitio (y de cualquiera de los sitios adyacentes, si se prefiere)
  • Realizar una serie de pruebas para validar la conectividad (ping, 389/3268/636 de la prueba). Esto también podría confirmar si es un DC, GC, o RODC.
  • Realizar una consulta simple para validar el servicio de directorio es funcional y autenticación de trabajo.
  • Guardar una lista de los conocidos buen controladores de dominio, y también una lista de los controladores de dominio sin conexión.

A continuación, utilice los buenos servidores, cuando el desempeño de un enlace, la incorporación del servidor en el enlace de la ruta. Si se produce una excepción y es uno de los tipos, lo que podría indicar un problema con el controlador de dominio (servidor no operacionales, ocupado, tiempo de espera, etc), se debe agregar que la dc a la lista sin conexión y el intento de la operación usando uno de los otros de dc.

1voto

Cold T Puntos 1879

Una posible solución es un LDAP del Servidor Proxy. No hay muchos por ahí, pero definitivamente va a hacer el truco. Aquí está, un poco de exageración - http://www.unboundid.com/products/directory-proxy-server.php. Estoy seguro de que hay mucho más barato alternativas de código abierto a este LDAP del servidor proxy.

EDIT: sólo un pensamiento, dentro de la aplicación ¿tienes un lugar para entrar en la URI LDAP? Si es así, no se puede introducir una secuencia de servidores separados por un espacio como: ldap://123..456.789.111 ldap://123.456.789.222 ldap://123.456.789.444

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: