(Для ясности я использовал «uDNS» в этом посте при обращении к одноадресному DNS на основе сервера.)
Можно отметить три проблемы:
dig
программа диагностики DNS Он использует uDNS и только uDNS, полностью игнорируя параметры разрешения имен, настроенные вnsswitch.conf
, следовательно, это неправильный инструмент для использования при отладке Avahi mDNS.Используйте
getent ahosts
вместо этого, который использует ту жеgetaddrinfo()
процедуру, что и обычные программы.Если uDNS имеет приоритет, когда вы пытаетесь разрешить существующее имя mDNS, это может означать, что ваше имя
nsswitch.conf
неправильно настроено (хотя в Fedora это случается редко). У вас должен быть mDNS - хотя бы один изmdns
илиmdns_minimal
- ранееdns
в строке "hosts"; например:hosts: files mdns_minimal [NOTFOUND=return] dns mdns myhostname
Используемый вами сервер uDNS
205.171.3.25
akaresolver.qwest.net
выполняет перенаправление «ловить все». Другими словами, если вы попытаетесь найти несуществующее имя, вместо NXDOMAIN вы получите адрес для заполненной рекламой страницы Qwest «Предложения веб-сайтов». (Это можно увидеть, открыв любой из возвращенных IP-адресов в вашем браузере.)Qwest применяет эту сомнительную практику, утверждая, что «улучшает качество обслуживания клиентов», и вы можете отказаться . (Или переключитесь на другой DNS-сервер, такой как Google Public DNS.)