升级到 16.10 后,DNS 查找会定期失败,直到重新启动 dnsmasq

升级到 16.10 后,DNS 查找会定期失败,直到重新启动 dnsmasq

从 Xubuntu 16.04 升级到 16.10 后,DNS 查找在一段时间后开始失败,重新启动 dnsmasq 似乎可以暂时解决问题,但我整天都在重新启动它。

当查找停止工作时,Chrome 会向我显示以下错误之一:

“ERR_NAME_NOT_RESOLVED”,“DNS_PROBE_FINISHED_BAD_CONFIG”,“DNS_PROBE_FINISHED_NXDOMAIN”;

这适用于 Internet 上的站点以及我本地网络上的其他机器所服务的 Web 界面;如果我尝试 ssh 到我网络上的另一台机器(例如我的 DNS 服务器),我会得到以下信息:

➜  ~ ssh dns
ssh: Could not resolve hostname dns: Name or service not known

我在运行 16.04 时在本地安装了 dnsmasq,这样我就可以使用通配符 DNS 条目来简化开发工作(浏览器中的不同项目使用 *.dev)。我/etc/dnsmasq.conf看起来像这样:

listen-address=127.0.0.1
bind-interfaces
address=/dev/127.0.0.1

据我所知,dnsmasq 默认安装在 16.10 上,以提供本地 DNS 缓存,是否存在一些冲突的配置,从而导致问题?

我读过很多其他人遇到的类似 DNS 问题的解决方案,但似乎没有一个对我有用。其中一个是进行更改/ets/nsswitch.conf(这确实解决了我遇到的另一个问题),目前我的解决方案如下:

passwd:         compat
group:          compat
shadow:         compat

#hosts:          files resolve [!UNAVAIL=return] dns mdns4_minimal [NOTFOUND=return] mdns4 myhostname
hosts:          files resolve dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

DNS 问题中经常会询问 /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.0.1

在我的 NIC 的“编辑连接”界面中,我将 DNS 服务器设置为127.0.0.1, 192.168.0.254, 8.8.8.8IPv4 和::1, fe80::ba27:ebff:fe78:2761IPv6。

我的本地网络上有另一个运行 dnsmasq 的 DNS 服务器,它处理 DHCP 并将其他静态 IP 映射到名称 - 我不确定这是否相关,这是上面的第二个 IPv4/6 地址。

有什么想法可以尝试解决这个问题吗?(除了告诉 cronservice dnsmasq restart时不时运行!)

相关内容