avahi-daemon dan masalah domain ".local"


12

Saya memiliki HTPC / Media Server berbasis Ubuntu 16.04 yang beroperasi 24/7 . Sejauh yang saya ingat menggunakan distro resmi Ubuntu, saya selalu punya masalah dengan avahi-daemon . Masalah ini cukup sering dibahas secara online. Beberapa orang memutuskan untuk hanya menghapus daemon, namun, saya benar-benar membutuhkannya karena saya menjalankan server CUPS dan menggunakan Kodi sebagai penerima AirPlay saya.

Masalah

mDNS / DNS-SD secara inheren tidak kompatibel dengan zona DNS unicast .local . Kami sangat menyarankan untuk tidak menggunakan Avahi atau nss-mdns dalam pengaturan jaringan seperti itu. NB: nss-mdns biasanya tidak dibundel dengan Avahi dan memerlukan unduhan dan pemasangan terpisah. (avahi.org)

Gejalanya sederhana - setelah sekitar 2-4 hari uptime koneksi jaringan akan turun dan ini akan dicatat

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.

The jaringan akan kembali naik tanpa masalah jika Anda secara fisik menyambung kembali plug Ethernet, atau jika Anda berhubungan kembali software-side.

Solusi yang memungkinkan

Ada tiga solusi yang terdaftar di wiki resmi, yang telah non-fungsional sejak Juni 2016 , jadi saya memberikan tautan archive.org tidak langsung

1.) Edit /etc/nsswitch.conf dari

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

untuk

hosts: files dns mdns4

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

dari

domain-name=.local

untuk

domain-name=alocal

3.) "Minta administrator untuk memindahkan zona lokal." (Seperti yang dikatakan di wiki)

Apa yang saya lakukan

The solusi pertama tampaknya tidak bekerja untuk saya - daemon masih bekerja, namun, jaringan akan turun dengan cara yang sama seperti sebelumnya (untuk menjadi adil, di wiki itu tidak mengatakan " Y kami M ileage M ay V ary")

The Solusi kedua menyebabkan daemon untuk tampaknya berfungsi dengan baik (tidak ada yang salah jika Anda melihat log) tetapi perangkat iOS gagal untuk "melihat" mesin sebagai printer atau penerima AirPlay (serta iTunes di mesin Windows)

The Solusi ketiga adalah rumit, karena aku tidak fasih di dalam "seluk beluk" bagaimana jaringan berfungsi; dan saya tidak yakin saya benar-benar mencobanya. Inilah yang saya maksud: pada Asus Router saya yang menjalankan Asuswrt-Merlin saya masuk ke subkategori pengaturan / LAN / DHCP Server / Basic Config. Di sana saya menetapkan " Nama Domain RT-AC68U " sebagai "lan" (nama domain yang saya lihat disarankan di web, karena tidak bertentangan dengan apa pun, tidak seperti "lokal"). Sejauh yang saya mengerti, itulah yang dimaksud dengan " memindahkan zona lokal ". Jika ini benar, maka solusi ini tidak bekerja untuk saya juga.

Kesimpulan

Jadi apa yang harus aku lakukan? Saya telah berjuang dengan masalah ini selama lebih dari 4 bulan sekarang, dan setiap jawaban online ada pada yang sudah saya coba; terus terang, saya benar-benar tersesat. Terima kasih sebelumnya!


Ini tidak menjelaskan bagaimana Anda tahu bahwa avahi adalah penyebab "jaringan turun", yang bertentangan dengan pesan log ini sebagai gejala . Lihat juga unix.stackexchange.com/a/271412/29483
sourcejedi

@sourcejedi Mencari gejala "jaringan turun secara acak" menunjuk ke papan terkait Ubuntu yang merujuk masalah ini, dan kebanyakan orang di sana menyebut avahi sebagai masalahnya. tautan
halfer

