Лев вирішує імена DNS при запиті сервера безпосередньо, але не при використанні в команді або додатку


1

Нещодавно (як і в хвилинах тому) додано записи імені хосту і зворотного запису (A і PTR) для імені хоста в моїй внутрішній мережі, використовуючи сервер Bind DNS. З якоїсь причини я можу обидва dig і nslookup це нове ім'я успішно, але ping мої графічні програми не можуть вирішити ім'я.

Я спробував очистити кеш DNS на локальному комп'ютері за допомогою dscacheutil -flushcache без ефекту.

Ось приклад сеансу (імена, IP-адреси, змінені для безпеки):

$ nslookup newbox.internal
server     10.0.0.2
address    10.0.0.2#53

Name:    newbox.internal
Address: 10.1.1.1

$ ping newbox.internal
ping: cannot resolve newbox.internal: Unknown host

WTF? Гаразд, я впевнений, що мій DNS налаштований правильно, хоча:

$ dig newbox.internal

; <<>> DiG 9.8.3-P1 <<>> newbox.internal
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33812
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;newbox.internal.   IN  A

;; ANSWER SECTION:
newbox.internal. 21600 IN   A   10.1.1.1

;; AUTHORITY SECTION:
internal.       10800   IN  NS  dns001.internal.
internal.       10800   IN  NS  dss001.internal.
internal.       10800   IN  NS  dhdns001.internal.
internal.       10800   IN  NS  dhdns002.internal.

;; ADDITIONAL SECTION:
dns001.internal. 10800 IN   A   10.0.0.2
dns002.internal. 10800 IN   A   10.0.0.3
dhdns001.internal. 10800 IN A   10.0.0.20
dhdns002.internal. 10800 IN A   10.0.0.21

;; Query time: 1 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Mon Jul  1 14:43:35 2013
;; MSG SIZE  rcvd: 245

Чому моя система демонструє цю незвичайну поведінку DNS-розв'язувача?

Як бічна примітка, DNS працює нормально в іншому випадку в моїй системі. Наразі це нове ім’я хоста є єдиним, з яким я не можу вирішити проблему. Моя система налаштована на використання DNS-сервера 10.0.0.2 як основного.

EDIT

Вбивство mDNSResponder виправлено це питання .. але чому?

Відповіді:


2

Вбивство mDNSResponder виправлено це питання .. але чому?

Тому що ви скинули локальний кеш DNS!

http://support.apple.com/kb/ht5343

Команда прямого пошуку запитає DNS-сервер безпосередньо, однак механізм розв'язання для будь-якого іншого полягає в тому, що процес mDNSResponder ви убили.

dscacheutil -flushcache застаріли згідно з KB.


Я не знав, що це офіційний метод. Чистий, і спасибі за покажчик!
Mikey T.K.

1

З man nslookup і man dig:

ПРИМІТКА до Mac OS X

The nslookup команда не використовує ім'я хоста і   дозвіл адреси або механізми маршрутизації запитів DNS, що використовуються іншими   процеси, запущені на Mac OS X. Результати запитів на ім'я або адресу   друковані nslookup можуть відрізнятися від знайдених іншими процесами   які використовують рідну назву та механізми вирішення адрес Mac OS X.   Результати запитів DNS можуть також відрізнятися від запитів, які використовують   Бібліотека маршрутизації DNS для Mac OS X.

людина-господар має таке ж повідомлення. ping, однак, ні.

Більш детальну інформацію та можливе рішення тут:

Здійснення пошуку DNS не відбувається, наприклад, `ping`, але працювати з` host`

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.