Qué es el TTL DNS: caché, propagación y buenas prácticas
El TTL, o Time To Live, indica a los resolvers recursivos durante cuánto tiempo pueden conservar una respuesta DNS en caché. Es un equilibrio entre eficiencia y rapidez para que futuros cambios sean visibles.
Cómo funciona la caché TTL
Un servidor autoritativo publica cada registro con un TTL. El resolver recursivo guarda la respuesta y descuenta ese valor. Los usuarios que consultan el mismo resolver reciben la respuesta cacheada hasta que el contador llega a cero.
El TTL que ves con dig contra un resolver recursivo suele ser el tiempo restante de caché, no necesariamente el TTL original publicado por la zona.
dig @ns1.example.net example.com A +norecurse
dig @1.1.1.1 example.com A
sleep 10
dig @1.1.1.1 example.com AValores TTL habituales
- 300 segundos: útil durante una migración controlada, con más consultas DNS.
- 1800 a 3600 segundos: equilibrio frecuente para registros normales.
- 14400 segundos o más: eficiente para registros estables que cambian poco.
- NS y delegación: requieren más planificación porque interviene la caché del dominio padre.
Cómo preparar un cambio
Baja el TTL antes de la ventana de mantenimiento y espera al menos el TTL anterior. Así, la mayoría de resolvers renovarán la respuesta con un valor más corto antes del cambio real.
dig @ns1.example.net example.com A +noall +answer
dig @ns1.example.net example.com SOA +noall +answerErrores habituales
Bajar el TTL minutos antes de migrar
Las cachés existentes pueden conservar el TTL antiguo.
Dejar un TTL muy bajo para siempre
Aumenta carga de consultas sin mejorar siempre la disponibilidad.
Esperar TTL idénticos en todos los resolvers
Cada resolver cacheó la respuesta en momentos distintos.
Ignorar caché negativa
Un nombre inexistente también puede cachearse según la configuración SOA.