Eu tenho um servidor HTPC / Media baseado no Ubuntu 16.04 que funciona 24/7 . Tanto quanto me lembro de usar uma distribuição oficial do Ubuntu, sempre tive problemas com o avahi-daemon . A questão é frequentemente discutida online. Algumas pessoas decidem simplesmente excluir o daemon, no entanto, eu realmente preciso dele, pois estou executando um servidor CUPS e uso o Kodi como meu receptor AirPlay.
O problema
O mDNS / DNS-SD é inerentemente incompatível com as zonas DNS unicast .local . É altamente recomendável não usar o Avahi ou o nss-mdns nessa configuração de rede. Nota: o nss-mdns normalmente não é fornecido com o Avahi e requer um download e uma instalação separados. (avahi.org)
Os sintomas são simples - após cerca de 2 a 4 dias de atividade, a conexão de rede será desativada e isso será registrado
Mar 17 18:33:27 15 avahi-daemon[1014]: Withdrawing address record for 192.168.1.200 on enp3s0.
Mar 17 18:33:27 15 avahi-daemon[1014]: Leaving mDNS multicast group on interface enp3s0.IPv4 with address 192.168.1.200.
Mar 17 18:33:27 15 avahi-daemon[1014]: Interface enp3s0.IPv4 no longer relevant for mDNS.
A rede voltará a funcionar sem problemas se você reconectar fisicamente o plugue Ethernet ou se reconectar do lado do software.
Soluções possíveis
Existem três soluções listadas no wiki oficial, que não funcionam desde o que parece ser junho de 2016 , por isso estou fornecendo um link não direto para archive.org
1.) Edite /etc/nsswitch.conf em
"hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4"
para
hosts: files dns mdns4
2.) Modifique /etc/avahi/avahi-daemon.conf
de
domain-name=.local
para
domain-name=alocal
3.) "Peça ao administrador para mover a zona .local" (como dito no wiki)
O que eu fiz
A primeira solução não pareceu trabalho para mim - o daemon ainda funciona, no entanto, a rede vai para baixo da mesma forma como antes (para ser justo, no wiki que diz " Y nosso M ileage M ay V ary")
A segunda solução faz com que o daemon aparentemente funcione corretamente (nada de errado se você olhar para os logs), mas os dispositivos iOS não conseguem "ver" a máquina como uma impressora ou um receptor AirPlay (assim como o iTunes na minha máquina Windows)
A terceira solução é complicado, porque eu não estou bem versado nos "prós e contras" de como a rede está funcionando; e não tenho certeza se realmente tentei. Aqui está o que eu quero dizer: no meu Asus Router executando o Asuswrt-Merlin , entrei na subcategoria de configurações / LAN / DHCP Server / Basic Config. Lá, defino " Nome de domínio do RT-AC68U " como "lan" (um nome de domínio que eu vi aconselhado na Web, porque não entra em conflito com nada, ao contrário de "local"). Tanto quanto posso entender, é o que significa " mover a zona local ". Se isso é realmente correto, essa solução também não funciona para mim.
Conclusão
Então, o que eu deveria fazer? Estou enfrentando esse problema há mais de quatro meses e todas as respostas on-line se resumem àquelas que já tentei; francamente, estou completamente perdido. Desde já, obrigado!
Respostas:
Eu acho que a terceira solução é o caminho a seguir quando você tem acesso à configuração do roteador. Eu tentaria definir o "Nome de domínio do RT-AC68U" em branco.
A próxima coisa que eu faria é executar algo como o wireshark e assistir os pacotes enviados e recebidos pelo avahai-daemon, bem como quaisquer pacotes enviados de e para qualquer nome de domínio que terminem em
.local
... se algo diferente de avahai estiver configurando a LAN nomes de domínio para.local
você encontrá-lo lá.Também é possível que o problema seja totalmente diferente, e o wireshark também pode lhe dizer isso.
Se você estiver usando o Avahai inteiramente com a finalidade de atribuir nomes de domínio a máquinas na sua rede, considere usar o dnsmasq. Você pode executá-lo no seu roteador RT-AC88U ou na sua caixa do Ubuntu (na verdade, provavelmente já está sendo executado na sua caixa do ubuntu, e você só precisará ajustar o arquivo de configuração).
Documentação para configurar dnsmasq sob Asus-Merlin
fonte
Por isso, tentei alterar o parâmetro "host-name" no "avahi-daemon.conf" para algo que não seja o nome do host das máquinas e estou executando duas semanas sem problemas. Talvez isso tenha a ver com a máquina também executando samba e Windows usando o domínio ".local" para seus próprios fins?
fonte
.
s no netbios para algum propósito). O avahi está ativado por padrão no ubuntu / fedora, e nunca vi um aviso sobre a execução do samba ao mesmo tempo. Não consigo imaginar por que o avahi-daemon incluiria qualquer código que define endereços ou status da interface. Obrigado por voltar com o resultado do teste, espero que a instalação continue funcionando a partir de agora!