¿Puedes configurar una IP de respaldo para tu servidor en DNS?

10

¿Hay alguna manera de que el protocolo DNS pueda contener naturalmente una dirección de servidor de registros de respaldo A, como el servidor de nombres de respaldo o los registros del servidor de correo? Al buscar esto, solo vi resultados en servidores de nombres de respaldo (registros NS).

Si no hay una manera para que DNS admita registros de respaldo A, ¿cuál es la mejor manera de simular los resultados para que los usuarios sean dirigidos a un servidor en funcionamiento en caso de que el servidor primario no responda?

kjones1876
fuente

Respuestas:

12

Sí ... más o menos.

Hay dos cosas que puede hacer aquí: si coloca varios registros A en su servidor DNS para un nombre dado, todos se servirán a los clientes y esos clientes elegirán uno del conjunto para conectarse, lo que significa que el tráfico se estar distribuido "de manera equitativa" entre todos los sitios simultáneamente. Esto no es realmente lo que parece estar describiendo, pero es una situación común (aunque no confío en él, por varias razones).

La otra opción es que solo coloque un registro A en su servidor DNS, y el servidor DNS (o algo auxiliar, como un script de monitoreo) vigila la dirección principal de su sitio, y si falla, entonces el servidor A de DNS el registro se cambia a su otro sitio. Esto significa que solo un sitio obtendrá tráfico a la vez.

La desventaja de esta segunda estrategia es el almacenamiento en caché de DNS. Cualquiera que haya obtenido la dirección del sitio anterior será SOL hasta que se eliminen las entradas de caché de DNS que contienen la dirección anterior. Esto significa que debe mantener bajos sus TTL (aumentando la carga en su infraestructura de DNS, aunque eso rara vez es un problema práctico), pero aún existe el problema de los cachés de DNS "no autorizados", que no respetan los TTL. Estos son un dolor masivo para cualquiera quien alguna vez tiene que cambiar las entradas de DNS, pero son un millón de veces peores para cualquiera que necesite cambiar las entradas de DNS "a menudo" (es de esperar que su sitio no se caiga varias veces al día, pero aún así ...) Básicamente, cualquiera detrás de uno de estos cachés de DNS que se comportan mal verá su sitio como "inactivo" durante un período de tiempo extremadamente extenso, y solo trate de explicarles que es su caché de DNS el que tiene la culpa ... Eugh.

En resumen, no lo haría para un sitio, porque hay mejores maneras de mitigar cualquier riesgo en el que esté pensando, pero deberá describir ese riesgo si desea sugerencias sobre cómo mitigarlo.

womble
fuente
El riesgo es que si el servidor principal se cae (por cualquier razón) quiero que mis usuarios sean enviados a un servidor de respaldo. Quiero decir, en el último año, mi servidor se ha caído una vez (falla de incursión catastrófica). Tenía copias de seguridad, por lo que los datos estaban seguros, pero mi sitio web estuvo inactivo durante 12 horas. Pensé que esto habría sido un problema común con una solución "adecuada". Pensé que las empresas querrían un plan de respaldo.
kjones1876
99
No desea la conmutación por error de DNS, desea un hardware más confiable y posiblemente un servidor en espera activo.
womble
Las "cachés DNS deshonestas" son un cuento de viejas. Ningún software de servidor DNS real muestra el comportamiento de ignorar los TTL. Los lugares donde los datos DNS se almacenan en caché de tal manera que causan problemas son las aplicaciones , como el infame problema de almacenamiento en caché de búsqueda de Netscape Navigator, por ejemplo.
JdeBP
@JdeBP: En palabras de Kevin Costner: "los cachés de DNS no son un mito ... ¡los he visto!" Hice las excavaciones y vi los resultados locos y alucinantes. Más popular entre los servicios con restricciones de ancho de banda y afectados por la latencia en aquellos días en que ese tipo de cosas era común (ISP de acceso telefónico cuyo enlace ascendente era ISDN, por ejemplo), ahora son utilizados principalmente por personas que se enteraron de que eran buenos. idea hace mucho tiempo y simplemente no he cambiado de opinión desde entonces (no es que fueran una idea particularmente buena entonces ... pero sí).
womble
6

Todo el mundo parece pensar que estás hablando de servidores WWW, a pesar de que escribiste explícitamente

como un servidor de nombres o un servidor de correo de respaldo

La verdad que a menudo se pasa por alto es que el servicio HTTP es la excepción y no la norma cuando se trata de esto. En el caso normal, sí, no es un mecanismo para la publicación de información a los clientes a través del DNS para que se repliegue correctamente desde los servidores primarios a los servidores de copia de seguridad. Ese mecanismo son SRVlos registros de recursos, tal como los usan los clientes de servicio para muchos otros protocolos además de HTTP. Ver RFC 2782.

Con SRVlos registros de recursos, se les indica a los clientes una lista de servidores, con prioridades y pesos, y se les exige que prueben los servidores en orden de prioridad, seleccionando entre servidores con iguales prioridades de acuerdo con el peso, eligiendo servidores de mayor peso que los de menor peso. unos. Entonces, con SRVlos registros de recursos, los administradores del servidor pueden decirle a los clientes cuáles son los servidores de reserva y cómo distribuir su carga en un conjunto de servidores de igual prioridad.

