it-swarm.com.de

Probleme mit Avahi-Daemon- und ".local" -Domänen

Ich habe einen Ubuntu 16.04 basierten HTPC/Media Server, der 24/7 . Soweit ich mich erinnern kann, eine offizielle Ubuntu-Distribution verwendet zu haben, hatte ich immer Probleme mit dem Avahi-Daemon . Das Problem wird ziemlich oft online diskutiert. Einige Leute entscheiden sich dafür, nur den Daemon zu löschen. Ich benötige ihn jedoch tatsächlich, da ich einen CUPS-Server verwende und Kodi als AirPlay-Empfänger verwende.

Die Angelegenheit

mDNS/DNS-SD ist von Natur aus nicht mit Unicast-DNS-Zonen kompatibel .local . Wir empfehlen dringend, Avahi oder nss-mdns in einem solchen Netzwerk-Setup nicht zu verwenden. NB.: Nss-mdns wird normalerweise nicht mit Avahi gebündelt und erfordert einen separaten Download und eine separate Installation. (avahi.org)

Die Symptome sind einfach: Nach ca. 2-4 Tagen Betriebszeit wird die Netzwerkverbindung unterbrochen und dies wird protokolliert

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.

Das Netzwerk wird ohne Probleme wiederhergestellt , wenn Sie das Ethernet physisch wieder verbinden Stecker oder wenn Sie die Software-Seite wieder verbinden.

Mögliche Lösungen

Im offiziellen Wiki sind drei Lösungen aufgeführt, die seit scheinbar Juni 2016 nicht mehr funktionsfähig sind. Ich bin also Bereitstellung eines nicht direkten archive.org link

1.) Bearbeiten Sie /etc/nsswitch.conf von

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

zu

hosts: files dns mdns4

2.) Ändern Sie /etc/avahi/avahi-daemon.conf

von

domain-name=.local

zu

domain-name=alocal

3.) "Bitten Sie den Administrator, die .local-Zone zu verschieben" (wie im Wiki angegeben)

Was ich getan habe

Die erste Lösung schien bei mir nicht zu funktionieren - der Daemon funktioniert immer noch, das Netzwerk fällt jedoch aus auf die gleiche Weise wie zuvor (um fair zu sein, im Wiki heißt es sagt " [~ # ~] y [~ # ~] unsere [~ # ~] m [~ # ~] ileage [~ # ~] m [~ # ~] ay [~ # ~] v [~ # ~] ary ")

Die zweite Lösung bewirkt, dass der Dämon scheinbar richtig funktioniert (nichts Falsches, wenn Sie sich die Protokolle ansehen), aber das iOS Geräte können den Computer nicht als Drucker oder AirPlay-Empfänger (sowie iTunes auf meinem Windows-Computer) "sehen".

Die dritte Lösung ist schwierig, weil ich mich mit den "Ins and Outs" nicht gut auskenne Netzwerk funktioniert; und ich bin mir nicht sicher, ob ich es tatsächlich versucht habe. Folgendes meine ich: Auf meinem Asus Router läuft Asuswrt-Merlin Ich ging in eine Einstellungsunterkategorie/LAN/DHCP Server/Grundkonfiguration Dort habe ich " RT-AC68Us Domain Name " als "lan" festgelegt (ein Domainname, den ich im Web empfohlen habe, weil er nicht in Konflikt steht alles, im Gegensatz zu "lokal"). Soweit ich verstehen kann, bedeutet dies " Verschieben der lokalen Zone ". Wenn dies tatsächlich richtig ist, funktioniert diese Lösung auch bei mir nicht.

Fazit

Also was soll ich tun? Ich kämpfe seit über 4 Monaten mit diesem Problem, und jede Online-Antwort hängt von denen ab, die ich bereits ausprobiert habe. Ehrlich gesagt bin ich völlig verloren. Danke im Voraus!

12
halfer

Also habe ich versucht, den Parameter "Hostname" in "avahi-daemon.conf" in etwas zu ändern, das nicht der Hostname des Computers ist, und ich habe 2 Wochen ohne Probleme ausgeführt. Vielleicht hatte dies damit zu tun, dass auf dem Computer auch Samba und Windows ausgeführt wurden und die Domäne ".local" für eigene Zwecke verwendet wurde?

1
halfer

Ich denke, die dritte Lösung ist der richtige Weg, wenn Sie Zugriff auf die Routerkonfiguration haben. Ich würde versuchen, den "RT-AC68U Domain Name" auf leer zu setzen.

Als nächstes würde ich so etwas wie Wireshark ausführen und die vom Avahai-Daemon gesendeten und empfangenen Pakete sowie alle Pakete beobachten, die von und zu einem Domainnamen gesendet werden, der mit .local Endet ... falls etwas außer dass avahai LAN-Domainnamen auf .local setzt, finden Sie sie dort.

Es ist auch möglich, dass das Problem etwas ganz anderes ist, und wireshark könnte Ihnen das auch sagen.

Wenn Sie Avahai ausschließlich zum Zuweisen von Domänennamen zu Computern in Ihrem Netzwerk verwenden, können Sie stattdessen dnsmasq verwenden. Sie können es von Ihrem RT-AC88U-Router oder von Ihrer Ubuntu-Box aus ausführen (wahrscheinlich läuft es bereits auf Ihrer Ubuntu-Box, und Sie müssen nur die Konfigurationsdatei optimieren).

Dokumentation zum Einrichten von dnsmasq unter Asus-Merlin

1