Tautan salah, meskipun saya tidak akan berdebat tentang itu. Atau tentang frasa pencarian yang tidak menunjukkan hasil seperti itu untuk saya, setidaknya dari yang pertama 10. Dari apa yang Anda tulis, saya hanya dapat menyimpulkan bahwa Anda belum mencoba menghapus avahi. Lucu juga, mencari "Penarikan catatan alamat" memberi saya beberapa hasil tentang "jaringan turun secara acak" diselesaikan sebagai kesalahan dalam perangkat keras, tidak ada dalam avahi. 2) tautan archive.org di Q menunjukkan "Tidak ada hasil yang ditemukan" untuk saya. 3) yang "tidak bekerja untuk saya" berlaku untuk solusi ketiga Anda? Implikasinya adalah hasilnya sama dengan # 1, tetapi tidak 100% jelas.
sourcejedi

AFAICT Jawaban Barton ditulis dengan asumsi bahwa solusi ketiga Anda menyebabkan beberapa kesalahan dengan avahi / MDNS / resolusi bonjour saja / penemuan, dan tidak menyebabkan masalah "jaringan [koneksi] turun". Jadi akan sangat baik untuk memperjelas gejala yang Anda lihat ketika Anda mencoba menerapkan solusi ketiga!
sourcejedi

Dalam kerja keras Anda, misalnya, saya menduga Anda telah melihat jawabannya di sini dalam kerja keras Anda. Perhatikan bahwa jawabannya tidak secara eksplisit menyebutkan kegagalan jaringan, dan penanya tidak menerima jawaban atau mengatakan apa pun tentang apa yang terjadi selanjutnya.
sourcejedi

Jawaban:


1

Saya pikir solusi ketiga adalah cara untuk pergi ketika Anda memiliki akses ke konfigurasi router. Saya akan mencoba mengatur "Nama Domain RT-AC68U" menjadi kosong.

Hal berikutnya yang akan saya lakukan adalah menjalankan sesuatu seperti wireshark, dan menonton paket yang dikirim dan diterima oleh avahai-daemon, serta paket yang dikirim dari dan ke nama domain yang diakhiri dengan .local... jika sesuatu selain avahai sedang mengatur LAN nama domain untuk .localAnda akan menemukannya di sana.

Mungkin juga bahwa masalahnya adalah sesuatu yang sama sekali berbeda, dan wireshark mungkin juga akan mengatakannya kepada Anda.

Jika Anda menggunakan Avahai sepenuhnya untuk tujuan memberikan nama domain ke mesin di jaringan Anda, Anda dapat mempertimbangkan menggunakan dnsmasq sebagai gantinya. Anda dapat menjalankannya dari perute RT-AC88U Anda, atau dari kotak Ubuntu Anda (Bahkan, itu mungkin sudah berjalan di kotak ubuntu Anda, dan Anda hanya perlu men-tweak file konfigurasi).

Dokumentasi untuk pengaturan dnsmasq di bawah Asus-Merlin


Turun karena menyarankan bahwa Avahi memiliki bug sehingga "ketidakcocokan" menyebabkannya mengatur antarmuka jaringan offline pada interval acak, karena ini adalah konsepsi yang keliru yang tampaknya menyebar, tanpa bukti spesifik yang bersumber untuk itu.
sourcejedi

1
Saya menggunakan avahi untuk mengiklankan layanan AirPlay dan AirPrint ke perangkat dan perangkat lunak Apple
halfer

1

Jadi saya mencoba mengubah parameter "nama host" di "avahi-daemon.conf" menjadi sesuatu yang bukan nama host mesin, dan saya sudah menjalankan 2 minggu tanpa masalah. Mungkin ini ada hubungannya dengan mesin yang juga menjalankan samba dan Windows menggunakan domain ".local" untuk keperluan itu sendiri?


Windows / Samba tidak memberikan arti khusus untuk ".local". (Namun dimungkinkan untuk menggunakan .s di netbios untuk beberapa tujuan). avahi diaktifkan secara default di ubuntu / fedora, dan saya belum pernah melihat peringatan tentang menjalankan samba secara bersamaan. Saya tidak bisa membayangkan mengapa avahi-daemon akan memasukkan kode apa pun yang menetapkan alamat atau status antarmuka. Terima kasih telah kembali dengan hasil tes Anda, saya harap pengaturan tetap berfungsi mulai sekarang!
sourcejedi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.