Mam oparty na Ubuntu 16.04 serwer HTPC / Media Server, który działa 24 godziny na dobę, 7 dni w tygodniu . O ile pamiętam, używając oficjalnej dystrybucji Ubuntu, zawsze miałem problemy z demonem avahi . Problem ten jest często omawiany w Internecie. Niektóre osoby decydują się po prostu usunąć demona, jednak tak naprawdę go potrzebuję, ponieważ uruchamiam serwer CUPS i używam Kodi jako mojego odbiornika AirPlay.
Problem
mDNS / DNS-SD jest z natury niezgodny ze strefami DNS emisji pojedynczej .local . Zdecydowanie zalecamy, aby nie używać Avahi ani nss-mdns w takiej konfiguracji sieci. Uwaga: nss-mdns zazwyczaj nie jest dołączany do Avahi i wymaga osobnego pobrania i instalacji. (avahi.org)
Objawy są proste - po około 2-4 dniach bezczynności połączenie sieciowe zostanie zerwane i zostanie zarejestrowane
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.
Sieć wróci się bez problemów , jeśli fizycznie podłączyć wtyczkę Ethernet lub jeśli ponownie oprogramowanie siebie.
Możliwe rozwiązania
Istnieją trzy rozwiązania wymienione na oficjalnej wiki, które nie działają od czasu, co wydaje się być w czerwcu 2016 r. , Więc udostępniam bezpośredni link archive.org
1.) Edytuj /etc/nsswitch.conf z
"hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4"
do
hosts: files dns mdns4
2.) Zmodyfikuj /etc/avahi/avahi-daemon.conf
od
domain-name=.local
do
domain-name=alocal
3.) „Poproś administratora o przeniesienie strefy .local” (jak powiedziano na wiki)
Co ja zrobiłem
Pierwsze rozwiązanie nie wydaje się pracować dla mnie - demon nadal działa, jednak sieć będzie spadać w ten sam sposób jak poprzednio (aby być uczciwym, na wiki to mówi „ Y nasze M ileage M ay V ary”)
Drugie rozwiązanie powoduje, że demon pozornie funkcjonować prawidłowo (w tym nic złego, jeśli spojrzeć na kłody), ale urządzenia z iOS nie „widzi” urządzenie jako drukarkę lub odbiornik AirPlay (a także iTunes na moim komputerze z systemem Windows)
Trzecie rozwiązanie jest trudne, ponieważ nie jestem dobrze zorientowany w „tajniki” , w jaki sposób sieć funkcjonuje; i nie jestem pewien, czy rzeczywiście tego spróbowałem. Oto, co mam na myśli: na moim routerze Asus z Asuswrt-Merlin przeszedłem do podkategorii ustawień / LAN / DHCP Server / Basic Config. Tam ustawiłem „ RT-AC68U's Domain Name ” jako „lan” (nazwę domeny, którą widziałem w Internecie, ponieważ nie koliduje z niczym, w przeciwieństwie do „local”). O ile rozumiem, to właśnie oznacza „ przesunięcie strefy lokalnej ”. Jeśli jest to w rzeczywistości poprawne, to to rozwiązanie również nie działa dla mnie.
Wniosek
Więc co powinienem zrobić? Walczę z tym problemem od ponad 4 miesięcy i każda odpowiedź online sprowadza się do tych, które już wypróbowałem; szczerze mówiąc, jestem całkowicie zagubiony. Z góry dziękuję!
Odpowiedzi:
Myślę, że trzecie rozwiązanie jest odpowiednie, gdy masz dostęp do konfiguracji routera. Spróbowałbym ustawić „Nazwę domeny RT-AC68U” na pustą.
Następną rzeczą, którą bym zrobił, to uruchomić coś w rodzaju wireshark i obserwować pakiety wysyłane i odbierane przez avahai-daemon, a także wszelkie pakiety wysyłane zi do dowolnej nazwy domeny kończącej się na
.local
... jeśli coś innego niż avahai ustawia LAN nazwy domen, aby.local
je tam znaleźć.Możliwe jest również, że problem jest zupełnie inny, a wireshark może ci to powiedzieć.
Jeśli używasz Avahai wyłącznie w celu przypisywania nazw domen do komputerów w sieci, możesz zamiast tego rozważyć użycie dnsmasq. Możesz go uruchomić z routera RT-AC88U lub ze swojego systemu Ubuntu (w rzeczywistości prawdopodobnie działa już na twoim systemie Ubuntu i musisz tylko dostosować plik konfiguracyjny).
Dokumentacja do konfiguracji dnsmasq pod Asus-Merlin
źródło
Próbowałem więc zmienić parametr „nazwa-hosta” w „avahi-daemon.conf” na coś, co nie jest nazwą hosta maszyny, i działam 2 tygodnie bez żadnych problemów. Być może miało to związek z maszyną, na której uruchomiono także sambę i system Windows korzystający z domeny „.local” do własnych celów?
źródło
.
s w netbios do pewnego celu). avahi jest domyślnie włączony na Ubuntu / Fedora i nigdy nie widziałem ostrzeżenia o uruchomieniu samby w tym samym czasie. Nie mogę sobie wyobrazić, dlaczego avahi-demon miałby zawierać kod, który ustawia adresy interfejsów lub status. Dziękujemy za powrót z wynikiem testu. Mam nadzieję, że konfiguracja będzie działać od teraz!