5 votes

résolution DNS lente

J'ai un serveur DNS qui résout toutes les requêtes pour un groupe interne de serveurs. Il s'agit d'un bind sur CentOS 5.5 (identique à RHEL5) et je l'ai configuré pour autoriser la récursion et la direction de résolution sans aucun forwarder.

Le problème auquel je suis confronté est qu'il faut un temps anormalement long pour résoudre un nom pour la première fois. (de l'ordre de 20 secondes). Cela conduit les clients à donner un timeout.

Lorsque je le configure pour qu'il transfère tout vers le DNS public de Google, c'est-à-dire 8.8.8.8+8.8.4.4, cela fonctionne très bien (en une seconde).

J'ai essayé de surveiller le trafic sur le net pour voir pourquoi il fait ça :

[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)

Si vous regardez attentivement, vous verrez que les 3-4 premiers serveurs racine n'ont pas répondu du tout. Cela a fait perdre 7-8 secondes, jusqu'à ce que l'un d'entre eux réponde.

Pensez-vous que j'ai fait quelque chose de mal ici ? Il est intéressant de noter que lorsque je creuse directement à partir des serveurs racine qui n'ont pas répondu, ils répondent toujours très rapidement (ce qui montre que le pare-feu/nat n'est pas le problème ici). Par exemple

dig www.paypal.com @192.35.51.30

fonctionne parfaitement, régulièrement, et très rapidement. Que pensez-vous de ce mystère ?

3voto

Max Alginin Points 3284

Je soupçonne fortement que vous avez un pare-feu défectueux entre le serveur DNS et Internet qui rejette les longues réponses DNS qui sont normales avec DNSSEC. Essayez d'exécuter dig avec l'option "+dnssec" et voyez s'il commence aussi à perdre du temps.

Les Cisco PIX/ASA, jusqu'à des versions très récentes, sont connus pour se comporter ainsi par défaut : https://supportforums.cisco.com/thread/2013390 .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X