Назад | Перейти на главную страницу

BIND 9.8.2 не предоставляет запись A для «dig domain.xxx ANY»

У меня проблема с настройкой BIND 9.8.2. После настройки основной зоны, которая работает нормально, я заметил, что не могу получить список всех A записи с использованием dig утилита с ANY вариант.

Вот некоторые примеры:

google.com

Если я попробую google.com, я смогу получить A записи:

# dig google.com ANY
;  DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> google.com ANY
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51302
;; flags: qr rd ra; QUERY: 1, ANSWER: 21, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com.                    IN      ANY
;; ANSWER SECTION:
google.com.             264     IN      A       46.28.246.109
google.com.             54220   IN      NS      ns3.google.com.
google.com.             264     IN      A       46.28.246.108
google.com.             264     IN      A       46.28.246.84
google.com.             264     IN      A       46.28.246.113
google.com.             264     IN      A       46.28.246.104
google.com.             54220   IN      NS      ns2.google.com.
google.com.             264     IN      A       46.28.246.99
google.com.             264     IN      A       46.28.246.118
google.com.             264     IN      A       46.28.246.119
google.com.             54220   IN      NS      ns4.google.com.
google.com.             264     IN      A       46.28.246.89
google.com.             264     IN      A       46.28.246.93
google.com.             264     IN      A       46.28.246.88
google.com.             264     IN      A       46.28.246.94
google.com.             60      IN      SOA     ns1.google.com. dns-admin.google.com. 1559778 7200 1800 1209600 300
google.com.             54220   IN      NS      ns1.google.com.
google.com.             264     IN      A       46.28.246.123
google.com.             264     IN      A       46.28.246.98
google.com.             264     IN      A       46.28.246.103
google.com.             264     IN      A       46.28.246.114

;; Query time: 47 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jun 26 18:43:50 2014
;; MSG SIZE  rcvd: 402

Мой лабораторный домен - записи MX в качестве примера

Я могу получить MX записи, если я их попрошу:

# dig internal.bluenet.lab MX
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> internal.bluenet.lab MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40974
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;internal.bluenet.lab.          IN      MX

;; ANSWER SECTION:
internal.bluenet.lab.   257965  IN      MX      20 mail2.internal.bluenet.lab.
internal.bluenet.lab.   257965  IN      MX      10 mail1.internal.bluenet.lab.

;; AUTHORITY SECTION:
internal.bluenet.lab.   257439  IN      NS      ns.internal.bluenet.lab.

;; Query time: 2 msec
;; SERVER: 10.200.1.99#53(10.200.1.99)
;; WHEN: Thu Jun 26 18:53:35 2014
;; MSG SIZE  rcvd: 99

Мой лабораторный домен - нет записей A

Независимо от того, использую ли я ANY или A варианты я не могу получить все A записи в качестве ответа. Только если я использую A вариант я получаю одна запись А

# dig internal.bluenet.lab ANY

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> internal.bluenet.lab ANY
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39681
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;internal.bluenet.lab.          IN      ANY

;; ANSWER SECTION:
internal.bluenet.lab.   257961  IN      MX      10 mail1.internal.bluenet.lab.
internal.bluenet.lab.   257961  IN      MX      20 mail2.internal.bluenet.lab.
internal.bluenet.lab.   257961  IN      SOA     ns.internal.bluenet.lab.         adminlab.bluenet.lab.internal.bluenet.lab. 3837556585 28800 7200 2419200 86400
internal.bluenet.lab.   257435  IN      NS      ns.internal.bluenet.lab.

;; AUTHORITY SECTION:
internal.bluenet.lab.   257435  IN      NS      ns.internal.bluenet.lab.

;; Query time: 0 msec
;; SERVER: 10.200.1.99#53(10.200.1.99)
;; WHEN: Thu Jun 26 18:53:40 2014
;; MSG SIZE  rcvd: 168

У меня типичная установка BIND - chrootted, только с мастер-зоной. Я заблокировал передачу зон (чтобы не допустить AXFR запросы).

Интересно, почему я не могу получить A записи. Пожалуйста, помогите мне в этом. Если какой-то вариант в named.conf использоваться, чтобы позволить это?

Предполагая, что действительно существует A записи, я считаю, что наблюдаемое поведение сводится к общему поведению ANY запросы, направленные на кэширующий сервер.

Важно отметить, что может быть не интуитивно понятно, что любой сервер, будь то кэширующий или авторитетный, должен только возвращать любые записи, которые у них есть для запрошенного имени в ANY запрос.

То есть, если кэширующий сервер имеет что-то в своем кеше, вполне допустимо (и наиболее распространенная реализация) просто вернуть все, что еще находится в кеше для этого имени. Это означает, что часть результата могла истечь, если были разные TTL.

На практике это означает, что ANY запросы полезны только в очень специфических обстоятельствах (обычно не для встраивания в программное обеспечение, а для отладки и аналогичных целей).