
Compré un dominio en namecheap y configuré en el panel del cliente mis servidores NS personales:
ns1.ejemplo.com
ns2.ejemplo.com
1) En caso de que el servidor ns1 no esté disponible, ¿todas las solicitudes aún llegan a ns1 o todas llegan al servidor ns2? ¿Cómo configurar un cambio abrupto para todas las solicitudes si ns1 o ns2 dejan de estar disponibles?
2) Después de los servidores NS ns1/2, tengo Load Balancers en caso de que uno de LB no esté disponible, cómo configurar el servidor ns para verificar este estado (qué aplicación usar: vincular o si no, puede haber alguna API o puede configurarla). redirigir todas las solicitudes solo al LB en funcionamiento)?
Respuesta1
1) En caso de que el servidor ns1 no esté disponible, ¿todas las solicitudes aún llegan a ns1 o todas llegan al servidor ns2?
No, el DNS no funciona así. Proporciona equilibrio de carga predeterminado, no conmutación por error.
DNS se ocupa de conjuntos de registros de recursos. No listas, conjuntos. Las listas están ordenadas, los conjuntos no.
El conjunto de servidores de nombres para un nombre de dominio contiene todos los nombres autorizados para este dominio. Dicho de otra manera: si example.org
tiene ns1.example.com
yns2.example.com
entonces ambos servidores recibirán estadísticamente el 50% de todas las solicitudes en todo momento. EsNO100% para ns1
y solo cuando falla pasa al 100% ns2
.
Entonces, el 50% de las solicitudes cada una, pero ¿qué sucede si una deja de responder por cualquier motivo? Entonces el solucionador cambiará a la otra, pero solo después de haberla consultado porque no puede saber cuándo dejó de responder y también tiene que sondear periódicamente a una. no responde para detectar cuando vuelve a estar en línea. Eso significa que la resolución se producirá, pero llevará más tiempo porque el algoritmo será el primero: - preguntar ns1
- esperar un tiempo - preguntar de nuevo ns1
- esperar un tiempo - y en algún momento (la cantidad de tiempo que se debe esperar entre dos consultas y el número (el número de reintentos suele ser configurable y diferente en cada software) al que cambiará ns2
y, por lo tanto, finalmente obtendrá la respuesta.
La aplicación que llama en el origen de esta resolución DNS puede tener un tiempo de espera, por lo que puede dejar de esperar la respuesta si lo anterior ocurre y está tardando demasiado.
Hoy en día, el "DNS de alta disponibilidad" generalmente se proporciona mediante el uso de tecnología anycast: los servidores de nombres se resuelven en direcciones IP que están difundidas en varios lugares. Esto proporciona mejores rendimientos debido a un acceso más "local" y también una conmutación por error automatizada (pero debido a una característica de IP, no a una característica de DNS específica), ya que otro nodo recogerá el tráfico si alguno no responde, debido a cómo funciona BGP. Por lo tanto, las cosas no crearán el ciclo de tiempo de espera y reintento que se muestra arriba.
Después de los servidores NS ns1/2 tengo Load Balancers
No lo tengo claro, pero en cualquier caso no coloque balanceadores de carga ni nada delante de los servidores de nombres. La mayoría de las veces crearán más problemas que soluciones (porque a menudo implementan un subconjunto muy limitado del protocolo DNS y, por lo tanto, crean problemas de interoperabilidad).
¿Puede haber alguna API?
Hay muchas formas de configurar y utilizar balanceadores de carga y, de hecho, configurarlos para que tengan en cuenta el estado de los servicios a los que se encuentran. Pero en esta etapa su pregunta es demasiado amplia, deberá ser más claro, teniendo en cuenta la primera parte y el malentendido sobre DNS que pueda haber tenido.
Respuesta2
El tipo de servidor de sistema de nombres de dominio (DNS) que esté utilizando marca una gran diferencia en el enfoque. Por ejemplo, una zona integrada de Active Directory con replicación adecuada entre otros servidores DNS, que normalmente también son controladores de dominio, proporciona un nivel de tolerancia a fallos.
Por lo general, a los clientes se les designa un proveedor de DNS primario, secundario y, en algunos casos, terciario y posterior para utilizarlo en su configuración de IP local. En caso de que un cliente aún no tenga el registro almacenado en caché (según su tiempo de vida (TTL)) y no pueda comunicarse con su proveedor de DNS principal en el momento de la solicitud, comenzará a trabajar a través del proveedor secundario y continuará hasta alcanzar su intervalo de tiempo de espera. . Una forma adecuada de pensar en esta designación de proveedor de DNS de cliente primario-secundario es como una versión relativa de alta disponibilidad activa-pasiva.
Las soluciones modernas de equilibrio de carga, especialmente los dispositivos físicos de lujo, generalmente tienen controles de estado (comúnmente denominados "sondas") que se pueden usar para verificar el estado de un servicio como el que usted busca. Tendrá que consultar la documentación de su proveedor para la implementación. Sin embargo, tenga en cuenta que si suNS1yNS2están inactivos y los registros de nombres de su balanceador de carga son proporcionados por estos mismos proveedores de DNS a los que apuntan los clientes, luego confiar en los balanceadores de carga en esencia en esta tercera etapa de falla no le proporcionará nada (salvo un almacenamiento en caché de registros de cliente afortunado).