Какова цель 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:7IPv6-адрес больше не доступен.

Из-за этого я отключил сервис 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 в серверной системе.

maxschlepzig
источник

Ответы:

21

Avahi - это реализация Bonjour / Zeroconf с открытым исходным кодом.

выдержка - http://avahi.org/

Avahi - это система, которая облегчает обнаружение услуг в локальной сети с помощью набора протоколов mDNS / DNS-SD. Это позволяет подключить ноутбук или компьютер к сети и мгновенно просматривать других людей, с которыми вы можете общаться в чате, находить принтеры для печати или находить файлы, к которым предоставлен общий доступ. Совместимая технология найдена в Apple MacOS X (фирменные Bonjour и иногда Zeroconf).

Более подробное описание здесь вместе со статьей Википедии . Статья ArchLinux является более полезной, с указанием видов услуг , которые могут принести пользу от Avahi.

В прошлом я обычно отключал его на серверах, так как каждому серверу, которым я управлял в прошлом, было явно сказано о различных ресурсах, к которым он должен был получить доступ.

Два больших преимущества Avahi - это разрешение имен и поиск принтеров, но на сервере в управляемой среде это мало что дает.

SLM
источник
Я просто хотел прокомментировать, в основном, первый ответ: «... но на сервере, в управляемой среде, это мало что значит». Смысл запуска avahi на сервере - это предоставление клиентам своих услуг. Таким образом, имеет смысл иметь его на сервере. Но для того, чтобы на самом деле получать серверные объявления, вам также нужен avahi на клиенте (если это не Mac). В общем, вам также нужны клиенты, которые используют avahi для поиска услуг.
Удаление удалено
2
@ TommySvensson, возможно, нужно различать «домашние серверы» (в доверенной сети) и «реальные» интернет-серверы, на которых размещаются веб-сайты, предоставляются почтовые службы и т. Д. (В некоторой враждебной среде). AFAIU, avahi предназначен для использования в домашней сети, то есть там, где вы даже не можете отличить клиента от сервера (то есть, когда многие машины, предоставляющие услуги, также являются клиентами).
maxschlepzig
@TommySvensson - В настройках центра обработки данных, с которыми я имел дело в течение моей карьеры, различные коммуникации, которые разрешены ч / б одной группе серверов и другой, жестко контролируются (подключение типа порт @ хост), и поэтому что-то такое, как Avahi, будет на самом деле не имеет смысла, и просто не сможет работать, учитывая ограниченный характер разрешенных сообщений.
SLM
2
Кажется бесполезным и проблематичным. Я всегда удаляю это. Даже не собираюсь выяснять, как это отключить.
Судо
5

Вы можете запустить следующее

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

Имейте в виду, что вышеперечисленное отключит avahi только временно. Чтобы предотвратить автоматическое повторное включение, его необходимо замаскировать:

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

Почему, о, почему производители создают пакеты, которые навязывают зависимости от avahi?

Ли Дж
источник
6
Зачем использовать скрипт cron, если вы можете просто systemctl maskих использовать, и вам больше не нужно беспокоиться о том, что они снова будут включены?
Майкл Хэмптон