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é?