DNSparsing速度慢

我有一个DNS服务器,parsing所有查询的内部服务器组。 它是CentOS 5.5(与RHEL5相同)上的一个绑定,我已经设置它来允许recursion和parsing方向,而不需要任何转发器。

我面临的问题是,第一次parsing一个名字需要非常长的时间。 (大约20秒),这会导致客户端超时。

当我将其设置为全部转发给Google的公共DNS(即8.8.8.8 + 8.8.4.4)时,它可以很好地工作(在一秒钟之内)。

我试图监测networking上的stream量,看看为什么这样做:

[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..<[email protected]... .....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) [email protected]&.....6p....5.3.ql..........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..<[email protected].#..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服务器和Internet之间的防火墙已经损坏,并且会丢失DNSSEC正常的长DNS响应。 尝试使用“+ dnssec”选项运行挖掘,看看它是否也开始超时。

Cisco PIX / ASA,直到最近的版本,默认情况下都是这样运行的: https : //supportforums.cisco.com/thread/2013390 。