Lion risolve i nomi DNS quando si interrogano direttamente sul server, ma non quando viene usato in un comando o in un'app

1

Recentemente (come in pochi minuti fa) ho aggiunto un record hostname e reverse (A e PTR) per un nome host sulla mia rete interna, utilizzando un server Bind DNS. Per qualche ragione, posso sia dig che nslookup con successo questo nuovo nome, ma ping e le mie applicazioni GUI non possono risolvere il nome.

Ho tentato di svuotare la cache DNS sul mio computer locale con dscacheutil -flushcache senza alcun effetto.

Ecco un esempio della mia sessione (nomi, IP modificati per sicurezza):

$ 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? Ok, sono sicuro che il mio DNS sia impostato correttamente:

$ 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

Perché il mio sistema dimostra questo strano comportamento del resolver DNS?

Come nota a margine, DNS funziona correttamente altrimenti sul mio sistema. In questo momento, questo nuovo hostname è l'unico che ho difficoltà a risolvere. Il mio sistema è configurato per utilizzare il server DNS 10.0.0.2 come principale.

EDIT

Uccidere mDNSResponder ha risolto il problema ... ma perché?

    
posta Mikey T.K. 01.07.2013 - 22:57
fonte

2 risposte

2

Killing mDNSResponder fixed this issue.. but why?

Perché hai svuotato la cache DNS locale!

link

Un comando di ricerca diretta interroga direttamente il server DNS, tuttavia il meccanismo di risoluzione per qualsiasi altra cosa è il processo mDNSResponder che hai ucciso.

dscacheutil -flushcache è deprecato secondo il KB.

    
risposta data 06.06.2014 - 16:34
fonte
1

Da man nslookup e man dig:

Mac OS X NOTICE

The nslookup command does not use the host name and address resolution or the DNS query routing mechanisms used by other processes running on Mac OS X. The results of name or address queries printed by nslookup may differ from those found by other processes that use the Mac OS X native name and address resolution mechanisms. The results of DNS queries may also differ from queries that use the Mac OS X DNS routing library.

l'host uomo ha la stessa notifica. ping però no.

Maggiori informazioni e possibili soluzioni qui:

Le ricerche DNS non riescono con ad es. "ping", ma funziona con "host"

    
risposta data 01.07.2013 - 23:15
fonte

Leggi altre domande sui tag