DNS root record codificado então porque tem ttl?

8

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 a resolução de nomes. Embora os endereços IP do servidor de nomes raiz sejam codificados permanentemente no arquivo de configuração (no arquivo Bind /etc/bind/db.root ), quando executo vários comandos nslookup consecutivos para o servidor de nomes raiz para . , o campo TTL ainda diminui.

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

    
por user2632528 18.05.2015 / 12:44

3 respostas

14

Normalmente, você configura explicitamente os servidores raiz do DNS de maneira semelhante ao snippet abaixo:

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

Onde você observar que o tipo de zona não é o comum master nem slave , mas um tipo de zona especial chamado hint .

Quando o servidor de nomes é inicializado, ele usa apenas as dicas de raiz para localizar um servidor de nomes de raiz de resposta e, em seguida, obtém a lista atual de servidores de nomes raiz a partir dele. Esses são os servidores raiz que serão realmente usados durante a operação.

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

Se nenhuma zona de dica for especificada para a classe IN, o servidor usará um conjunto padrão de dicas de servidores-raiz compilado. Fonte: the Bind Manual de Referência do Administrador .

Como Brian explicou em sua resposta, a zona raiz muda, e enquanto pelo menos um servidor de nomes permanecer válido, a zona hint permite tais mudanças nos servidores de nomes raiz sem exigir que todos os servidores de nomes existentes atualizem seus arquivos de configuração estáticos .

    
por 18.05.2015 / 14:10
4

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

Por exemplo, o atual foi atualizado pela última vez em 2014, como mostra o início do arquivo aqui :

;       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
    
por 18.05.2015 / 13:35
2

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

    
por 18.05.2015 / 19:55