名称解析器不起作用

名称解析器不起作用

哦你好!

尝试使用此处的答案修复我的 Ubuntu 12.04 LTS 盒子上的名称解析...根本没有效果:

  1. 尝试移走 /etc/resolv.conf 链接
  2. 尝试更改 /etc/nsswitch.conf 中的主机顺序
  3. 尝试重启|移除|重新配置我的 LinkSys,它是我网络的 DHCP 服务器

没有结果。目前,我正在使用“重新加载按钮”方法,直到所需网站打开,尽管我拼错了其 FQDN。

有人能建议别的吗?

答案1

假设名称服务确实不起作用,这里有一个通用程序,可以修复几个已知的错误。

resolvconf 是否已安装?如果已安装,请执行以下操作。

sudo dpkg-reconfigure resolvconf

如果尚未安装,请执行以下操作。

sudo apt-get install resolvconf

现在 resolvconf 已正确安装,请重新启动以便为 resolvconf 提供名称服务器信息。

如果名称服务仍然中断,并且您正在使用 NetworkManager 来管理网络,则在编辑器中打开 /etc/NetworkManager/NetworkManager.conf 并注释掉“dns=dnsmasq”行。要注释掉它,请在行开头添加一个“#”字符。

gksudo gedit /etc/NetworkManager/NetworkManager.conf

接下来进入连接编辑器,确保您使用的连接配置正确。例如,最常见的是“网络指示器 | 编辑连接... | 有线 | 有线连接 1 | 编辑... | IPv4 设置 | 方法”设置为“自动 (DHCP)”,并且未设置“附加 DNS 服务器”地址。

然后重新启动网络管理器。

sudo restart network-manager

现在确认预期的名称服务器地址出现在 /etc/resolv.conf 中。

如果您没有使用 NetworkManager 来配置接口,而是使用,ifup则编辑 /etc/network/interfaces 并根据需要在相应节中包含dns-nameservers和行。确保 /etc/resolvconf/resolv.conf.d/head 仅包含注释行,并且 /etc/resolvconf/resolv.conf.d/base 和 /etc/resolvconf/resolv.conf.d/tail 不存在或为空。然后是和接口。确认您添加到 /etc/network/interfaces 的名称服务器地址现在出现在 /etc/resolv.conf 中。dns-searchifaceifdownifup

如果名称服务仍然无法工作,那么很可能是本地问题:例如,DHCP 服务器配置错误。另一个已知的问题原因是第三方 VPN 客户端破坏了符号链接 /etc/resolv.conf。如果您的 LAN 看起来正常,并且您没有使用第三方网络软件,那么请针对 NetworkManager 或 resolvconf 提交错误报告,无论哪个您认为更可能是罪魁祸首。

答案2

我有同样的问题...并且我尝试了有dnamasq和没有它的情况。

  • 当用于dnsmasqDNS 时,它由网络管理器启动,/etc/resolv.conf指向本地主机,但dnsmasq无法解析任何 DNS 名称。

我的网络配置使得我只能通过 HTTP 代理退出,而棘手的部分是它设置了,proxy.pac因此为了获取代理配置,我还需要 DNS 才能工作......

dnsmasq不应尝试直接连接到 DNS 根服务器(它看起来是这样做的),而应仅使用我通过 DHCP 获得的网络内可用的 DNS 服务器。但是没有任何信息告诉它使用它们,因为和/var/run/nm-dns-dnsmasq.conf都是/etc/NetworkManager/dnsmasq.d空的。

  • 当不在dnsmasq网络管理器中使用 DNS 时,我会在 中设置正确的 DNS 服务器/run/resolvconf/interface/NetworkManager,但resolvconf就是不会使用它们,因为它一直从 获得 localhost /run/resolvconf/interface/lo.dnsmasq。删除此文件并重新启动 后,问题消失resolvconf

我认为可以通过两种方式解决这个问题:

  • 如果使用 dnsmasq,你应该在/etc/NetworkManager/dnsmasq.d
  • 如果仅使用resolvconf,删除/run/resolvconf/interface/lo.dnsmasq并重新启动 resolvconf 应该就可以了。

尽管如此,为了正确解决这个问题,应该修复 NetworkManager......

相关内容