avahi在RHEL 7服务器上的作用是什么?


19

在CentOS 7上运行服务器计算机,我注意到avahi服务默认是运行的。

我有点想知道它的目的是什么。

(在我的环境中)似乎要做的一件事是随机禁用IPv6连接,在日志中如下所示:

Oct 20 12:23:29 example.org 
  avahi-daemon[779]: Withdrawing address record for fd00::1:2:3:4 on eno1
Oct 20 12:23:30 example.org
  Withdrawing address record for 2001:1:2:3:4:5:6:7
Oct 20 12:23:30 example.org
  Registering new address record for fe80::1:2:3:4 on eno1.*.

(后缀1:2:3...组成)

确实,此后2001:1:2:3:4:5:6:7不再可以访问公共IPv6地址。

因此,我通过以下方式禁用了avahi服务:

# systemctl disable avahi-daemon.socket avahi-daemon.service
# systemctl mask avahi-daemon.socket avahi-daemon.service
# systemctl stop avahi-daemon.socket avahi-daemon.service

到目前为止,我还没有发现任何限制。

因此,我对服务器系统上avahi的用例的疑问。

Answers:


21

Avahi是Bonjour / Zeroconf的开源实现。

摘录-http: //avahi.org/

Avahi是一个通过mDNS / DNS-SD协议套件促进在本地网络上发现服务的系统。这使您可以将便携式计算机或计算机连接到网络,并即时查看与您聊天的其他人,查找要打印的打印机或查找要共享的文件。在Apple MacOS X(Bonjour有时是Zeroconf 品牌)中发现了兼容的技术。

Wikipedia文章一起在这里有更详细的描述。该ArchLinux的文章是比较有用的,指定类型,可以从受益的avahi服务的。

过去,通常会在服务器上禁用它,因为我过去管理过的每台服务器都被明确告知需要访问的各种资源。

Avahi的两个主要优点是名称解析和查找打印机,但是在服务器上的托管环境中,它的价值很小。


我只想评论第一个答案:“ ...但是在服务器上,在有人值守的环境中,它的价值很小。” 在服务器上运行avahi的目的是让avahi向客户端宣布其服务。因此,将其安装在服务器上非常有意义。但是,要实际接收服务器公告,您还需要在客户端上使用avahi(除非它是Mac)。通常,您还需要利用avahi查找服务的客户。
要求

2
@TommySvensson,也许必须区分“可信服务器”中的“家庭服务器”和托管网站,提供邮件服务等的“真实”互联网服务器(在一种恶劣的环境中)。在AFAIU中,avahi适用于家庭网络使用,即您甚至无法真正区分客户端和服务器(即,许多提供服务的机器也是客户端)。
maxschlepzig 2015年

@TommySvensson-在我从事职业生涯的数据中心设置中,允许一组服务器与另一组服务器进行黑白通信的各种通信受到严格控制(端口@主机类型连接),因此诸如Avahi这样的通信确实没有任何目的,并且鉴于允许的通信的限制性性质,甚至根本不被允许工作。
slm

2
似乎没用且有问题。我总是卸载它。甚至都不想弄清楚如何禁用它。
sudo

5

您可能要运行以下命令

systemctl disable avahi-daemon.socket avahi-daemon.service 

请注意,尽管以上内容只会暂时禁用avahi。为防止自动重新启用,需要将其屏蔽:

systemctl mask avahi-daemon.socket avahi-daemon.service 

为什么,为什么供应商会构建强制依赖于avahi的软件包?


6
当您只需使用cron脚本systemctl mask而不必担心再次启用它们时,为什么还要使用cron脚本?
迈克尔·汉普顿
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.