Registro raíz DNS codificado, ¿por qué tiene ttl?

8

Alojo un servidor de nombres recursivo localmente, así que no necesito mi proveedor de servicios u otro servidor DNS público para la resolución de nombres. Aunque las direcciones IP del servidor de nombres raíz están codificadas en el archivo de configuración (en el /etc/bind/db.rootarchivo Bind ), cuando ejecuto varios nslookupcomandos consecutivos para el servidor de nombres raíz ., el campo TTL aún disminuye.

¿Por qué disminuiría el TTL cuando está codificado en el archivo de configuración?
¿Y por qué sería necesario un TTL a nivel de raíz en primer lugar cuando está codificado?

usuario2632528
fuente

Respuestas:

14

Por lo general, configuraría explícitamente los servidores raíz DNS similares al fragmento a continuación:

zone "." {
  type hint;
  file "/etc/bind/db.root";
};

Donde observe que el tipo de zona no es el común masterni slave un tipo de zona especial llamado hint.

Cuando se inicia el servidor de nombres, solo usa las sugerencias de raíz para encontrar un servidor de nombres de raíz que responda y luego obtendrá la lista actual de servidores de nombres de raíz desde allí. Esos son los servidores raíz que se utilizarán realmente durante la operación.

Como se almacenan en caché, necesitarán un TTL y, como ha observado: ese TTL disminuirá como cualquier otro registro DNS en caché.

Si no se especifica ninguna zona de sugerencias para la clase IN, el servidor utiliza un conjunto predeterminado compilado de sugerencias de servidores raíz. Fuente: el Manual de referencia del administrador de Bind .

Como Brian explicó en su respuesta, la zona raíz cambia, y siempre que al menos un servidor de nombres siga siendo válido, la zona de sugerencias permite tales cambios en los servidores de nombres raíz sin requerir que todos los servidores de nombres existentes actualicen sus archivos de configuración estáticos.

HBruijn
fuente
4

No están codificados de forma permanente: el archivo de la zona raíz cambia con el tiempo, por lo que las entradas transmitidas a los resolvers no se pueden configurar para que duren para siempre.

Por ejemplo, el actual se actualizó por última vez en 2014 como se muestra al comienzo del archivo aquí :

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC 
;       under anonymous FTP as
;           file                /domain/named.cache
;           on server           FTP.INTERNIC.NET
;       -OR-                    RS.INTERNIC.NET
;
;       last update:    November 05, 2014
;       related version of root zone:   2014110501
;
; formerly NS.INTERNIC.NET
;
.                        3600000      NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
A.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:ba3e::2:30
Brian
fuente
2

db.root solo se usa como parte del proceso de inicio del servidor DNS para encontrar los servidores raíz reales actuales. Estos se actualizan según el TTL.

Tom Hallam
fuente