DNS服务器响应和超时

我们在局域网上遇到了令人沮丧的问题。 定期对我们的ISP域名服务器的DNS查询超时,强制延迟5秒。 即使我通过使用直接掘到我们的DNS服务器之一绕过/etc/resolv.conf ,我仍然遇到问题。 这是一个例子:

 mv-m-dmouratis:~ dmourati$ time dig www.google.com @209.81.9.1 ; <<>> DiG 9.8.3-P1 <<>> www.google.com @209.81.9.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14473 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;www.google.com. IN A ;; ANSWER SECTION: www.google.com. 174 IN A 74.125.239.148 www.google.com. 174 IN A 74.125.239.147 www.google.com. 174 IN A 74.125.239.146 www.google.com. 174 IN A 74.125.239.144 www.google.com. 174 IN A 74.125.239.145 ;; AUTHORITY SECTION: google.com. 34512 IN NS ns2.google.com. google.com. 34512 IN NS ns1.google.com. google.com. 34512 IN NS ns3.google.com. google.com. 34512 IN NS ns4.google.com. ;; ADDITIONAL SECTION: ns2.google.com. 212097 IN A 216.239.34.10 ns3.google.com. 207312 IN A 216.239.36.10 ns4.google.com. 212097 IN A 216.239.38.10 ns1.google.com. 212096 IN A 216.239.32.10 ;; Query time: 8 msec ;; SERVER: 209.81.9.1#53(209.81.9.1) ;; WHEN: Fri Jul 26 14:44:25 2013 ;; MSG SIZE rcvd: 248 real 0m5.015s user 0m0.004s sys 0m0.002s 

其他时候,查询会立即响应,如在20毫秒左右。 我做了一个数据包跟踪,发现了一些有趣的东西。 DNS服务器正在响应,但客户端忽略初始响应,然后发送第二个立即响应的相同查询。

查看数据包跟踪 。 注意与查询相同的源端口(62076)。

问题:导致第一个DNS查询失败的原因是什么?

UPDATE

资源:

数据包跟踪:

http://www.cloudshark.org/captures/8b1c32d9d015

Dtruss(mac for mac):

https://gist.github.com/dmourati/6115180

Mountain Lion防火墙随机延迟来自apple.stackexchange.com的DNS请求:

https://apple.stackexchange.com/questions/80678/mountain-lion-firewall-is-randomly-delaying-dns-requests

更新2

 System Software Overview: System Version: OS X 10.8.4 (12E55) Kernel Version: Darwin 12.4.0 Boot Volume: Macintosh HD Boot Mode: Normal Computer Name: mv-m-dmouratis User Name: Demetri Mouratis (dmourati) Secure Virtual Memory: Enabled Time since boot: 43 minutes Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro10,1 Processor Name: Intel Core i7 Processor Speed: 2.7 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 6 MB Memory: 16 GB Firewall Settings: Mode: Limit incoming connections to specific services and applications Services: Apple Remote Desktop: Allow all connections Screen Sharing: Allow all connections Applications: com.apple.java.VisualVM.launcher: Block all connections com.getdropbox.dropbox: Allow all connections com.jetbrains.intellij.ce: Allow all connections com.skype.skype: Allow all connections com.yourcompany.Bitcoin-Qt: Allow all connections org.m0k.transmission: Allow all connections org.python.python: Allow all connections Firewall Logging: Yes Stealth Mode: No 

这似乎是狮子防火墙中的一个错误。 它是否在你的系统上启用?

在这个MacRumors线程( 更新到Mountain Lion(10.8)之后的DNS问题 )中,讨论了一种可能的解决方法:

尝试减小MTU大小。

系统偏好设置>networking> WiFi>高级>硬件>手动> MTU:自定义> 1300

为我工作。

你可以检查是否减lessMTU的大小缓解你的问题?

我最近遇到类似问题,发现Cisco ASA防火墙没有configuration为支持EDNS0,该规范允许DNS UDP数据包大于512字节。 一旦我的pipe理员允许高达4096字节的问题已经解决。 这里有很多信息:

http://www.petenetlive.com/KB/Article/0000312.htm