为什么Ubuntu Mate使用Google DNS服务器?


9

更新:看起来像它avahi-dnsconfd说的增加8.8.8.88.8.4.4对我的/etc/resolv.conf文件。我在/ var / log / syslog中找到了这个:

Jan  4 17:00:21 freewill nm-dispatcher: req:1 'up' [ens33]: start running ordered scripts...
Jan  4 17:00:21 freewill avahi-dnsconfd[3579]: New DNS Server 8.8.4.4 (interface: 2.IPv4)
Jan  4 17:00:21 freewill avahi-dnsconfd[3579]: New DNS Server 8.8.8.8 (interface: 2.IPv4)

我怎样才能让Ubuntu的从DHCP获取DNS服务器使用的avahi(的mDNS)用于获取DNS服务器?


我正在测试Ubuntu Mate 16.04.1 LTS,但遇到了麻烦,因为某些事情不断将Google的DNS服务器添加到/etc/resolv.conf

josh@freewill:~$ cat /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 10.100.1.1
nameserver 8.8.4.4
nameserver 8.8.8.8
search my.domain.name

我不想8.8.4.4,也不8.8.8.8/etc/resolv.conf,因为这打破我的本地网络:我的本地DNS服务器(10.100.1.1)提供的DNS不具有公共DNS记录本地NAT的服务。

如果我手动编辑/etc/resolv.conf并删除Google DNS名称服务器,则通过重新启动或重新添加它们resolvconf -u

NetworkManager在“ 其他DNS服务器”下没有列出8.8.8.8或8.8.4.4,因此不是原因。

系统具有三个以太网接口,仅连接了一个。它在具有提供DNS信息的DCHP服务器的网络上。的内容/etc/network/interfaces是:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

我已经运行了grep -R '8\.8\.8\.8' /etc8.8.8.8在任何配置文件中都没有其他引用。下方也没有/etc/resolvconf指代Google DNS服务器!

为什么Ubuntu Mate要将Google DNS服务器添加到其中/etc/resolv.conf,如何停止?就目前而言,我已经完成了,sudo rm /etc/resolv.conf; sudo cp /run/resolvconf/resolv.conf /etc/resolv.conf; sudo chattr +i /etc/resolv.conf但是我知道将来这会咬我...


评论不作进一步讨论;整个对话和所有评论已移至聊天室
托马斯·沃德

Answers:


1

经过大量调查(在@Terrance的帮助下),我发现Ubuntu Mate正在使用,avahi-dnsconfd并且我网络上的其他设备(可能是Raspberry Pi)正在通过mDNS / Bonjor / Avahi广播Google的DNS服务器。

avahi-dnsconfd正在捡起它,并且在avahi-dnsconfd.action运行时,它正在resolvconf通过mDNS发现添加DNS服务器的调用/etc/resolf.conf

我禁用了avahi-dnsconfd使用:

sudo systemctl stop avahi-dnsconfd.service
sudo systemctl disable avahi-dnsconfd.service

我也进行了很好的编辑/etc/default/avahi-daemon和设置AVAHI_DAEMON_DETECT_LOCAL=0(因为我知道我的网络没有用于.localTLD的单播DS服务器)


-1

您无需/etc/resolve.conf直接编辑文件,而是可以在调用时完成resolvconf - u

您应该编辑文件:

/etc/resolvconf/resolv.conf.d/head

代替。

确保先创建备份,以防万一出现问题:

sudo cp /etc/resolvconf/resolv.conf.d/head /etc/resolvconf/resolv.conf.d/head.backup 

然后对其进行编辑以添加您的 DNS名称服务器。这是我的,使用openDNS(推荐):

bitofagoob@me:~$ cat /etc/resolvconf/resolv.conf.d/head

    # 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 208.67.222.222
    nameserver 208.67.220.220

然后运行resolvconf - u,名称服务器信息将从/etc/resolvconf/resolv.conf.d/head文件复制到/etc/resolv.conf文件。

系统需要以这种方式进行设置才能生效。


这...没有回答我的问题...
Josh

我不应该费心添加尚未包含在响应中的内容。
bitofagoob

2
抱歉,我并不是无礼,我知道您正在努力提供帮助,对此我深表感谢。但是,这并不能回答我有关Google的DNS服务器来自哪里的问题……
乔什(Josh)

是的,我的回答与您的问题有关。我只是指出,如果您尝试直接编辑resolve.conf,那么它无助于您更接近找出问题所在。不幸的是,我无法再为您服务。希望您能找到答案。
bitofagoob
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.