problèmes de domaine avahi-daemon et «.local»

12

J'ai un serveur HTPC / Media basé sur Ubuntu 16.04 qui fonctionne 24/7 . Pour autant que je me souvienne d'avoir utilisé une distribution officielle d'Ubuntu, j'ai toujours eu des problèmes avec le démon avahi . La question est assez souvent discutée en ligne. Certaines personnes décident de supprimer simplement le démon, cependant, j'en ai réellement besoin car j'utilise un serveur CUPS et j'utilise Kodi comme récepteur AirPlay.

Le problème

mDNS / DNS-SD est intrinsèquement incompatible avec les zones DNS unicast .local . Nous vous recommandons fortement de ne pas utiliser Avahi ou nss-mdns dans une telle configuration réseau. NB: nss-mdns n'est généralement pas fourni avec Avahi et nécessite un téléchargement et une installation séparés. (avahi.org)

Les symptômes sont simples - après environ 2 à 4 jours de disponibilité, la connexion réseau sera coupée et celle-ci sera enregistrée

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.

Le réseau remontera sans problème si vous reconnectez physiquement la prise Ethernet ou si vous vous reconnectez côté logiciel.

Solutions possibles

Il y a trois solutions répertoriées sur le wiki officiel, qui ne fonctionne plus depuis ce qui semble être juin 2016 , donc je fournis un lien archive.org non direct

1.) Modifiez /etc/nsswitch.conf depuis

"hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4"

à

hosts: files dns mdns4

2.) Modifiez /etc/avahi/avahi-daemon.conf

de

domain-name=.local

à

domain-name=alocal

3.) "Demandez à l'administrateur de déplacer la zone .local" (comme dit sur le wiki)

Ce que j'ai fait

La première solution ne semble pas fonctionner pour moi - le démon fonctionne toujours, cependant, le réseau descendra de la même manière qu'auparavant (pour être honnête, sur le wiki, il dit " Y our M ileage M ay V ary")

La deuxième solution fait que le démon fonctionne apparemment correctement (rien de mal si vous regardez les journaux) mais les appareils iOS ne "voient" pas la machine comme une imprimante ou un récepteur AirPlay (ainsi qu'iTunes sur ma machine Windows)

La troisième solution est délicate, car je ne connais pas bien les «tenants et aboutissants» du fonctionnement d'un réseau; et je ne suis pas sûr de l'avoir essayé. Voici ce que je veux dire: sur mon routeur Asus exécutant Asuswrt-Merlin, je suis entré dans une sous-catégorie de paramètres / LAN / DHCP Server / Basic Config. Là, j'ai défini " Nom de domaine de RT-AC68U " comme "lan" (un nom de domaine que j'ai vu conseillé sur le Web, car il n'entre en conflit avec rien, contrairement à "local"). Autant que je puisse comprendre, c'est ce que signifie " déplacer la zone locale ". Si c'est en fait correct, cette solution ne fonctionne pas aussi pour moi.

Conclusion

Donc qu'est ce que je devrais faire? Je me bats avec ce problème depuis plus de 4 mois maintenant, et chaque réponse en ligne se résume à celles que j'ai déjà essayées; franchement, je suis complètement perdu. Merci d'avance!

licou
la source
Cela n'explique pas comment vous saviez qu'avahi est la cause de "la panne du réseau", contrairement à ce message de journal qui est un symptôme . Voir aussi unix.stackexchange.com/a/271412/29483
sourcejedi
@sourcejedi Les symptômes de recherche "réseau descendant au hasard" pointent vers des cartes liées à Ubuntu qui font référence à ce problème, et la plupart des gens mentionnent avahi comme étant le problème. link
halfer
Mauvais lien, même si je ne vais pas en discuter. Ni que cette expression de recherche ne montre pas un tel résultat pour moi, du moins sur les 10 premiers. D'après ce que vous avez écrit, je ne peux que déduire que vous n'avez pas testé la suppression de avahi. Drôle cependant, la recherche de "Retrait de l'enregistrement d'adresse" me donne plusieurs résultats sur le "réseau qui tombe au hasard" résolus comme des erreurs dans le matériel, aucun dans avahi. 2) Le lien archive.org dans Q affiche "Aucun résultat trouvé" pour moi. 3) qui "ne fonctionne pas pour moi" s'applique à votre troisième solution?, L'implication est que le résultat était le même que pour le n ° 1, mais ce n'est pas clair à 100%.
sourcejedi
AFAICT La réponse de Barton est écrite en supposant que votre troisième solution provoque une erreur avec la résolution / découverte avahi / MDNS / bonjour uniquement, et ne provoque pas le problème de "connexion [réseau] en panne". Il serait donc vraiment bon de clarifier les symptômes que vous voyez lorsque vous avez essayé d'appliquer la troisième solution!
sourcejedi
Dans vos voyages, par exemple, je soupçonne que vous avez vu la réponse ici dans vos voyages. Notez que la réponse ne mentionne pas explicitement les pannes de réseau, et le demandeur n'a pas accepté la réponse ou n'a rien dit du tout sur ce qui s'est passé ensuite.
sourcejedi

Réponses:

1

Je pense que la troisième solution est la voie à suivre lorsque vous avez accès à la configuration du routeur. J'essaierais de régler le "Nom de domaine du RT-AC68U" sur blanc.

La prochaine chose que je ferais serait d'exécuter quelque chose comme Wirehark, et de regarder les paquets envoyés et reçus par avahai-daemon, ainsi que tous les paquets envoyés depuis et vers tout nom de domaine se terminant par .local... si autre chose qu'avahai définit LAN noms de domaine, .localvous y trouverez.

Il est également possible que le problème soit tout à fait différent, et Wirehark pourrait également vous le dire.

Si vous utilisez Avahai entièrement dans le but d'attribuer des noms de domaine aux machines de votre réseau, vous pourriez envisager d'utiliser dnsmasq à la place. Vous pouvez l'exécuter à partir de votre routeur RT-AC88U, ou à partir de votre boîte Ubuntu (En fait, il fonctionne probablement déjà sur votre boîte Ubuntu, et vous aurez juste besoin de modifier le fichier de configuration).

Documentation pour configurer dnsmasq sous Asus-Merlin

Barton Chittenden
la source
Dévoté pour avoir suggéré qu'Avahi a un bogue tel que "l'incompatibilité" l'amène à mettre l'interface réseau hors ligne à intervalles aléatoires, car il s'agit d'une conception erronée qui semble se propager, sans aucune preuve spécifique à sa source.
sourcejedi
1
J'utilise avahi pour annoncer le service AirPlay et AirPrint aux appareils et logiciels Apple
halter
1

J'ai donc essayé de changer le paramètre "host-name" dans "avahi-daemon.conf" en quelque chose qui n'est pas le nom d'hôte des machines, et j'ai couru 2 semaines sans aucun problème. Peut-être que cela avait à voir avec la machine exécutant également samba et Windows en utilisant le domaine ".local" à ses propres fins?

licou
la source
Windows / Samba n'attribuent pas de signification particulière à ".local". (Il est cependant possible d'utiliser .s dans netbios dans un certain but). avahi est activé par défaut sur ubuntu / fedora, et je n'ai jamais vu d'avertissement concernant l'exécution de samba en même temps. Je ne peux pas imaginer pourquoi avahi-daemon inclurait un code qui définit les adresses d'interface ou le statut. Merci d'être revenu avec votre résultat de test, j'espère que la configuration continuera de fonctionner à partir de maintenant!
sourcejedi