DNS 查询突然变慢

DNS 查询突然变慢

我有一台 Ubuntu 12.04 服务器,DNS 查找似乎非常慢。time curl www.google.com需要 40 秒,time curl 173.194.74.147需要 70 毫秒。我重新安装了另一台带有 Ubuntu 12.04 的专用服务器,它也存在同样的问题。

问题:我被要求检查我的 DNS 配置。因此我添加了 Google 的 DNS 服务器,但 DNS 解析速度仍然很慢。我还应该检查什么?

/etc/resolv/conf 文件

nameserver 127.0.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 213.186.33.99
search ovh.net

答案1

我刚刚遇到了这个问题。我不确定你的情况,但对我来说,这是一个 IPv6 网络问题:

me@server:~$ time wget -O /dev/null google.com

--2014-08-26 09:44:15--  http://google.com/
Resolving google.com (google.com)... 2607:f8b0:4005:800::100e, 74.125.239.98, 74.125.239.100, ...
Connecting to google.com (google.com)|2607:f8b0:4005:800::100e|:80... ^C

real    1m32.876s
user    0m0.000s
sys     0m0.000s

wget1.5 分钟后,我不得不停止使用 Ctrl+C。请注意2607:f8b0:4005:800::100e,表示 IPv6 查找。我在 中添加了以下几行/etc/sysctl.conf

# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

然后通过以下方式刷新这些设置:sudo sysctl -p 来源:http://www.noobslab.com/2012/05/disable-ipv6-if-your-internet-is.html

一旦我这样做了,事情就开始起作用了:

me@server:~$ time wget -O /dev/null google.com

--2014-08-26 09:46:12--  http://google.com/
Resolving google.com (google.com)... 74.125.239.98, 74.125.239.100, 74.125.239.102, ...
Connecting to google.com (google.com)|74.125.239.98|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/ [following]
--2014-08-26 09:46:12--  http://www.google.com/
Resolving www.google.com (www.google.com)... 74.125.239.115, 74.125.239.112, 74.125.239.116, ...
Connecting to www.google.com (www.google.com)|74.125.239.115|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `/dev/null'

    [ <=>                                   ] 19,139      --.-K/s   in 0.002s  

2014-08-26 09:46:12 (10.6 MB/s) - `/dev/null' saved [19139]


real    0m0.093s
user    0m0.004s
sys 0m0.000s

注意:您可以直接运行wget google.com,但它会在您当前的位置保存一个文件。-O /dev/null将抑制这一点。

答案2

我遇到了同样的问题,但禁用 IPv6 对我来说不起作用。我完全重置了网络设置,然后就成功了。

请按照以下步骤重置网络:

  • -r 标志释放当前租约

    sudo dhclient -r

  • 现在,使用 DHCP 获取一个新的 IP 地址:

    sudo dhclient

相关内容