Mac OS X上的本地DNS解析速度确实很慢


3

我在Mac OS 10.8.2上的虚拟盒中运行了一个centos linux作为虚拟机运行。虚拟机的IP地址为172.17.33.2。我在/ etc / hosts中创建了一个条目

172.17.33.2 centos.dev

当我尝试通过ping虚拟机时

ping centos.dev

第一次ping需要大约30秒,之后,一切都按预期工作:

meckbuck2:~ mimi$ ping -n centos.dev
PING centos.dev (172.17.33.2): 56 data bytes
64 bytes from 172.17.33.2: icmp_seq=0 ttl=64 time=0.521 ms
64 bytes from 172.17.33.2: icmp_seq=1 ttl=64 time=0.294 ms
64 bytes from 172.17.33.2: icmp_seq=2 ttl=64 time=0.274 ms

如果我使用ping 172.17.33.2(没有DNS解析),一切都很快,第一次ping在几分之一秒内开始。所以看起来我的电脑上的名称解析会破坏某些东西。任何人都可以给我一个如何解决这个问题的提示吗?这是一款新的MacBook Retina 15“,我在不到一周前从头开始设置。

我也尝试过centos.localhost作为域名 - 这里也是同样的问题。

一旦域被解析并且IP就在那里,一切都按预期工作(ssh,smb,http ...)。任何暗示都是受欢迎的!

编辑:当我ping服务器名称时,我使用dtruss来获取系统调用的转储。 ping在跟踪结束时卡住了。你可以在这里找到它: http://pastebin.com/JXgeHsBu

编辑2:我按照说明进行操作 http://blog.root-of-all-evil.com/2012/07/how-to-bypass-os-x-lions-reverse-dns-lookup-order-to-resolve-slow-local-host-查找/ 设置本地DNS服务器。仍然是同一个问题。

当我在虚拟机上启动ping时,tcpdump给出了以下输出:

01:16:27.668409 IP 192.168.6.101.62932 > 8.8.8.8.53: 26754+ A? www.isg-apple.com.akadns.net. (46)
01:16:27.668456 IP 192.168.6.101.20149 > 8.8.8.8.53: 41456+ AAAA? www.isg-apple.com.akadns.net. (46)
01:16:27.670650 IP 8.8.8.8.53 > 192.168.6.101.62932: 26754 3/8/0 CNAME www.apple.com.edgekey.net., CNAME e3191.c.akamaiedge.net., A 23.1.61.15 (275)
01:16:27.670932 IP 8.8.8.8.53 > 192.168.6.101.20149: 41456 2/1/0 CNAME www.apple.com.edgekey.net., CNAME e3191.c.akamaiedge.net. (176)
01:16:33.178960 IP 192.168.6.101.41429 > 8.8.8.8.53: 21942+ A? e3191.c.akamaiedge.net. (40)
01:16:33.180452 IP 8.8.8.8.53 > 192.168.6.101.41429: 21942 1/8/0 A 23.1.61.15 (200)
01:16:46.876547 IP 192.168.6.101.24354 > 8.8.8.8.53: 6871+ A? 1.courier-push-apple.com.akadns.net. (53)
01:16:46.877900 IP 8.8.8.8.53 > 192.168.6.101.24354: 6871 8/10/5 A 17.149.36.102, A 17.149.36.169, A 17.149.32.52, A 17.149.36.115, A 17.149.36.178, A 17.149.36.127, A 17.149.36.181, A 17.149.36.108 (494)
01:16:53.863153 IP 192.168.6.101.61304 > 8.8.8.8.53: 32328+ A? e3191.c.akamaiedge.net. (40)
01:16:53.884441 IP 8.8.8.8.53 > 192.168.6.101.61304: 32328 1/8/0 A 23.1.61.15 (200)

编辑3:这是我输出的scutil --dns

meckbuck2:~ mimi$ scutil --dns
DNS configuration

resolver #1
  search domain[0] : hil-allhw.phl.wayport.net
  search domain[1] : phl.wayport.net
  nameserver[0] : 127.0.0.1
  reach    : Reachable,Local Address

resolver #2
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #3
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #4
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #5
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #6
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #7
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : hil-allhw.phl.wayport.net
  search domain[1] : phl.wayport.net
  nameserver[0] : 127.0.0.1
  if_index : 4 (en0)
  flags    : Scoped

到达:可到达,本地地址


跟踪很有意思,但我怀疑如果你尝试运行,你可能会看到更多有用的信息 tcpdump -n port 53。你可能需要添加一个 -i interface name 也。
Zoredache

这个 可能会有所帮助。
Aaron Copley

Answers:


0

可能有些程序正在尝试更新。我猜您已经考虑过将域名服务器设置为Google DNS。有一个名为NameBench的Apple免费软件可能会提供更多数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.