iMac no puede resolver DNS (¿o encontrar ruta al host?) para algunos sitios, pero Windows sí.

iMac no puede resolver DNS (¿o encontrar ruta al host?) para algunos sitios, pero Windows sí.

En mi red doméstica tengo un par de PC con Windows que no tienen problemas conocidos con DNS, pero con mi iMac OSX tengo problemas para resolver un par de dominios aleatorios. Algunos dominios con los que tengo problemas son:

  • ehow.com
  • acerca de.com
  • servicionacionaldecompras.com

Además de mirar el/etc/hostsarchivo (que creo que está bien), ¿qué debo verificar en el iMac para detectar problemas asociados con DNS o qué herramientas debo usar para ayudar a diagnosticar el problema al que me enfrento?

Usando el comando dig obtengo:

; <<>> DiG 9.4.3-P3 <<>> @4.2.2.2 www.nationalshoppingservice.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3468
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.nationalshoppingservice.com. IN    A

;; ANSWER SECTION:
www.nationalshoppingservice.com. 14400 IN A 64.40.111.81

;; Query time: 86 msec
;; SERVER: 4.2.2.2#53(4.2.2.2)
;; WHEN: Tue Apr 12 18:22:42 2011
;; MSG SIZE  rcvd: 65

Después de probar algunas de las sugerencias, creo que DNS es el problema equivocado... cuando hice un ping a www.nationalshoppingservice.com, esto es lo que obtuve:

PING www.nationalshoppingservice.com (64.40.111.81): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
ping: sendto: No route to host
ping: sendto: No route to host

Entonces, ¿parece que el DNS se está resolviendo pero no se puede encontrar la ruta al host? ¿Que esta pasando aqui?

Respuesta1

La línea de comando será tu amiga. Primero, es posible que no tengas ningún problema de DNS. Primero debes determinar eso. La mejor herramienta para este trabajo es dig. Abra Terminal y escriba

dig @4.2.2.2 ehow.com

Los componentes de este comando:

dig          :   the command
@4.2.2.2     :   this tells dig where to ask.  We are specifically asking a
                 known provider in this case Level3.  You could easily put
                 8.8.8.8 (Google) or any other provider here.
ehow.com     :   the domain you wish to query for.

Obtendrá resultados como:

; <<>> DiG 9.7.2-P2 <<>> @4.2.2.2 ehow.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43699
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ehow.com.          IN  A

**;; ANSWER SECTION:
ehow.com.       118 IN  A   98.124.249.20**

;; Query time: 1 msec
;; SERVER: 4.2.2.2#53(4.2.2.2)
;; WHEN: Mon Apr 11 01:51:12 2011
;; MSG SIZE  rcvd: 42

La SECCIÓN DE RESPUESTAS es la parte importante. Si obtiene una respuesta, sabrá que su iMac está bien y que puede "obtener" acceso a ese dominio.

El siguiente paso es reemplazar @4.2.2.2 con la IP o el nombre de host de su servidor DNS habitual. Por lo general, esto se lo proporciona su ISP. Si obtiene la misma respuesta, entonces sabrá que DNS no es su problema y puede comenzar a buscar en otra parte. También debe realizar estas pruebas varias veces para asegurarse de obtener buenos tiempos de respuesta. Si alguna vez obtienes:

;; connection timed out; no servers could be reached

Entonces sabrás que no recibirás respuesta. Si esto sucede de forma intermitente, es posible que lo notes más en el iMac que en tus máquinas con Windows debido al almacenamiento en caché. En mi experiencia, he descubierto que las máquinas con Windows almacenan en caché las respuestas DNS por más tiempo que las Mac.

Respuesta2

Para solucionar problemas de DNS en Mac OS X, debe utilizar una herramienta de búsqueda de DNS tradicional de Unix como (elija uno:) host, digy nslookup, así como una herramienta moderna que llama a las API de búsqueda de DNS específicas de Mac OS X, como dns-sd -Q.

Las API de búsqueda de DNS a las que llaman la mayoría de las aplicaciones Cocoa se enrutan a través del mDNSResponderdemonio, lo que significa que si sus aplicaciones GUI tienen problemas de búsqueda de DNS, dns-sd -Qprobablemente le mostrarán lo mismo.

Las herramientas tradicionales de búsqueda de DNS de Unix utilizan un código de resolución de DNS de Unix más tradicional, lo que significa que pueden resolver cosas que las aplicaciones Cocoa no pueden (y viceversa).

Si puedes buscar algo con digpero no con dns-sd, entonces puedes intentar matar el mDNSResponderdemonio y dejar que launchdse reinicie automáticamente (descubrí que HUPping mDNSResponder no siempre es suficiente).

sudo killall mDNSResponder

Respuesta3

¿Tiene algún software de bloqueo de IP o algo similar instalado en su iMac?

Además, intente ingresar a Preferencias->Red->Avanzado->DNS y restablezca sus entradas DNS; deshacerse de los extraños.

Si eso no funciona, intente (temporalmente) crear una nueva cuenta en su iMac o inicie sesión en otra y vea si puede acceder a los sitios web desde allí.

Respuesta4

Para probar algo, puede ir a Preferencias->Red->Avanzado->DNS y agregar una entrada DNS para el DNS público 8.8.8.8 de Google. Si eso resuelve el problema, tendrá que averiguar qué configuración de DHCP utiliza su enrutador al entregar direcciones IP e información de DNS. Si su enrutador obtiene la información DNS de su ISP, entonces ese podría ser su problema, tal vez solo una respuesta lenta. No es necesario que utilice la configuración DNS de su ISP.

A menudo uso 8.8.8.8 para realizar pruebas, pero principalmente uso Opendns para mayor control.

Espero que ayude

información relacionada