problemas de domínio avahi-daemon e “.local”

12

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!

halter
fonte
Isso não explica como você sabia que o avahi é a causa da "queda da rede", em oposição a essa mensagem de log ser um sintoma . Veja também unix.stackexchange.com/a/271412/29483
sourcejedi
@sourcejedi Os sintomas da pesquisa "network down down randomly" apontam para placas relacionadas ao Ubuntu que fazem referência a esse problema, e a maioria das pessoas menciona avahi como o problema. link
halfer 19/03/17
Link errado, apesar de não discutir sobre isso. Nem sobre a frase de pesquisa que não mostra nenhum resultado para mim, pelo menos dos dez primeiros. Pelo que você escreveu, só posso deduzir que você não testou a remoção do avahi. Engraçado, porém, pesquisar "Retirando o registro de endereço" me dá vários resultados sobre "a rede cair aleatoriamente" resolvida como erros no hardware, nenhum no avahi. 2) O link archive.org em Q mostra "Nenhum resultado encontrado" para mim. 3) que "não funciona para mim" se aplica à sua terceira solução ?, a implicação é que o resultado foi o mesmo que o nº 1, mas não está 100% claro.
sourcejedi
AFAICT A resposta de Barton é escrita sob o pressuposto de que sua terceira solução causa algum erro apenas com a resolução / descoberta avahi / MDNS / bonjour e não causa o problema "conexão de rede [inoperante]". Portanto, seria muito bom esclarecer os sintomas que você vê quando tentou aplicar a terceira solução!
sourcejedi
Nos seus trabalhos, por exemplo, suspeito que você tenha visto a resposta aqui . Observe que a resposta não menciona explicitamente falhas na rede e o solicitante não aceitou a resposta nem disse nada sobre o que aconteceu a seguir.
sourcejedi

Respostas:

1

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 .localvocê 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

Barton Chittenden
fonte
Votado por sugerir que o Avahi possui um bug de tal forma que a "incompatibilidade" faz com que a interface da rede fique offline em intervalos aleatórios, porque essa é uma concepção errônea que parece estar se espalhando, sem nenhuma evidência específica.
sourcejedi
1
Estou usando avahi para anunciar o AirPlay e AirPrint serviço de dispositivos e software da Apple
halfer
1

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?

halter
fonte
Windows / Samba não atribui um significado especial a ".local". (É possível usar .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!
sourcejedi