运行 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 的用例。
答案1
Avahi 是 Bonjour/Zeroconf 的开源实现。
Avahi 是一个通过 mDNS/DNS-SD 协议套件促进本地网络上的服务发现的系统。这使您能够将笔记本电脑或计算机插入网络,并立即能够查看可以与之聊天的其他人、查找要打印的打印机或查找正在共享的文件。 Apple MacOS X(品牌为你好有时还有 Zeroconf)。
一个更多详细说明在这里随着维基百科文章。这ArchLinux 文章更有用,指定可以从 Avahi 受益的服务类型。
过去,我通常会在服务器上禁用它,因为我过去管理的每台服务器都被明确告知它需要访问的各种资源。
Avahi 的两大优势是名称解析和查找打印机,但在服务器上、托管环境中,它的价值不大。
答案2
您可能想运行以下命令
systemctl disable avahi-daemon.socket avahi-daemon.service
请注意,上述操作只会暂时禁用 avahi。为了防止自动重新启用,需要对其进行屏蔽:
systemctl mask avahi-daemon.socket avahi-daemon.service
为什么,为什么供应商构建强制依赖 avahi 的软件包?