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

Почему по некоторым запросам хост работает намного медленнее, чем копать?

При запросе определенного адреса команда dig as, запущенная против резолверов, перечисленных в /etc/resolv.conf, вернет NXDOMAIN быстро и красиво, когда хост займет некоторое время.

$ dig @<resolver> 140.80.199.91.in-addr.arpa ptr

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> @<resolver>140.80.199.91.in-addr.arpa ptr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 40000
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;140.80.199.91.in-addr.arpa.    IN  PTR

;; Query time: 1 msec
;; SERVER: <resolver>#53(<resolver>)
;; WHEN: Wed Oct 22 16:08:38 2014
;; MSG SIZE  rcvd: 44

Но гораздо медленнее в хосте ...

$ time host 140.80.199.91 <resolver>
;; connection timed out; no servers could be reached

real    0m12.007s
user    0m0.001s
sys 0m0.007s

Почему организатору требуется так много времени, чтобы найти такой же ответ?

Ваши две команды не эквивалентны.

host 140.80.199.91

эквивалентно:

dig 91.199.80.140.in-addr.arpa ptr

Метки в записях PTR - это элементы IP-адреса в обратном порядке.

Поскольку вы ищете обратный DNS для разных IP-адресов, они пытаются связаться с разными DNS-серверами. Так что время, естественно, будет другим. И в вашем примере обратный DNS-сервер для 199.80.140.in-addr.arpa не отвечает, поэтому вы получаете тайм-аут.

Чтобы не менять IP вручную, вы можете использовать -x вариант как ярлык:

dig -x 140.80.199.91

Этот параметр также по умолчанию PTR поиск, поэтому вы также можете опустить этот аргумент.