网络服务发现已禁用:这对我意味着什么?

每次开机时,我都会收到一条消息:“网络服务发现已禁用。您当前的网络使用了.local域名,这是不推荐且与Avahi网络服务发现不兼容的。该服务已被禁用。”

Network service discovery disabled

这对我意味着什么?
Wi-Fi已被禁用。

1这是一个已知的问题:https://bugs.launchpad.net/ubuntu/+source/avahi/+bug/327362 - tripleee
在过去的一周里,我的Lubuntu 18.04笔记本电脑在工作和家中同时出现了这个问题。工作使用一个.local AD服务器(虽然不太智能,但之前没有出现过任何消息)。可能是某个更新或软件安装“触发”了这个问题。在家中,host -t SOA local.确实有响应,但不确定之前会是什么样子。@int_ua的“解决方案”对我有效。 - rdtsc
4个回答

看起来当网络连接建立时,avahi-daemon会启动(/etc/network/if-up.d/avahi-daemon)。 这个通知是告诉您mDNS(Avahi)已被禁用。它只用于一小部分仅在本地网络上工作的应用程序,不会对您的互联网连接或DNS产生不利影响。
mDNS最为人所知的用途是通过局域网与Rhythmbox(或iTunes)共享音乐。这是一项苹果技术,但在uPNP或DLNA方面它基本被忽视了。
要禁用它,您必须以root身份编辑文件/etc/default/avahi-daemon。
sudo -i
gedit /etc/default/avahi-daemon

并添加这一行(如果已存在则更改):
AVAHI_DAEMON_DETECT_LOCAL=0

来源:http://ubuntuforums.org/showthread.php?t=1632952

mDNS(Avahi)被禁用在哪里了?是在我的本地网络路由器上吗?我想我没有使用它,但是以前可能用过:我曾经在我的FreeNAS服务器上运行过iTunes服务。 - Nickolai Leschov
@NickolaiLeschov 你的网络路由器出了什么问题?它可能被禁用了,因为没有任务需要它执行。当你运行需要使用它的应用程序时,该应用程序应该知道如何启用它。 - Radu Rădeanu
2看起来有几个很好的理由,为什么你不应该在你的Active Directory域名中使用.local,所以仅仅禁用警告并不是一个好的解决方案。 - rubo77
我已经尝试了这个,但是在登录时仍然出现错误。 - djb
这个解决方案对我来说很有效,我正在运行16.04版本,非常简单而且有效。我已经重新启动了笔记本电脑好几次,一切似乎都很正常。谢谢! - RoyS
不错,对我有用!请注意,仅注销/登录是不够的。我必须重新启动才能让消息消失。 - wisbucky

根据Avahi wiki的说法,有两种解决方法:
更好的一种方法是:
/etc/avahi/avahi-daemon.conf中取消注释并将域名行更改为
domain-name=.alocal

第二个:

/etc/nsswitch.conf 文件中删除一个 [NOTFOUND=return] 文本。


对我来说不起作用。 - Vitaly Zdanevich
两个都有吗?维基百科有任何变化吗? - int_ua
看起来不错,请将其添加为另一个答案:) - int_ua
在Ubuntu 14.04上对我没有起作用。 - Decebal
链接失效警报!编辑:似乎是暂时的... - Nonny Moose

它可能是说Avahi被禁用了,因为你使用了.local域名,而Avahi在这种情况下工作得不太好。

Avahi是一种零配置协议,类似于苹果的Bonjour,如果你的网络上有Mac电脑,或者你想在本地网络上与其他人聊天而不需要登录到像Google Talk或MSN Messenger这样的服务器,那么它通常会被使用。

你可以在这里阅读有关这个问题的信息。

你可以选择忽略它,或者配置你的网络使用另一个域名而不是默认的.local。


5至少在芬兰,一个主要的互联网服务提供商(Sonera)的DNS已经配置为声称对.local域名拥有授权。检查host -t soa local. - 你应该会得到not found: 3(NXDOMAIN)。例如:host -t soa local. 8.8.8.8将测试Google DNS。一个损坏的DNS服务器将返回类似于local has SOA record localhost. hostmaster.sonera.fi. 20130911 14400 7200 604800 900的内容。 - Mikko Rantalainen
请添加如何“配置您的网络以使用另一个域名”的说明。 - rubo77
@rubo77 嗯,如果你的ISP给你错误的dot local域名,除了向他们提交工单并要求将其从配置中移除之外,没有其他方法。 - silpol

虽然可能有多种原因,但在更换ISP后,我在ubuntu 14.04上出现了完全相同的错误。一些不良的ISP使用本地域名地址作为他们的DNS服务器,如这里所解释的那样。我的ubuntu盒子网络使用手动配置,所以将DNS设置为我的路由器的IP而不是ISP的DNS服务器地址可以解决问题。在内部,路由器使用ISP的本地域名DNS服务器,但ubuntu并不知道也很满意。更多证据在这里表明这是ISP的问题。
简而言之,请检查您的ISP是否使用本地域名不可路由的DNS IP地址。如果是这样,请在ubuntu上切换DNS提供商。