¿Cuáles son los factores que deciden el valor TTL de los servidores DNS?

Los administradores de DNS generalmente tienen como objetivo establecer valores de tiempo de vida en función de la frecuencia con la que se espera que cambie un registro, en equilibrio con los posibles problemas generales de resolución del sistema.

Los TTL cortos, del orden de 20 a 30 segundos, son necesarios para funciones como el direccionamiento altamente dinámico realizado por equilibradores de carga. Ves esto muy comúnmente con las Redes de Distribución de Contenido. Si la carga para un servidor en particular es demasiado alta, querrá poder comenzar a dirigir rápidamente las conexiones a una dirección diferente. Un TTL corto significa que incluso un cliente que estaba usando el servidor con mucha carga hace solo un minuto pronto será alejado de él la próxima vez que pregunte por la dirección.

Se utilizan TTL largos de horas o incluso días para registros altamente estables, como los registros de servidor de nombres (NS) de una delegación o los registros de intercambio de correo (MX) para un dominio. Incluso cuando necesitan actualizarse, el cambio a menudo se puede hacer sin tener que reducir el TTL. Imagine poner en línea un nuevo servidor de correo electrónico para reemplazar uno antiguo. El antiguo podría dejarse operativo durante un par de días hasta que finalmente caduque el último de los registros MX en caché y no se realicen más conexiones. Esto se puede acelerar bajando temporalmente el TTL un día o dos antes de un cambio, y luego restaurando el TTL más largo cuando se completa la migración.

Es natural pensar: “¿por qué no hacer que todos los registros tengan TTL cortos? Eso brinda la mayor flexibilidad ”. Lo hace, a costa del riesgo de latencia ocasional del cliente, aumento del tráfico de red y posibles fallas de resolución. El problema de latencia afecta al primer cliente que intenta usar un registro caducado, ya que el solucionador tiene que salir para actualizar la respuesta. Algunos solucionadores inteligentes pueden mitigar eso con técnicas como la búsqueda previa cuando un TTL está a punto de caducar, pero este tiempo de búsqueda aún es muy común, y algunas empresas son muy sensibles a él.

En cuanto a las fallas de resolución, un resolutor que tenga que actualizar una respuesta corre el riesgo de no poder contactar a los servidores autorizados de DNS adecuados por una variedad de razones, algunas de las cuales podrían haber sido bastante temporales. Un TTL más largo permite que los cachés se suavicen sobre las irregularidades de la red al tiempo que aumenta la eficiencia de los resolvers.

El valor TTL determina cuánto tiempo los servidores recursivos almacenarán en caché los registros y esto a su vez determina qué tan rápido sus usuarios finales verán los cambios de DNS que realice.

En primer lugar, determine con qué frecuencia puede cambiar la respuesta. Algunos registros DNS pueden permanecer iguales durante años, aunque no recomendaría establecer un TTL de años :-). En términos generales, establecería un registro normal, que cambia con poca frecuencia a algo entre 4 y 24 horas.

El valor exacto se determinará en parte por el lugar donde se alojan los servidores DNS autorizados. Algunos proveedores de DNS cobran por consulta y, por lo tanto, un TTL más largo puede tener beneficios de costos. La capacidad de los servidores DNS también es una consideración. Si está utilizando un servicio que puede manejar millones de consultas DNS que los TTL más cortos son factibles, pero si está alojando su propio DNS en un par de pequeños servidores en la esquina de su centro de datos, es posible que desee reducir la carga en ellos extendiendo el TTL.

Si está utilizando DNS como parte de un sistema de gestión de tráfico (para equilibrio de carga, dirección de geo-ip u otro), le recomendaría mantener el TTL a unos 5 minutos como máximo.

Si está realizando cambios en los registros DNS o sistemas que dependen de DNS, a menudo puede ser una buena idea reducir el TTL de los registros DNS antes del evento. Eso significa que, en caso de un problema en el que se necesita un cambio de DNS, puede realizar el cambio y hacer que sus usuarios tengan un efecto más rápido.

Es importante darse cuenta de que TTL no es un atributo de un dominio (zona). TTL es un atributo de cada registro en la zona. ISNIC solo requiere un TTL mínimo en los registros del servidor de nombres dentro del dominio (registros de recursos NS) de 1 día (86400 segundos). ¿Por qué tan alto TTL? Hay muchas buenas razones. Uno es un nuevo tipo de ataque DDoS (Distribuir denegación de servicio) que se ha observado recientemente, que se ha denominado “DNS Slow Drip Attack”. En los ataques DDoS, muchas computadoras se utilizan para inundar un servicio de víctimas con solicitudes, hasta que no puede responder, dejando el servicio fuera de línea. DNS es especialmente vulnerable a este tipo de ataques debido a su naturaleza abierta y al uso de paquetes UDP. El protocolo UDP lo hace trivial para falsificar direcciones, lo que hace que sea muy difícil filtrar los paquetes de ataque de usos legítimos.

El valor del campo TTL en los registros NS afecta la tasa de consulta en los servidores de nombres .IS, por lo tanto, se aplica un cierto mínimo. Tenga en cuenta que este requisito mínimo de TTL solo se aplica a los registros NS.

Es posible debatir cuál debería ser exactamente el valor mínimo, pero la experiencia en los últimos años sugiere que estos valores solo deberían reducirse a partir de valores predeterminados bastante altos si se planifican algunos cambios.

Puede registrar su dominio .is aquí, por favor: Registro de dominio .is de ISNIC

Si usa su propio servidor DNS, puede configurar el TTL en sus registros. Un TTL corto agiliza los cambios, por ejemplo, justo antes de una migración. La recuperación de desastres podría ser una razón para TTL cortos. Si estoy replicando máquinas virtuales del sitio A al sitio B que tiene un rango de direcciones IP diferente, entonces puedo configurar registros A para la dirección IP de cada sitio y el número usar un CNAME con TTL corto para redirigir a los usuarios al sitio en vivo. Si tengo un objetivo de tiempo de recuperación (RTO) de 15 minutos, me gustaría que mi CNAME TTL no supere los 900 segundos. Por cierto, esta manipulación de CNAME es la forma en que funciona la mayoría de la red de distribución de contenido y equilibrio de carga global del sitio. Sin embargo, al usar un TTL corto, obtendrá mayores solicitudes para resolver registros y aumentará la carga del servidor DNS para resolver.

También he oído hablar de personas que ejecutan servidores DNS de almacenamiento en caché que ignorarán los TTL que consideran demasiado cortos. Por lo tanto, si está ejecutando algo como F5 para el equilibrio de carga global del sitio o manipulando DNS para la conmutación por error del sitio a otro centro de datos, entonces puede encontrar que un porcentaje (con suerte pequeño) de usuarios no se redirige correctamente.

Si utiliza un proveedor de DNS, compruebe en qué se puede establecer su TTL mínimo. He visto algunos que 30 minutos es su mínimo. Por lo tanto, si tuviera que usar un proveedor de este tipo y necesitara hacer cambios para acomodar una conmutación por error del sitio de recuperación de desastres, entonces su objetivo de tiempo de recuperación mínimo (RTO) no podría ser mejor que 30 minutos. Otros pueden no tener una configuración mínima, pero le cobran por el número total de solicitudes de DNS.

Es para lo que esté configurado el servidor DNS. Hoy, 64 es amplio, AFAIK. Puedo recordar los días en que el valor predeterminado era 16. Y eso se volvió demasiado pequeño …