Amazon Route53:极长的 ns 查找时间

Amazon Route53:极长的 ns 查找时间

我在移动客户端中遇到了一些失败的 API 调用。为了进行调查,我听从约瑟夫·斯科特的建议并使用一些调试参数执行 curl:

来自Amazon EC2服务器的结果:

        time_namelookup:  0.011
           time_connect:  0.011
        time_appconnect:  0.016
       time_pretransfer:  0.027
          time_redirect:  0.000
     time_starttransfer:  0.049
                        ----------
             time_total:  0.049

来自笔记本电脑(以色列)的结果:

        time_namelookup:  5.004
           time_connect:  5.264
        time_appconnect:  5.851
       time_pretransfer:  5.851
          time_redirect:  0.000
     time_starttransfer:  6.188
                        ----------
             time_total:  6.188

我的resolv.conf

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
nameserver 192.168.0.1

其他详情:

  1. TTL 为 300。
  2. 经过几次连续调用后,较高的 time_namelookup 没有改变,因此这不是本地缓存问题。
  3. 该问题同时发生在 CNAME 记录和 A 记录上。
  4. dig立即返回。

知道为什么 time_namelookup 需要这么长时间吗?

更新

当我在不同的无线网络中执行相同的命令时,得到以下结果:

        time_namelookup:  0.003
           time_connect:  0.273
        time_appconnect:  2.189
       time_pretransfer:  2.189
          time_redirect:  0.000
     time_starttransfer:  3.200
                        ----------
             time_total:  3.201

这可能意味着问题time_namelookup确实是防火墙问题。感谢所有提供帮助的人!

答案1

超时时间为五秒这一事实可能意义重大。一些应用程序(但值得注意的是dig)使用getaddrinfo()而不是gethostbyname();如果使用某些参数调用前者,它将等待 IPv4 和 IPv6 响应,而后者将在收到 IPv4 回复后立即返回。在这种情况下, 的默认超时时间为getaddrinfo()五秒。

我们确实需要tcpdump从错误客户端的角度跟踪端口 53 流量,以了解发生了什么。我最近解决了一个这样的问题,结果发现防火墙阻止了其中一个回复数据包

答案2

这是 macosx,我在你的 resolv.conf 转储中看到了这个。此文件用于兼容性。名称服务器 192.168.0.1 工作正常吗?行为指出,它不工作并且处理 DNS 联系超时。另外,192.168.0.1 是不可路由 IP 类中的本地 IP(未通过 Internet 路由)。这应该是任何本地缓存 DNS 服务器。这可以正常工作吗?你用 nslookup 测试过它吗?

另一点,在 macosx 上你有 /etc/resolver/* 文件。也许一个工具从 resolv.conf 获取配置并等待超时,而另一个工具从 /etc/resolver/* 文件获取它。看看该文件中配置了什么。也许你应该更新配置,特别是在 resolv.conf 里面。不要手动编辑它(如注释中所述),执行任何 macosx 工具。

我找到了一些有关 DNS 解析的秘诀,但我不确定它是否适合您: http://www.justincarmony.com/blog/2011/07/27/mac-os-x-lion-etc-hosts-bugs-and-dns-resolution/ 但也许这对你有帮助。

相关内容