Почему локальное кэширование только для передачи bind9 экземпляр запрашивает 'корневые' зональные серверы?

Я настраиваю локальный DNS только для передачи (bind9) сервер. Имейте следующую конфигурацию:

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; };
};

Но когда я делаю:

dig @127.0.0.1 ubuntu.com +trace

Я добираюсь:

; (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

выройте получает ее информацию от локального, связывают экземпляр, который, согласно моей конфигурации, должен передать все запросы серверам DNS Google. Но это также просит базироваться серверы...

Почему сервер DNS только для передачи просит 'базироваться' серверы?Спасибо.

1
задан 20 November 2016 в 10:54

1 ответ

Я думаю, что Вы неправильно понимаете способ, которым на самом деле работает режим трассировки dig. При рассмотрении страницы справочника dig Вы получаете следующую информацию:

+[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.

Особенно последняя часть проясняет, это dig +trace @server спросит сервер о корневых серверах имен, и затем вступит во владение и выполнит итерации серверов имен следующего уровня сам.

Однако я понимаю Ваше удивление - я должен был посмотреть оно сам ;)

2
ответ дан 7 December 2019 в 13:40

Другие вопросы по тегам:

Похожие вопросы: