解决 Ubuntu 16.10 上频繁的 DNS 解析失败

更新日期: 2017-01-18 阅读次数: 14713 分类: DNS

最近一个月,在 Ubuntu 16.10 上使用 Chrome 浏览网页,经常出现 DNS 解析失败的情况。错误信息诸如

  • DNS_PROBE_FINISHED_NXDOMAIN
  • ERR_NAME_NOT_RESOLVED

奇怪的是,只有部分域名会出现该错误。例如,baidu.com 及其所有子域名。

通过 dig +trace 排除了授权 DNS 的问题。

将 network connections 里的 DNS 服务器修改成了 114.114.114.114, 8.8.8.8 还是无济于事。

又尝试了修改 /etc/resolv.conf ,但是会被系统自动还原成 127.0.0.1

Google 了一下类似问题,发现都是通过禁用掉 dnsmasq 来解决的。。。难道 Ubuntu 已经内置了 dnsmasq?

  • 禁用 dnsmasq 这种方案很傻逼
  • Ubuntu 为何要内置 dnsmasq?

先确认一下

ps axwu | grep dns 
dnsmasq   2560  0.0  0.0  54828  2936 ?        S    07:54   0:00 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -r /run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service --trust-anchor=.,19036,8,2,49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5
nobody    3393  0.0  0.0  54828  4212 ?        S    07:54   0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

果然如此,打开 /etc/dnsmasq.conf 发现,里面啥也没有配置。。。那默认的 upstream servers 是啥???

想起之前因机房内 DNS 服务器负载过高,使用 dnsmasq 解决的案例,使用 dnsmasq 保证本地 DNS 服务的稳定性

参考之前写的自动脚本,把 Ubuntu 16.10 Desktop 内置的 dnsmasq 调整了一下

cat <<DNSMASQ_CONF > /etc/dnsmasq.conf
listen-address=127.0.0.1
resolv-file=/etc/dnsmasq.resolv.conf
all-servers
cache-size=1000
local-ttl=60
clear-on-reload
no-negcache
DNSMASQ_CONF

cat <<DNSMASQ_RESOLV_CONF > /etc/dnsmasq.resolv.conf
nameserver 114.114.114.114
nameserver 182.254.116.116
nameserver 119.29.29.29
DNSMASQ_RESOLV_CONF

/etc/init.d/dnsmasq start

182.254.116.116,119.29.29.29 是腾讯的 public DNS。这3个 nameserver 的组合我还是非常放心的,在腾讯的时候用过一年,没有出现过问题。

解析失败问题暂时不见了,再观察一段时间。

领取阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

谈笑风生

qingliu

感谢,这个问题困扰了我很久啊。按照此方法修改后再看看情况,谢谢!

大象腿

客气!dnsmasq 是个神器,不过放在桌面系统有点让人意外了

爱评论不评论

近期节日

2020年04月07日 世界卫生日
2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
2020年04月30日 全国交通安全反思日
2020年05月01日 国际劳动节
2020年05月04日 五四青年节
2020年05月05日 立夏
查看更多节日