DNS 有时能正常工作,但是速度非常慢。

DNS 有时能正常工作,但是速度非常慢。

升级到Ubuntu 12.04(精准穿山甲)来自Ubuntu 10.04(Lucid Lynx)昨天。

DNS 有时能正常工作,但是速度非常慢。

我已阅读博客文章Ubuntu 12.04 中的 DNS

  • “我真的不需要本地解析器,我该如何关闭它?要关闭域名系统在网络管理器中,您需要编辑 /etc/NetworkManager/NetworkManager.conf 并注释“dns=dnsmasq”行(在其前面加上 #),然后执行“sudo restart network-manager”。

我没有这行要评论。检查 Synaptic Package Manager 发现 dnsmasq 未安装(dnsmasq-base 已安装)。

使用 NetworkManager GUI 编辑和创建连接(并指定 DNS 服务器)没有帮助;Ubuntu 不尊重用户 GUI 设置的 DNS 服务器。这些 GUI 工具难道不起作用吗?

  • “我使用静态 IP 地址配置,我应该将 DNS 配置放在哪里?静态接口的 DNS 配置应作为“dns-nameservers”、“dns->search”和“dns-domain”条目添加到 /etc/network/interfaces 中的接口”

有这方面的例子吗?我的/etc/network/interfaces非常稀少。

目前,我已经编辑了/etc/resolv.conf将名称服务器替换127.0.0.1为我的 DNS 服务器(我的宽带路由器)的名称服务器,但我不知道这个修复将持续多久,直到文件被这个新系统(dnsmasq?)覆盖。

答案1

network-manager旨在与和resolvconf一起管理 12.04 中的整个工作站的网络需求dnsmasq-base

dnsmasq-base只是网络管理器使用单独的配置运行的可执行 dnsmasq 文件,没有启动脚本。

resolvconf每当 12.04 集成包之一通过脚本告知它某些内容发生了变化时,它都会重写 /etc/resolv.conf。

如果您的配置中没有该dns=dnsmasq行,则听起来好像没有正确安装。这也可能是导致速度缓慢的原因。

您可以尝试dpkg-reconfigure在网络管理器和 resolvconf 上

或者,如果您正在使用未与网络管理器或其他不兼容程序集成的程序(如 VPN),您可以完全卸载网络管理器和 resolvconf,并依靠它来isc-dhcp-client设置您的网络和 DNS,或者pppd如果您正在使用调制解调器。

dnsmasq在 network-manager 的控制下,旨在通过缓存加速 DNS 查找,但如果您卸载 network-manager,那么您也将摆脱 dnsmasq - 至少它不会自行运行。您需要常规包才能dnsmasq在启动时启动并运行它。

您没有说是否需要 DHCP 或是否拥有静态 IP 地址。

答案2

移除/etc/resolv.conf并制作符号链接如下:

/etc/resolv.conf->/var/run/resolvconf/interface/NetworkManager

即执行:

ln -s /var/run/resolvconf/interface/NetworkManager /etc/resolv.conf

Ubuntu 中的本地 DNS 始终是一个坏主意(在 10-15 个请求后解析域)。

答案3

亚当的回答提供了正确的背景信息。

如果您已编辑或删除 /etc/resolv.conf,则在继续之前请确保它是指向“../run/resolvconf/resolv.conf”的符号链接。如果您必须恢复此符号链接,则在继续之前重新启动。

如果您遇到任何 DNS 问题,但不知道原因,那么最好确保 /etc/NetworkManager/NetworkManager.conf 不包含“dns=dnsmasq”行。注释掉该行。这样可以排除 dnsmasq 是导致问题的可能原因。

问题是“为什么我的 DNS 很慢?”如果 DNS 可以正常工作,那么配置肯定是正确的。

如果在 /etc/resolv.conf 中列出了多个名称服务器,并且第一个列出的名称服务器没有响应,则可能会出现长时间的延迟。glibc 解析器 (3) 会尝试第一个列出的名称服务器,并等待五秒钟,然后再尝试下一个列出的名称服务器。

第二个问题是关于“dns-nameservers”的使用。在 resolvconf(8) 中可以找到“dns-nameservers”等的使用示例。在终端窗口中运行“man 8 resolvconf”以阅读此手册页。

相关内容