Ubuntu 12.04 主机查找非常慢

Ubuntu 12.04 主机查找非常慢

我遇到了一个问题,我的一台服务器需要很长时间才能查找主机名。这是一台 Ubuntu 12.04 机器,所以我尝试遵循新的resolvconf指令。

在我的/etc/network/interfaces文件中,我这样定义我的名称服务器:

auto eth0
iface eth0 inet static
 address someaddress
 netmask 255.255.255.0
 gateway 198.58.103.1
 dns-nameservers 74.14.179.5 72.14.188.5

在我的 中/etc/resolv.conf,我看到了这些名称服务器,如下所示:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 74.14.179.5
nameserver 72.14.188.5

在另一个机器上,我resolv.conf按照主机安装帮助文件的指示直接编辑了。它看起来像这样:

domain members.linode.com
search members.linode.com
nameserver 72.14.179.5
nameserver 72.14.188.5
options rotate

第二个盒子在主机名查找方面没有问题,并且响应非常快。

没有domainandsearch指令会导致我的查找速度变慢吗?我说的慢,是指查找主机的 IP 地址需要 5 到 15 秒的时间。

如果我这样做,time dig @72.14.179.5 www.google.com我会很快得到答复,“实际”时间为 0.170 秒。

如果我执行 a,ping google.com即使我在一次响应后退出 ping,我也会得到 10.078 秒的实际时间。如下所示:

time ping google.com
PING google.com (74.125.228.37) 56(84) bytes of data.
^C64 bytes from iad23s06-in-f5.1e100.net (74.125.228.37): icmp_req=1 ttl=54 time=34.2 ms

--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 34.291/34.291/34.291/0.000 ms

real    0m10.078s
user    0m0.001s
sys     0m0.005s

答案1

dns-searchdns-domain指令添加到您的/etc/network/interfaces文件中。

答案2

您是否已加载 ipv6 内核模块?

如果有的话,您的系统将首先搜索 AAAA 记录,如果返回记录,它将优先使用该记录而不是 A 记录,问题是请求查找的服务将尝试使用 AAAA 答案进行连接,而您使用的 IP 堆栈可能不支持该答案。

禁用 ipv6 内核模块,这个问题就消失了。

但可能并非如此。您始终可以在本地安装 dnsmasq,这样 /etc/resolv.conf 中的名称服务器就设置为查找 localhost,dnsmasq 将查找上游名称服务器并缓存结果,因此第一个名称服务器会很慢,但所有后续名称服务器都会快如闪电。

答案3

我无法让 dns-domain 指令工作。我还想在末尾添加“options rotate”。我完全赞成动态生成此文件,但需要支持来自接口文件的所有内容。我再次将 resolv.conf 设为文件而不是符号链接。

答案4

我在 12.04 上遇到了同样的问题,我通过这样做解决了它

在网络管理器小程序上编辑连接 --> 自动以太网(或无线) --> IPV4 选项卡 --> 选择方法“仅自动(DHCP)地址”

输入 DNS 服务器 - 8.8.8.8

输入搜索域 - google-public-dns-a.google.com(您将通过 8.8.8.8 上的主机查找获得此信息)并保存

就是这样,不再需要“解析主机”

如果您没有 ipv6,也许您也可以在 Ipv6 选项卡中忽略它,但我没有看到这样做有任何显著的变化。

相关内容