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

медленное разрешение DNS

У меня есть DNS-сервер, который разрешает все запросы для внутренней группы серверов. Это привязка к CentOS 5.5 (такая же, как RHEL5), и я настроил ее, чтобы разрешить рекурсию и разрешить направление без каких-либо перенаправителей.

Проблема, с которой я столкнулся, заключается в том, что для разрешения имени в первый раз требуется невероятно много времени. (с величиной 20 секунд) Это заставляет клиентов давать тайм-аут.

Когда я настроил его на пересылку всего на общедоступный DNS Google, то есть 8.8.8.8 + 8.8.4.4, он работал очень хорошо (в течение секунды).

Я попытался отслеживать трафик в сети, чтобы понять, почему он это делает:

[root@ns1 ~]# tcpdump -nnvvvA -s0 udp
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
23:06:36.137797 IP (tos 0x0, ttl  64, id 35903, offset 0, flags [none], proto: UDP (17), length: 60) 172.17.1.10.36942 > 172.17.1.4.53: [udp sum ok]  19773+ A? www.paypal.com. (32)
E..<.?..@..A...
.....N.5.(6.M=...........www.paypal.com.....
23:06:36.140594 IP (tos 0x0, ttl  64, id 56477, offset 0, flags [none], proto: UDP (17), length: 71) 172.17.1.4.6128 > 192.35.51.30.53: [udp sum ok]  10105 [1au] A? www.paypal.com. ar: . OPT UDPsize=4096 (43)
E..G....@........#3....5.3fR'y...........www.paypal.com.......)........
23:06:38.149756 IP (tos 0x0, ttl  64, id 13078, offset 0, flags [none], proto: UDP (17), length: 71) 172.17.1.4.52425 > 192.54.112.30.53: [udp sum ok]  54892 [1au] A? www.paypal.com. ar: . OPT UDPsize=4096 (43)
E..G3...@.j&.....6p....5.3.q.l...........www.paypal.com.......)........
23:06:40.159725 IP (tos 0x0, ttl  64, id 43016, offset 0, flags [none], proto: UDP (17), length: 71) 172.17.1.4.24059 > 192.42.93.30.53: [udp sum ok]  11205 [1au] A? www.paypal.com. ar: . OPT UDPsize=4096 (43)
E..G....@..@.....*].]..5.3..+............www.paypal.com.......)........
23:06:41.141403 IP (tos 0x0, ttl  64, id 35904, offset 0, flags [none], proto: UDP (17), length: 60) 172.17.1.10.36942 > 172.17.1.4.53: [udp sum ok]  19773+ A? www.paypal.com. (32)
E..<.@..@..@...
.....N.5.(6.M=...........www.paypal.com.....
23:06:42.169652 IP (tos 0x0, ttl  64, id 44001, offset 0, flags [none], proto: UDP (17), length: 60) 172.17.1.4.9141 > 192.55.83.30.53: [udp sum ok]  1184 A? www.paypal.com. (32)
E..<....@..e.....7S.#..5.(...............www.paypal.com.....
23:06:42.207295 IP (tos 0x0, ttl  54, id 38004, offset 0, flags [none], proto: UDP (17), length: 205) 192.55.83.30.53 > 172.17.1.4.9141: [udp sum ok]  1184- q: A? www.paypal.com. 0/3/3 ns: paypal.com. NS ns1.isc-sns.net., paypal.com. NS ns2.isc-sns.com., paypal.com. NS ns3.isc-sns.info. ar: ns1.isc-sns.net. AAAA 2001:470:1a::1, ns1.isc-sns.net. A 72.52.71.1, ns2.isc-sns.com. A 38.103.2.1 (177)
E....t..6./A.7S......5#..................www.paypal.com..................ns1.isc-sns.net..............ns2.isc-sns...............ns3.isc-sns.info..,.......... ..p.............,..........H4G..I..........&g..
(this goes on for a few more seconds)

Если вы посмотрите внимательно, вы увидите, что первые 3-4 корневых сервера вообще не ответили. На это уходит 7-8 секунд, пока один из них не ответит.

Вы думаете, я что-то не так настроил? Интересно, что когда я копаюсь непосредственно с корневых серверов, которые не ответили, они всегда отвечают очень быстро (проблема не в том, чтобы показать брандмауэр / nat). Например.

dig www.paypal.com @192.35.51.30

работает отлично, стабильно и очень быстро. Что вы думаете об этой загадке?

Я сильно подозреваю, что у вас сломан брандмауэр между DNS-сервером и Интернетом, который отбрасывает длинные ответы DNS, которые являются нормальными для DNSSEC. Попробуйте запустить dig с опцией «+ dnssec» и посмотрите, не истечет ли время ожидания.

Известно, что Cisco PIX / ASA вплоть до самых последних версий по умолчанию ведет себя следующим образом: https://supportforums.cisco.com/thread/2013390.