Por que a instância bind9 de cache local somente de encaminhamento consulta os servidores de zona 'root'?

1

Estou configurando o servidor DNS (bind9) somente para encaminhamento local. Tem a seguinte configuração:

options {
    directory "/var/cache/bind";

    recursion yes; /* So that server could answer queries about domains its is not authoritative for. */
    allow-query { homeclients; };

    forwarders {
        8.8.8.8;
        8.8.4.4;
    };
    forward only;

    dnssec-enable yes;
    dnssec-validation yes;

    auth-nxdomain no;    # conform to RFC1035
    listen-on port 53 {
        127.0.0.1;
        192.168.1.33;
    };
    listen-on-v6 { any; };
};

Mas quando eu faço:

dig @127.0.0.1 ubuntu.com +trace

Eu recebo:

; (1 server found)
;; global options: +cmd
.           3600000 IN  NS  J.ROOT-SERVERS.NET.
...
.           3600000 IN  NS  K.ROOT-SERVERS.NET.
;; Received 811 bytes from 127.0.0.1#53(127.0.0.1) in 0 ms

ubuntu.com.     3600    IN  A   91.189.94.40
;; Received 55 bytes from 192.33.4.12#53(C.ROOT-SERVERS.NET) in 1 ms

dig obtém suas informações da instância local bind que deve, de acordo com minha configuração, encaminhar todas as consultas aos servidores DNS do Google. Mas também pergunta aos servidores raiz ...

Por que o servidor DNS somente de encaminhamento solicita servidores 'root'? Obrigado.

    
por Bulat M. 20.11.2016 / 08:54

1 resposta

2

Acho que você não compreende a maneira como o modo de rastreamento do dig realmente funciona. Olhando para a página de manual do dig você recebe as seguintes informações:

+[no]trace
  Toggle tracing of the delegation path from the root name servers
  for the name being looked up. Tracing is disabled by default. When
  tracing is enabled, dig makes iterative queries to resolve the name
  being looked up. It will follow referrals from the root servers,
  showing the answer from each server that was used to resolve the
  lookup.

  If @server is also specified, it affects only the initial query for
  the root zone name servers.

Especialmente a última parte deixa claro que dig +trace @server perguntará ao servidor sobre os servidores de nomes-raiz, e então assumirá e iterará os próprios servidores de nomes do próximo nível.

No entanto, eu entendo sua dúvida - eu tive que procurar por mim mesmo;)

    
por user3549497 02.12.2016 / 02:30