Registro raiz DNS codificado, então por que tem ttl?

Registro raiz DNS codificado, então por que tem ttl?

Eu hospedo um servidor de nomes recursivo localmente, portanto não preciso do meu provedor de serviços ou de outro servidor DNS público para resolução de nomes. Embora os endereços IP do servidor de nomes raiz estejam codificados no arquivo de configuração (no /etc/bind/db.rootarquivo Bind), quando executo vários nslookupcomandos consecutivos para o servidor de nomes raiz ., o campo TTL ainda diminui.

Por que o TTL diminuiria quando ele é codificado no arquivo de configuração?
E por que um TTL no nível raiz seria necessário em primeiro lugar quando ele é codificado?

Responder1

Normalmente, você configuraria explicitamente os servidores raiz DNS de maneira semelhante ao trecho abaixo:

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

Onde você observa que o tipo de zona não é comum masternem slave é apenas umtipo de zona especialchamadohint.

Quando o servidor de nomes é inicializado, ele usa apenas as dicas de raiz para encontrar um servidor de nomes raiz que responda e, então, obterá a lista atual de servidores de nomes raiz a partir daí. Esses são os servidores raiz que serão realmente usados ​​durante a operação.

Como eles estão armazenados em cache, eles precisarão de um TTL e, como você observou: esse TTL diminuirá como qualquer outro registro DNS armazenado em cache.

Se nenhuma zona de dicas for especificada para a classe IN, o servidor usará um conjunto padrão compilado de dicas de servidores raiz. Fonte: o vínculoManual de referência do administrador.

Como Brian explicou em sua resposta, a zona raiz muda e, desde que pelo menos um servidor de nomes permaneça válido, a zona de dicas permite tais alterações nos servidores de nomes raiz sem exigir que todos os servidores de nomes existentes atualizem seus arquivos de configuração estáticos.

Responder2

Eles não são codificados permanentemente - o arquivo da zona raiz muda com o tempo, então as entradas passadas para os resolvedores não podem ser configuradas para durar para sempre.

Por exemplo, o atual foi atualizado pela última vez em 2014, conforme mostrado no início do arquivoaqui:

;       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

Responder3

db.root é usado apenas como parte do processo de inicialização do servidor DNS para localizar os servidores raiz atuais reais. Eles são então atualizados de acordo com o TTL.

informação relacionada