Consultar el DNS TTL: cómo cambiar el valor del DNS TTL
El valor del DNS TTL determina cuánto tiempo se almacenan las consultas DNS y la información relacionada. Cuando se traslada una página web o se crean nuevos subdominios, puede ser conveniente cambiar el valor del DNS TTL.
¿Qué es el TTL?
TTL significa “Time to Live” (tiempo de vida). Este valor del registro DNS se refiere al tiempo que tu configuración DNS debe permanecer almacenada en caché antes de que se actualice automáticamente.
Cuando se realiza un cambio en el DNS, el resto del Internet tarda un tiempo en darse cuenta. Algunos ejemplos de estos cambios son la actualización de la dirección IP de un servidor, la actualización de tu MX record para hostear tu correo electrónico en una nueva ubicación o el añadir una nueva página web. El valor del TTL le indica a Internet el tiempo que tarda tu registro DNS en comprobar si hay información nueva.
Si has configurado un valor DNS TTL de 12 horas, tus registros DNS se almacenarán en caché durante 12 horas, al cabo de las cuales la nueva información entrará en vigor.
El valor TTL en los dominios IONOS es de hasta una hora para todos los registros A, AAA, MX, TXT y CNAME.
Dominios disponibles
¿Cuánto tiempo dura el TTL?
El valor del TTL se especifica en segundos. El valor por defecto suele ser de 12 horas (43 200 segundos) o 24 horas (86 400 segundos). Si una web se traslada a un nuevo servidor o añades tú mismo una nueva URL a tu servidor, se necesitarían entre 12 y 24 horas para que los nuevos cambios de DNS surtieran efecto.
Mejores prácticas para el DNS TTL
En la mayoría de los casos no es necesario cambiar el DNS TTL. Sin embargo, si sabes que vas a hacer un cambio importante en el DNS y quieres que los cambios surtan efecto rápidamente, puedes cambiar tu TTL con antelación.
Ajusta el valor de tu TTL a uno mucho menor con al menos 24 horas de antelación. Puedes, por ejemplo, darle un valor de 3600 (1 hora).
Cuando hayas terminado tu trabajo, asegúrate de volver a establecer el valor del TTL a su valor original. El almacenamiento en caché del DNS es una forma importante de reducir la carga de los servidores y es mejor mantener este tráfico lo más bajo posible.
Ten en cuenta que, aunque cambies el valor del TTL de tu dominio, esto no significa que automáticamente todas las redes de Internet acepten ese nuevo valor. Muchos proveedores de servicios de Internet (ISP, por las siglas de Internet Service Providers) ignoran la configuración del TTL y comprueban los registros DNS externos con su propia cadencia.
Valor mínimo del DNS TTL
Si tienes pensado hacer cambios en el DNS próximamente, primero deberías establecer un TTL bajo. De este modo, tus cambios se difundirán con mayor rapidez y serán identificados por otros en Internet.
Establece un valor mínimo del DNS TTL superior a 0. Nunca debes darle un valor de 0 al DNS TTL, ya que el número 0 no está definido en la norma y puede hacer que tu información de DNS sea ignorada o rechazada.
3600 (1 hora) es un buen valor mínimo. Es suficientemente pequeño para que los cambios surtan efecto con rapidez, pero no tan pequeño como para sobrecargar los servidores DNS.
Valor máximo del DNS TTL
El valor máximo posible del TTL es 604800 (7 días). Aunque técnicamente no hay un ajuste máximo del DNS TTL, los valores superiores a 7 días se redondean automáticamente a 7 días.
Para la mayoría de los usuarios, configurar el valor máximo del DNS TTL a 86400 (24 horas) es una buena opción.
DNS TTL dinámico
Dynamic DNS (DynDNS) es una excelente manera de asignar dominios a direcciones IP no estáticas.
Supongamos que te pertenece el dominio example.com. Quieres asignar home.example.com a un servidor de tu red doméstica, pero no tienes una dirección IP fija de tu ISP. Esto significa que la dirección IP externa de tu servidor doméstico cambia periódicamente.
Puedes encontrar los mejores proveedores gratuitos de DynDNS recogidos en forma de tabla en nuestro artículo resumen.
Los servicios de DNS dinámicos son capaces de asignar un dominio (como home.example.com) a una IP variable. Cada vez que la dirección IP cambia, su DNS se actualiza automáticamente para que el cambio se haga efectivo rápidamente.
Cuando configures un DNS dinámico para tu dominio, es posible que te pida que especifiques un TTL para los registros. No hay un valor universal que se deba asignar a un TTL cuando se utiliza un registro DNS dinámico. En parte, depende del tiempo que la dirección IP permanece constante. Cuanto más a menudo cambie la dirección IP, menor deberá ser el TTL.
Una buena regla general es reducir el DDNS TTL a la mitad del tiempo de arrendamiento de DHCP. Si el arrendamiento de la dirección IP tiene un valor de 60 (1 minuto), dale un valor de 30 (30 segundos) a tu TTL. Si la dirección IP tiene un valor de 3600 (1 hora), dale un valor de 1800 (30 minutos) a tu TTL.
Consultar el DNS TTL
Aprende a consultar la configuración de los TTL de tu página web.
Linux, Unix o Mac OS X
La forma más sencilla de consultar la configuración de los DNS TTL es utilizar la herramienta Dig, que está presente en Linux, Unix y Mac OS X.
Introduce lo siguiente en la línea de comandos:
dig example.com
Esto mostrará la información del DNS (incluyendo el valor de los TTL) para el nombre de dominio introducido.
Windows
En Windows, puedes utilizar la herramienta nslookup para consultar el valor de los DNS TTL de una web.
Primero abre una ventana con el símbolo del sistema.
- Windows 7: “Inicio” > “Todos los programas” > “Accesorios” > “Símbolo del sistema”.
- Windows 10: clic con el botón derecho en “Inicio” > “Ejecutar” > introducir “cmd” > hacer clic en “Aceptar”.
Para ejecutar nslookup y obtener el valor de los TTL, introduce el siguiente comando:
nslookup -type=soa example.com
Esto mostrará la información del servidor autorizado para ese dominio e incluye los TTL por defecto en segundos y horas.
Online
Hay varias páginas web en las que se puede utilizar la herramienta dig para consultar los DNS TTL de forma gratuita.
A continuación, utilizamos Google Apps:
Como puedes ver, los valores de los DNS TTL para los registros de este dominio están fijados en 21 599 segundos (6 horas).
Cómo cambiar los DNS TTL si hosteas tu propio servidor DNS
Si tienes tu propio servidor DNS, cambiar los TTL es solo cuestión de editar tu zona DNS y asegurarte de que tu servicio DNS acepta los cambios. Los detalles varían según el servicio de DNS que utilices. Incluso elegir entre Linux o Unix también puede afectar en algunos casos.
Una vez realizados los cambios puedes comprobar si estos se han aplicado solicitando la nueva información DNS a tu servidor con el siguiente comando:
dig @localhost example.com
BIND
BIND es el software DNS más utilizado. En BIND, el TTL se almacena al comienzo del archivo de zona, normalmente en la segunda línea. El TTL comienza con $TTL y tiene un valor, por defecto, de cuatro horas (14 400 segundos):
$TTL 14400
Cómo encontrar el archivo de zona en Red Hat y CentOS:
En una configuración habitual de BIND en Red Hat o CentOS, el archivo de zona de una web tiene el siguiente aspecto: /var/named/[nombre de dominio].db o /var/named/[nombre de dominio].zone. Para, por ejemplo, editar el archivo example.com en una instalación normal, el comando es el siguiente:
sudo nano /var/named/example.com.db
Encontrar el archivo de zona en Debian y Ubuntu:
En una configuración habitual de BIND en Debian o Ubuntu, el archivo de zona de una web tiene más o menos el siguiente aspecto: /etc/bind/[nombre de dominio].db. Para, por ejemplo, editar el archivo example.com en una instalación normal, el comando es:
sudo nano /etc/bind/example.com.db
Editar el archivo de zona
Hay dos líneas que debes editar en el archivo de zona: el TTL y el número de serie.
- Actualiza el valor del TTL al que quieres utilizar.
- Actualiza el número de serie para que BIND registre el cambio.
Actualizar el TTL:
El TTL será la primera línea del archivo y tendrá el siguiente aspecto:
$TTL 86400
Simplemente cambia el número que ves por el valor del TTL (en segundos) que quieras establecer.
Actualizar el número de serie:
En la configuración habitual, solo es necesario incrementar el número de serie. Por ejemplo, un número de serie se actualiza de 1234 a 1235.
Algunos administradores de sistemas pueden utilizar una marca de tiempo, un número de versión o un programa para incrementar automáticamente el número de serie. Ponte en contacto con el administrador de tu servidor si no sabes con certeza qué sistema se utiliza para los números de serie de tu BIND.
Guarda y cierra el archivo.
Comprobar el archivo:
Antes de volver a cargar los cambios, comprueba la sintaxis de la configuración principal de BIND con el siguiente comando:
sudo named-checkconf
Si todo está conforme, comprueba la sintaxis del archivo de zona que acabas de editar con el siguiente comando:
sudo named-checkzone [nombre de dominio] [ruta al archivo]
Si, por ejemplo, has cambiado el TTL de example.com en el archivo /var/named/example.com.db, el comando es el siguiente:
sudo named-checkzone example.com /var/named/example.com.db
Recargar los cambios:
Si los archivos superan la comprobación de sintaxis, vuelve a cargar el archivo de zona en BIND con el siguiente comando:
sudo rndc reload example.com
Opcional: si systemctl ya está configurado, puedes reiniciar BIND en Red Hat y CentOS con el siguiente comando:
sudo systemctl restart named
- Rápido, seguro, flexible y escalable
- Seguro con SSL y protección DDoS
- Dominio y asesor personal incluidos
Unbound
Unbound ha sustituido a BIND como servidor DNS por defecto en muchos sistemas BSD, incluyendo FreeBSD 10 y sus versiones más recientes, al igual que OpenBSD 5.6 y sus versiones más recientes.
En la mayoría de los sistemas el archivo de configuración se encuentra por defecto en:
- OpenBSD: /var/unbound/etc/unbound.conf
- FreeBSD 10.0 y anteriores: /usr/local/etc/unbound/unbound.conf
- FreeBSD 10.1 y más recientes: /etc/unbound/unbound.conf
- Red Hat y CentOS 7: /etc/unbound/unbound.conf
El archivo de configuración de Unbound no tiene especificados valores TTL por defecto. Puedes añadir un TTL a tu archivo de zona de Unbound con los siguientes atributos:
- cache-max-ttl es la cantidad máxima de tiempo para almacenar TTL en la caché. La configuración por defecto es de 86 400 segundos (1 día).
- cache-min-ttl es la cantidad mínima de tiempo para almacenar TTL en la caché. El valor por defecto es 0 segundos. Nota: La documentación oficial recomienda dejar este valor en 0.
Para cambiar o definir el TTL, edita tu archivo unbound.conf:
sudo nano /etc/unbound/unbound.conf
Comprueba en el archivo los parámetros cache-max-ttl y cache-min-ttl. Si ya existen, puedes simplemente editar estos valores. Si no existen, debes añadirlos:
## Minimum lifetime of cache entries in seconds. Default is 0.
cache-min-ttl: 0
## Maximum lifetime of cached entries. Default is 86400 seconds (1 day).
cache-max-ttl: 14400
Pon estas configuraciones en el bloque de comandos del servidor principal, guarda el archivo y ciérralo.
Después de haber editado el archivo de configuración, puedes ponerlo a prueba con el siguiente comando:
unbound-checkconf
Por último, reinicia Unbound para que los cambios se apliquen. Para ello, utiliza el siguiente comando:
unbound-control reload