У меня есть HTPC / Media Server на базе Ubuntu 16.04 , работающий 24/7 . Насколько я помню, используя официальный дистрибутив Ubuntu, у меня всегда были проблемы с avahi-daemon . Проблема довольно часто обсуждается в Интернете. Некоторые люди решают просто удалить демона, однако мне это действительно нужно, так как я использую сервер CUPS и использую Kodi в качестве приемника AirPlay.
Проблема
mDNS / DNS-SD по своей сути несовместимы с одноадресными DNS-зонами .local . Мы настоятельно рекомендуем не использовать Avahi или nss-mdns в такой конфигурации сети. Примечание: nss-mdns обычно не входит в комплект Avahi и требует отдельной загрузки и установки. (avahi.org)
Симптомы просты - примерно через 2-4 дня бездействия сетевое соединение обрывается, и это регистрируется
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.
Сеть будет идти обратно без проблем , если вы физически подключиться к Ethernet разъема, или если вы подключите программное обеспечение на сторону.
Возможные решения
В официальной вики перечислены три решения, которые не работают с июня 2016 года , поэтому я предоставляю ссылку на не прямую ссылку archive.org
1.) Отредактируйте /etc/nsswitch.conf из
"hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4"
в
hosts: files dns mdns4
2.) Изменить /etc/avahi/avahi-daemon.conf
от
domain-name=.local
в
domain-name=alocal
3.) «Попросить администратора переместить зону .local» (как сказано в вики)
Что я сделал
Первое решение не явился на работу для меня - демон по- прежнему работает, однако, сеть будет идти вниз точно так же , как и раньше (чтобы быть справедливым, на вики это действительно говорит , « У нашего M ileage M ау V ичных»)
Второе решение приводит к тому , демон, казалось бы функционировать должным образом (ничего плохого , если вы посмотрите на журналы) , но устройства IOS не «видеть» машину в качестве принтера или AirPlay (ресивера, а также ITunes на моей машине Windows)
Третье решение сложно, потому что я не очень хорошо разбираются в «тонкостях» о том , как функционирует сеть; и я не уверен, что я действительно попробовал это. Вот что я имею в виду: на моем маршрутизаторе Asus под управлением Asuswrt-Merlin я вошел в подкатегорию настроек / LAN / DHCP Server / Basic Config. Там я установил « Доменное имя RT-AC68U » как «lan» (доменное имя, которое я посоветовал в Интернете, потому что оно не конфликтует ни с чем, в отличие от «локального»). Насколько я понимаю, это то, что означает « перемещение локальной зоны ». Если это на самом деле правильно, то это решение не работает и для меня.
Заключение
Так что я должен делать? Я борюсь с этой проблемой уже более 4 месяцев, и каждый ответ в Интернете сводится к тем, которые я уже пробовал; честно говоря, я полностью потерян. Заранее спасибо!
Ответы:
Я думаю, что третье решение - это путь, когда у вас есть доступ к конфигурации маршрутизатора. Я попытался бы установить «Доменное имя RT-AC68U» пустым.
Следующее, что я хотел бы сделать, это запустить что-то вроде wireshark и наблюдать за пакетами, отправленными и полученными avahai-daemon, а также за любыми пакетами, отправленными с любого доменного имени, заканчивающегося на
.local
…, если что-то кроме avahai устанавливает LAN доменные имена.local
вы найдете там.Также возможно, что проблема в чем-то совершенно другом, и Wireshark может сказать вам и это.
Если вы используете Avahai исключительно для назначения доменных имен компьютерам в вашей сети, вы можете вместо этого использовать dnsmasq. Вы можете запустить его на своем маршрутизаторе RT-AC88U или на своем компьютере с Ubuntu (на самом деле он, вероятно, уже работает на вашем компьютере с Ubuntu, и вам просто нужно настроить файл конфигурации).
Документация по настройке dnsmasq под Asus-Merlin
источник
Поэтому я попытался изменить параметр «host-name» в «avahi-daemon.conf» на что-то, что не является именем хоста машины, и я работал без проблем 2 недели. Может быть, это связано с тем, что на компьютере также запущены samba и Windows, использующие домен «.local» для своих собственных целей?
источник
.
s в netbios для некоторых целей). avahi по умолчанию включен в Ubuntu / Fedora, и я никогда не видел предупреждение о запуске Samba в то же время. Я не могу себе представить, почему avahi-daemon включает в себя любой код, который устанавливает адреса интерфейса или статус. Спасибо, что вернулись с результатами теста, я надеюсь, что установка продолжит работать!