У меня есть машина, которая не может разрешить имена хостов по mDNS:
### mDNS is working
$ avahi-resolve -n foo.local
foo.local 1.2.3.4
### NSS is configured to use mDNS
$ grep ^hosts /etc/nsswitch.conf
hosts: files mdns4_minimal [NOTFOUND=return] dns
### But something's not working in practice...
$ getent hosts foo.local # returns empty
Для предотвращения сомнения, getent hosts
возвращает успешные/корректные результаты оба для имен, которые определяются в /etc/hosts
и для имен, которые разрешены через одноадресную передачу DNS.
Перезагрузка разрешает проблему, но я хотел бы знать то, что идет неправильно/как, она может быть зафиксирована без перезагрузки.
По-видимому, libnss-mdns
нуждается в каком-то ударе, хотя я получаю впечатление от nsswitch.conf: существует ли демон, которого я должен перезапустить? это не должно быть необходимо.
У меня только что было это на 16,04 полях. Позор я потратил впустую часы, не понимая, что простое решение состоит в том, чтобы возвратить поле.
Из того, что я видел с bsd, что подозреваю сервис, который должен быть перезапущен, dbus. Ссылка для этого https://revprez.github.io/posts/2016-06-26-avahi-conquered.html