$TTL
El concepto tiempo de vida (TTL, Time To Live) de los RR significa el tiempo, medido en segundos, que un RR estará en la caché de los servidores de nombres antes de borrarse. Todos los RR puede llevar opcionalmente un TTL cuando se crean, pero en caso de que no se especifique, su TTL vendrá dado por el valor de la direcctiva $TTL (RFC 1035). Por lo tanto, la directiva $TTL especifica el tiempo de vida por defecto de los RR y es obligatoria.
La sintaxis es la siguiente:
$TTL tiempo-en-segundos
El servidor BIND permite también expresar el tiempo en otras unidades utilizando para ello los siguientes sufijos de tiempo en minúscula o en mayúscula.
prefijo | tiempo |
m | minutos |
h | horas |
d | días |
w | semanas |
Aunque el estándar solo habla de tiempo en segundos, la mayoría del software DNS entiende los prefijos de BIND, por lo que se puede ver como un estándar de facto.
El intervalo de valores válidos es: 0 (no se almacena en caché) - 2147483647 (aproximadamente 68 años).
La recomendación del estándar (RFC 1912) es un valor mayor a un día, en la mayoría de los casos, pero con RR que raramente cambian, se debería considerar un valor superior.
La directiva $TTL debe aparecer antes que el primer RR, lo normal es que se ponga al principio del fichero de zona, y pueden usarse varias; en estos casos, el ámbito de una directiva $TTL es desde que se crea hasta la siguiente directiva $TTL o el final del fichero.
Ejemplo de uso:
$TTL 60
... ; a partir de aquí todos los RR que no lleven TTL explícitamente, asumirán el valor de 60 segundos
...
$TTL 2d
... ; a partir de aquí todos los RR que no lleven TTL explícitamente, asumirán el valor de 172800 segundos
...
$TTL 1d2h5m10
... ; a partir de aquí todos los RR que no lleven TTL explícitamente, asumirán el valor de 86560 segundos
...
Licencia: licencia de software libre GPL