У меня есть система Debian 2.6.26-2-xen-amd64, которая занимает 5 секунд между вторым и третьим неудачным обратным поиском DNS. Все (большинство?) Других подобных систем здесь выполняют три поиска с небольшим ожиданием между ними.
Я попытался выяснить, в чем может быть разница, но до сих пор не смог. Что бы это могло быть?
РЕДАКТИРОВАТЬ
Хотя я наблюдал проблему при входе на машину с помощью sshd, зная медлительность, обычно возникает проблема с обратным DNS, я протестировал ее, используя host
. Это предоставляется пакетом host
, версия 20000331-9
.
Вот результат теста tcpdump на двух машинах.
Хост с задержкой:
11:47:58.883885 IP 192.168.20.127.48797 > 172.16.1.1.53: 13275+ PTR? 30.4.16.172.in-addr.arpa. (42)
11:47:58.884258 IP 172.16.1.1.53 > 192.168.20.127.48797: 13275 ServFail 0/0/0 (42)
11:47:58.884326 IP 192.168.20.127.34876 > 172.16.1.1.53: 13275+ PTR? 30.4.16.172.in-addr.arpa. (42)
11:47:58.884804 IP 172.16.1.1.53 > 192.168.20.127.34876: 13275 ServFail 0/0/0 (42)
11:48:03.892639 IP 192.168.20.127.43032 > 172.16.1.1.53: 21337+ PTR? 30.4.16.172.in-addr.arpa. (42)
11:48:03.893282 IP 172.16.1.1.53 > 192.168.20.127.43032: 21337 ServFail 0/0/0 (42)
Хост без промедления:
11:15:58.222147 IP 192.168.21.26.50046 > 172.16.1.1.53: 2040+ PTR? 30.4.16.172.in-addr.arpa. (42)
11:15:58.222611 IP 172.16.1.1.53 > 192.168.21.26.50046: 2040 ServFail 0/0/0 (42)
11:15:58.222718 IP 192.168.21.26.51288 > 172.16.1.1.53: 2040+ PTR? 30.4.16.172.in-addr.arpa. (42)
11:15:58.223102 IP 172.16.1.1.53 > 192.168.21.26.51288: 2040 ServFail 0/0/0 (42)
11:15:58.223197 IP 192.168.21.26.36545 > 172.16.1.1.53: 20425+ PTR? 30.4.16.172.in-addr.arpa. (42)
11:15:58.223550 IP 172.16.1.1.53 > 192.168.21.26.36545: 20425 ServFail 0/0/0 (42)
Хорошо, проблема была в libnss-mdns
пакет, который был установлен как рекомендуемый пакет с Java.
ServFail
это ненормальная ситуация. Может быть, более поздние версии BIND или библиотеки преобразователя реализуют более агрессивную стратегию предотвращения перегрузки для ServFail? На двух серверах работают разные версии BIND или библиотеки преобразователя?
Поскольку ServFail необычен, указывая на то, что некоторые DNS-серверы не отвечают, задержка отправки третьей попытки обычно не должна вызывать у вас никаких дополнительных проблем. По моему опыту, потеря службы DNS обычно приводит к задержкам в несколько секунд.
Я подозреваю, что если бы вы получали, скажем, ответы NXDOMAIN, вы, вероятно, не увидели бы задержек в несколько секунд.
Если бы DNS-серверы для обратного домена рассматриваемого адреса были доступны для связи и реагировали, это не было бы проблемой?