tl:我的ubuntu16.04系统经常很难解决我同事(主要使用OSX/mac)的DNS问题。我们都在使用来自同一个无线网络的8.8.8.8。所讨论的域是经常创建或更新的AWS urls。读过这个问题 -我担心我的nsswitch.conf没有意义。
/etc/nsswitch.conf包含以下行:
hosts: files mdns4_minimal [NOTFOUND=return] dns看上去对吗?如果我理解正确,它将检查主机文件mdns (本地dns?)然后在检查dns服务器之前失败?
运行命令nmcli dev show | grep DNS (从这个问题- 如何知道我在使用什么dns)返回以下内容:
IP4.DNS[1]: 8.8.8.8
IP4.DNS[2]: 8.8.4.4我还检查了我的主机文件不包含任何意外的冲突条目。我还应该去哪里找线索呢?
DNS查找始终失败(也就是说,在第一次尝试时失败的并不是一个缓慢的DNS服务器,直到缓存了一个值)。
一个失败的nslookup示例(将域更改为删除工作域)如下所示:
> nslookup example.somedomain.com: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
*** Can't find example.somedomain.com: No answer在线的nslookup工具可以正确地解析urls,并显示出生命的时间是59秒,相当短,但并不疯狂。
编辑:更多的信息(我不太理解,但可能会帮助专家)阅读了更多的问题后:
上面的nslookup似乎使用本地DNS服务器(127.0.1.1)使用nslookup,但显式设置dns服务器正确解析了URL:
> nslookup example.somedomain.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: example.somedomain.com
Address: 10.116.[blah].[blah]
Name: example.somedomain.com
Address: 10.116.[blah].[blah]/etc/NetworkManager/NetworkManager.conf看起来如下所示:
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
[ifupdown]
managed=false发布于 2018-05-22 14:40:00
dnsmasq (在localhost上运行,127.0.1.1)提供的本地DNS缓存机制似乎存在问题。不确定具体是什么,但是如果禁用dnsmasq缓存,并且总是直接询问主服务器(8.8.8.8)和辅助DNS服务器,那么它可能会工作得更好。
要禁用dnsmasq,您可以编辑文件/etc/NetworkManager/NetworkManager.conf并注释掉dns=dnsmasq,如下所示:
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq希望它对你有用:)
https://askubuntu.com/questions/1034064
复制相似问题