Qual é o objetivo do avahi em um servidor RHEL 7?

19

Executando uma máquina servidor com o CentOS 7, notei que o serviço avahi está sendo executado por padrão.

Estou meio que me perguntando qual é o propósito disso.

Uma coisa que parece fazer (no meu ambiente) é desativar aleatoriamente a conectividade IPv6, que se parece com isso nos logs:

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.*.

(os sufixos 1:2:3...são compostos)

E, de fato, depois disso, o 2001:1:2:3:4:5:6:7endereço IPv6 público não está mais acessível.

Por isso, desabilitei o serviço avahi via:

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

Até agora não notei nenhuma limitação.

Portanto, minha pergunta sobre os casos de uso de avahi em um sistema de servidor.

maxschlepzig
fonte

Respostas:

21

Avahi é a implementação de código-fonte aberto do Bonjour / Zeroconf.

trecho - http://avahi.org/

O Avahi é um sistema que facilita a descoberta de serviços em uma rede local por meio do conjunto de protocolos mDNS / DNS-SD. Isso permite que você conecte seu laptop ou computador a uma rede e possa instantaneamente ver outras pessoas com quem você pode conversar, encontrar impressoras para imprimir ou encontrar arquivos compartilhados. A tecnologia compatível é encontrada no Apple MacOS X (com a marca Bonjour e às vezes Zeroconf).

Uma descrição mais detalhada está aqui junto com o artigo da Wikipedia . O artigo do ArchLinux é mais útil, especificando os tipos de serviços que podem se beneficiar do Avahi.

No passado, eu geralmente o desabilitava nos servidores, já que todos os servidores que eu gerenciava no passado eram explicitamente informados sobre os vários recursos que ele precisava acessar.

Os dois grandes benefícios do Avahi são a resolução de nomes e a localização de impressoras, mas em um servidor, em um ambiente gerenciado, é de pouco valor.

slm
fonte
Eu só queria comentar principalmente a primeira resposta: "... mas em um servidor, em um ambiente gerenciado, isso tem pouco valor". O objetivo de executar o avahi em um servidor é fazer com que ele anuncie seus serviços aos clientes. Assim, faz todo o sentido tê-lo em um servidor. Mas para realmente receber anúncios do servidor, você também precisa de avahi no cliente (a menos que seja um Mac). Em geral, você também precisa de clientes que fazem uso do avahi para encontrar serviços.
Exclusão solicitada
2
@ TommySvensson, talvez seja necessário diferenciar entre 'servidores domésticos' (em uma rede confiável) e servidores 'reais' da Internet que hospedam sites, fornecem serviços de correio etc. (em um tipo de ambiente hostil). AFAIU, avahi é recuado para uso em rede doméstica, ou seja, onde você nem consegue realmente distinguir entre cliente e servidor (ou seja, onde muitas máquinas que fornecem serviços também são clientes).
maxschlepzig
@ TommySvensson - Nas configurações de data center que lidei com a minha carreira, as várias comunicações permitidas por um grupo de servidores e outro são rigidamente controladas (conectividade do tipo porta @ host) e, portanto, algo como Avahi realmente não serve a nenhum propósito e nem seria permitido trabalhar, dada a natureza restritiva das comunicações permitidas.
slm
2
Parece inútil e problemático. Eu sempre o desinstalo. Nem vou me incomodar em descobrir como desabilitá-lo.
sudo
5

Você pode querer executar o seguinte

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

Esteja ciente de que as opções acima desabilitarão o avahi apenas temporariamente. Para impedir a reativação automática, ele precisa ser mascarado:

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

Por que, oh, por que os fornecedores criam pacotes que forçam dependências do avahi?

Lee J
fonte
6
Por que usar um script cron quando você pode apenas systemctl maskusá-los e nunca precisar se preocupar com a ativação novamente?
Michael Hampton