Ahora los servidores DNS de contenido están ubicados por un tipo especial de registro de NSrecursos propio, registros de recursos, que no tienen información de prioridad y peso. Del mismo modo, los servidores de retransmisión SMTP están ubicados por su propio tipo especial de registro de recursos MX, que tiene información de prioridad pero no información de ponderación. Por lo tanto, para los servidores DNS de contenido no existe ninguna disposición para publicar información de distribución alternativa y de carga; y si uno está utilizando MXregistros de recursos, entonces, para los servidores de retransmisión SMTP, no existe ninguna disposición para publicar información de distribución de carga.

Sin embargo, SRVahora existen MTS con capacidad. (La primera fue exim, que ha sido SRVcapaz desde 2005). Y para otros protocolos de servicio, sin gravámenes con el equipaje MXy NSlos registros de recursos, la SRVadopción es mucho más exhaustiva y generalizada. Si tiene un dominio de Microsoft Windows, por ejemplo, toda una serie de servicios se encuentran a través de SRVbúsquedas en el DNS . Ese ha sido el caso durante más de una década, en este momento.

El problema es que todos piensan en HTTP, cuando HTTP es con diferencia, hoy en día en 2011, la excepción y no la regla aquí.

JdeBP
fuente
Si bien los registros srv son excelentes para el uso de la red interna cuando se controla el entorno, simplemente no son suficientes para un servidor externo con clientes heterogéneos. no sabe que se accederá al registro ya que no sabe si el cliente admitirá el acceso a registros srv.
Michael Lowman
1
Una vez más, está dejando que HTTP rija su pensamiento. Para muchos de los clientes mencionados anteriormente, los SRVregistros son la forma definida de ubicar los servicios. También tenga en cuenta que la pregunta era si el mecanismo existe y qué era. El mecanismo existe, y este es el mecanismo. Se ha utilizado ampliamente durante una década.
JdeBP
Ciertamente tienes razón, srv es sin duda el mecanismo correcto y en realidad hace otras cosas que, aunque DNS no podía hacer, ojalá pudiera. Lamentablemente no hay soporte de navegador srv. Además, aunque la pregunta era específica de HTTP porque dije "como servidor de nombres o servidor de correo de respaldo", lo que significa que ya existen soluciones de respaldo para ellos.
kjones1876
1

si está sirviendo contenido dinámico y no es práctico simplemente tener dos servidores que brinden contenido simultáneamente, entonces su otra opción es tener múltiples registros en su DNS de todos modos y configurar el servidor de respaldo para que el puerto ICMP no sea accesible a los clientes que intentan conectarse a él ; Si en algún momento el servidor principal se cae, simplemente elimine el bloqueo del puerto 80 en la copia de seguridad y el tráfico comenzará a llegar.

La única otra forma (económica) que podrá hacerlo es configurar una máquina separada (o dos) para realizar NAT en las solicitudes, por lo tanto, si un servidor web muere, simplemente puede eliminar la regla NAT para ello.

Olipro
fuente
Originalmente me cansé de su primera idea, apagué apache en el servidor principal pero el navegador seguía intentando conectarse de todos modos. Pero, ¿convertir el curso de apache en un error ICMP? Si no, ¿cómo hago el servidor a través de un error ICMP?
kjones1876
no, la conexión simplemente se agota, deberías obtener iptables para rechazarla correctamente así:
Olipro
iptables -I INPUT -p tcp --dport 80 -j REJECT --reject-with icmp-port-
inalreachable
Me cansé y la gente simplemente no pudo conectarse ... Incluso desconecté el servidor en el que estaba probando.
kjones1876
El interlocutor no estaba hablando específicamente de solo servidores WWW. De hecho, xe mencionó los servidores de correo y nombres explícitamente.
JdeBP
0

No hay registros A de respaldo, pero puede haber varios registros A que se distribuyen en orden aleatorio.

La mayoría de los navegadores son capaces de probar otro servidor si uno falla. (Ver: Resiliencia web con DNS de Round Robin )

Puede tener una dirección IP de clúster respaldada por varios servidores con VRRP o CARP . El servidor de respaldo se hace cargo de la dirección cuando falla el servidor primario.

jkj
fuente
El interlocutor no estaba hablando específicamente de solo servidores WWW. De hecho, xe mencionó los servidores de correo y nombres explícitamente.
JdeBP
@JdeBP: Oh. Parece que soy ciego Lo sentimos: P
jkj
0

Sí, pero tienes que hacerlo tú mismo ;-)

¿Podría dar más información sobre por qué desea un "registro A de respaldo" y cómo y en qué circunstancias le gustaría ir al respaldo.

Además, sería útil conocer la relación desde una perspectiva de red entre los hosts primario y de respaldo.

dmourati
fuente
0

Esta es una pregunta bastante antigua, pero no se han mencionado dos tecnologías bastante significativas en las respuestas: DNS dinámico y CDN.

El DNS dinámico está configurado para que los registros DNS se puedan modificar casi en tiempo real, de modo que un cliente de monitoreo pueda desencadenar cambios en los registros DNS A públicos según lo dicte la disponibilidad del servicio. (Por supuesto, su servicio de alojamiento de DNS debe ser compatible con DNS dinámico).

Los CDN también se pueden usar para entregar DNS, como por ejemplo Cloudflare (que se lanzó en 2010, creo).

yourcomputergenius
fuente