无法解析 DNS 查询

无法解析 DNS 查询

我有一台 Ubuntu 14.04 主机,还有一台在 VirtualBox 中运行的 15.10 服务器。这些都是我三天前完成的全新安装。

当我昨晚登录运行“apt-get update”时,没有任何问题得到解决。

我尝试使用路由器作为 DNS 服务器。这就是我设置 LAN 其余部分的方式。我可以从主机成功解析,但无法从客户机解析任何内容。

 source /etc/network/interfaces.d/*

 # The loopback network interface
 auto lo
 iface lo inet loopback

 # The primary network interface
 auto enp0s3
 iface enp0s3 inet static
    address 192.168.1.4
    netmask 255.255.255.0
    network 192.168.1.0
    gateway 192.168.1.1
    dns-namesevers 192.168.1.1

我可以 ping 通我的路由器。如果我将 dns-nameservers 更改为 8.8.8.8 并重新启动网络,我仍然无法解析 google.com。盒子上有一些东西阻止 DNS 查询解析,我不确定是什么原因造成的。谢谢你的帮助。

答案1

这里也出现了同样的情况,我认为这与 DNSMASQ 有关,有时 DNS 解析不起作用,有时它运行缓慢,每个名称大约需要 3 秒钟才能解析,有时它运行得非常快,这是应该的。我正在运行 ubuntu 15.10,是的,我尝试将 DNS 服务器更改为我的 ISP、Goolge 和 opendns,但似乎都不稳定

更新:我想我找到了解决方案

解决方案

问题似乎与冲突的 dnsmasq 和 resolvconf 软件包有关。在 12.10 之前,使用的是 dnsmasq。从​​ 13.04 开始,Ubuntu 似乎切换到了 dnsmasq/resolvconf 混合版本,您安装了 dnsmasq-base 和 resolvconf 软件包,但没有安装 dnsmasq 本身。

我不能说这是否是 13.04 升级脚本中的错误或其他什么,因为在升级(如全新安装)时,会安装 resolvconf,升级 dnsmasq-base 并且(正确地)卸载 dnsmasq。

问题是,升级脚本无法注释掉 /etc/NetworkManager/NetworkManager.conf 中的 dns=dnsmasq 行。因此,即使 dnsmasq 守护进程不再存在于系统中,/etc/resolv.conf 仍然期望它存在。

因此,要修复该问题,请编辑此文件 /etc/NetworkManager/NetworkManager.conf 并注释掉此行:#dns=dnsmasq

希望这对某些人有帮助

相关内容