Lion resolviendo nombres DNS al consultar directamente al servidor, pero no cuando se usa en un comando o aplicación

1

Recientemente (como hace unos minutos) agregué registros de nombre de host e inverso (A y PTR) para un nombre de host en mi red interna, usando un servidor DNS de Bind. Por alguna razón, puedo tanto dig como nslookup este nuevo nombre correctamente, pero ping y mis aplicaciones GUI no pueden resolver el nombre.

Intenté vaciar el caché de DNS en mi máquina local con dscacheutil -flushcache sin ningún efecto.

Aquí hay un ejemplo de mi sesión (nombres, IP cambiadas por seguridad):

$ 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? De acuerdo, estoy seguro de que mi DNS está configurado correctamente:

$ 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

¿Por qué mi sistema demuestra este extraño comportamiento de resolución de DNS?

Como nota al margen, el DNS funciona bien de otra manera en mi sistema. En este momento, este nuevo nombre de host es el único que tengo problemas para resolver. Mi sistema está configurado para usar el servidor DNS 10.0.0.2 como primario.

EDIT

Matar a mDNSResponder solucionó este problema ... pero ¿por qué?

    
pregunta Mikey T.K. 01.07.2013 - 22:57

2 respuestas

2
  

Matar a mDNSResponder solucionó este problema ... pero ¿por qué?

¡Porque has vaciado el caché de DNS local!

enlace

Un comando de búsqueda directa consultará directamente al servidor DNS, sin embargo, el mecanismo de resolución para cualquier otra cosa es que mDNSResponder proceso que mataste.

dscacheutil -flushcache está en desuso según la KB.

    
respondido por el qzyphus 06.06.2014 - 16:34
1

De man nslookup y man dig:

  

AVISO DE Mac OS X

     

El comando nslookup no usa el nombre de host y   resolución de direcciones o los mecanismos de enrutamiento de consultas DNS utilizados por otros   procesos que se ejecutan en Mac OS X. Los resultados de las consultas de nombre o dirección   impreso por nslookup puede diferir de los encontrados por otros procesos   que utilizan los mecanismos de resolución de direcciones y nombres nativos de Mac OS X.   Los resultados de las consultas de DNS también pueden diferir de las consultas que utilizan el   Biblioteca de enrutamiento DNS de Mac OS X.

man host tiene el mismo aviso. Sin embargo, ping no lo hace.

Más información y posible solución aquí:

Las búsquedas de DNS fallan con e.g. 'ping', pero trabaja con 'host'

    
respondido por el AllInOne 01.07.2013 - 23:15

Lea otras preguntas en las etiquetas