LINUX.ORG.RU
ФорумAdmin

Долгий первый запрос к DNS

 ,


0

0

Открываю для себя bind, хочу сделать кэширующий DNS.

Обнаружил долгий первый запрос к DNS.

Это особенность bind?

конфиг

options {
 directory "/var/cache/bind";
 forward only;
 forwarders {
   8.8.8.8;
   208.67.222.222;
 };
 dnssec-validation auto;
 auth-nxdomain no;
 listen-on-v6 { none; };
};

Долгий ответ bind, потом в кэше будет быстрый

# dig @127.0.0.1 yandex.ru

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @127.0.0.1 yandex.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60417
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;yandex.ru.                     IN      A

;; ANSWER SECTION:
yandex.ru.              230     IN      A       77.88.55.66
yandex.ru.              230     IN      A       5.255.255.5
yandex.ru.              230     IN      A       5.255.255.55
yandex.ru.              230     IN      A       77.88.55.55

;; Query time: 357 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Apr 26 17:03:20 2016
;; MSG SIZE  rcvd: 91

Быстрые ответы с DNS

dig @8.8.8.8 yandex.ru

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @8.8.8.8 yandex.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57713
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;yandex.ru.                     IN      A

;; ANSWER SECTION:
yandex.ru.              9       IN      A       77.88.55.66
yandex.ru.              9       IN      A       77.88.55.55
yandex.ru.              9       IN      A       5.255.255.55
yandex.ru.              9       IN      A       5.255.255.5

;; Query time: 29 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Apr 26 16:56:57 2016
;; MSG SIZE  rcvd: 91

# dig @208.67.222.222 yandex.ru

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @208.67.222.222 yandex.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36045
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;yandex.ru.                     IN      A

;; ANSWER SECTION:
yandex.ru.              8       IN      A       5.255.255.55
yandex.ru.              8       IN      A       5.255.255.5
yandex.ru.              8       IN      A       77.88.55.66
yandex.ru.              8       IN      A       77.88.55.55

;; Query time: 69 msec
;; SERVER: 208.67.222.222#53(208.67.222.222)
;; WHEN: Tue Apr 26 16:57:33 2016
;; MSG SIZE  rcvd: 91

Первый раз от сервера, второй раз из кэша.

Radjah ★★★★★ ()

Это особенность bind?

Это особенность DNS.

BigAlex ★★★ ()

Я понимаю, что первый запрос долгий, но не настолько 350 msec, тут же запрос на 8.8.8.8 - 29 msec, 208.67.222.222 - 69.

Или забить?

tyrpyr ()
Ответ на: комментарий от tyrpyr

сделай дамп с помощью tcpdump или wireshark, можно будет точно сказать что происходит. 350ms точно не должно быть, даже если ты в итоге идешь к ns яндекса за авторитативным ответом.

val-amart ★★★★★ ()
Ответ на: комментарий от tyrpyr

sudo tcpdump -i any -s 0 -w /tmp/dns.pcap port 53

по окончанию захвата закрой tcpdump с помощью ctrl-c. анализ: wireshark /tmp/dns.pcap, или просто залей куда-то и дай ссылку.

val-amart ★★★★★ ()

Всё, разобрался, включив логирование bind. Из «коробки» стояло

dnssec-validation auto

Типа проверять подписи зон. Вот bind и проверял сервера. Ошибка в логах lame-servers: info: error (no valid RRSIG) resolving 'me/DS/IN':

Отлючил

dnssec-enable no;
dnssec-validation no;
Первый пинг стал быстрый

tyrpyr ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.