名称解析器不起作用

1 resolv.conf

哦你好!

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

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

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

任何人都可以提供其他建议吗?

jdt*_*ood 5

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

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

sudo dpkg-reconfigure resolvconf
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get install resolvconf
Run Code Online (Sandbox Code Playgroud)

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

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

gksudo gedit /etc/NetworkManager/NetworkManager.conf
Run Code Online (Sandbox Code Playgroud)

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

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

sudo restart network-manager
Run Code Online (Sandbox Code Playgroud)

现在确认预期的名称服务器地址出现在 /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(无论您认为哪个更有可能是罪魁祸首)提交错误报告。