DNS 查找速度极慢

DNS 查找速度极慢

Ubuntu 12.10

我来解释一下第一个问题。有时当我加载网页时,它永远无法完成加载,并且会显示无法访问服务器或类似信息。当我 ping 该网站时,终端会显示无法解析主机名。因此,我尝试了 Google 的 DNS 服务器,但没有成功。这很奇怪,因为我在 Windows 7 中从未遇到过这个问题。我使用

cat /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 127.0.1.1
search hsd1.or.comcast.net

为什么它会使用 127.0.1.1?这是否意味着它正在尝试本地解析地址?当我 ping 康卡斯特搜索服务器时,我收到超时错误。

答案1

/etc/resolv.conf(实际上是到 /run/resolvconf/resolv.conf 的符号链接)是由 resolvconf 实用程序根据来自各种可能来源的信息编写的。

127.0.1.1 是 NetworkManager 控制的 dnsmasq 实例监听的环回 IP 地址。Dnsmasq 在本地运行,接受 127.0.1.1 处的 DNS 查询,并将这些查询转发到由 NetworkManager 提供的外部名称服务器。此方案并不总是有效,如果您遇到任何问题(正如您所遇到的),建议禁用 NetworkManager 控制的 dnsmasq。要禁用它,请编辑/etc/NetworkManager/NetworkManager.conf

sudo gedit /etc/NetworkManager/NetworkManager.conf

并注释掉以下行

dns=dnsmasq

使其看起来如下所示。

#dns=dnsmasq

然后重新启动网络管理器。您使用的命令取决于您的 Ubuntu 版本:

sudo service network-manager restart # For newer systems using Systemd
sudo restart network-manager         # For older systems using Upstart

此后,您应该nameserver在 resolv.conf 中看到一行非环回 IP 地址。如果不是这种情况,请尝试以下命令。

sudo dpkg-reconfigure resolvconf

如果 resolv.conf 中仍然没有包含nameserver非环回 IP 地址的行,或者仍然没有 DNS 服务,请尝试重新启动。

如果您仍然没有良好的 DNS 服务,请开始调查外部 IP 地址的名称服务器(以下示例中为 1.2.3.4)。使用hostdig实用程序访问时,它是否正确解析域名?

host www.ford.com 1.2.3.4

dig @1.2.3.4 www.gm.com

Google 的名称服务器能正常工作吗?

host www.ford.com 8.8.8.8

dig @8.8.4.4 www.gm.com

如果你发现你的如果外部名称服务器无法正常工作,则应将连接配置为使用性能良好的名称服务器(例如 Google 的名称服务器)。为此,右键单击网络指示器,然后转到编辑连接 | | 编辑... | IPv4 设置。假设当前方法是Automatic (DHCP),将方法设置为,Automatic (DHCP) addresses only并在标题为的字段中填写良好的名称服务器地址Additional DNS servers

答案2

您可能需要右键单击网络管理器小程序,编辑连接并添加另一个 dns。这应该会“坚持”

答案3

你可以只安装 DNS 守护程序:

apt-get install bind9

service start bind9

这应该在 127.0.0.1 上启用 DNS 服务器,以便大多数名称解析可以在本地缓存/解析。

相关内容