nameserver портит avahi многоадресное разрешение имен домена .local

1596
Doug Coburn

После попытки пропинговать машину в моей локальной сети, я заметил, что я пытался попасть по адресу 66.152.109.24. Это внешний публичный адрес. Разрешение должно было произойти через avahi mDNS. Я запустил dig, чтобы увидеть, как работает разрешение имен, и мой сервер имен quest / centurylink перенастраивал результаты для моих запросов домена .local! Я попробовал случайное имя и получил тот же результат IP-адрес.

 $ dig jakdafj.local  ; <<>> DiG 9.8.1-P1-RedHat-9.8.1-3.P1.fc15 <<>> jakdafj.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58410 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0  ;; QUESTION SECTION: ;jakdafj.local. IN A  ;; ANSWER SECTION: jakdafj.local. 10 IN A 66.152.109.24 jakdafj.local. 10 IN A 204.232.231.46  ;; Query time: 104 msec ;; SERVER: 205.171.3.25#53(205.171.3.25) ;; WHEN: Sat Mar 24 20:40:17 2012 ;; MSG SIZE rcvd: 63 

Я что-то упустил или мой DNS-сервер на 205.171.3.25 поврежден?

1

1 ответ на вопрос

2
grawity

(Для ясности я использовал «uDNS» в этом посте при обращении к одноадресному DNS на основе сервера.)

Можно отметить три проблемы:

  1. digпрограмма диагностики DNS Он использует uDNS и только uDNS, полностью игнорируя параметры разрешения имен, настроенные в nsswitch.conf, следовательно, это неправильный инструмент для использования при отладке Avahi mDNS.

    Используйте getent ahostsвместо этого, который использует ту же getaddrinfo()процедуру, что и обычные программы.

  2. Если uDNS имеет приоритет, когда вы пытаетесь разрешить существующее имя mDNS, это может означать, что ваше имя nsswitch.confнеправильно настроено (хотя в Fedora это случается редко). У вас должен быть mDNS - хотя бы один из mdnsили mdns_minimal- ранее dns в строке "hosts"; например:

    hosts: files mdns_minimal [NOTFOUND=return] dns mdns myhostname 
  3. Используемый вами сервер uDNS 205.171.3.25aka resolver.qwest.netвыполняет перенаправление «ловить все». Другими словами, если вы попытаетесь найти несуществующее имя, вместо NXDOMAIN вы получите адрес для заполненной рекламой страницы Qwest «Предложения веб-сайтов». (Это можно увидеть, открыв любой из возвращенных IP-адресов в вашем браузере.)

    Qwest применяет эту сомнительную практику, утверждая, что «улучшает качество обслуживания клиентов», и вы можете отказаться . (Или переключитесь на другой DNS-сервер, такой как Google Public DNS.)