我有一台 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
wget
1.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