97 votos

DNS no resuelven en Mac OS

Algunos de mis compañeros de trabajo que están teniendo problemas en sus Macs - resolución de DNS no funciona en Mac OS. Están con Snow Leopard 10.6.8. Se puede utilizar DNS en Windows 7 máquina virtual (VMware Fusion 3.1.3) se ejecuta en OS X. Los equipos son de 15", MacBook pro, a principios de 2011 modelo.

Cosas que he probado que no han funcionado:

  • girando el aeropuerto de encendido/apagado
  • reiniciar
  • mediante conexión por cable en vez de wifi
  • eliminar credenciales de conexión y agregarlo de nuevo
  • desactivar firewall de Mac
  • fija con IP estática
  • ajustar manualmente la configuración de los servidores DNS
  • reiniciar mDNSResponder
  • las revisiones de esta otra pregunta

EDITAR la respuesta de Martín respuesta:

Puede hacer ping a los DNS que desea usar?

$ ping apple.com
ping: cannot resolve apple.com: Unknown host

¿Cuáles son las direcciones IP de los DNS(s) que desea utilizar?

Esta es una empresa de servidor DNS que se da con DHCP, funciona bien para otras personas. También he intentado de Google 8.8.4.4 y 205.171.3.65 (que he encontrado de GRC DNS de Referencia a ser el más rápido).

¿Has intentado usar 8.8.8.8 (google) o cualquiera de los de OpenDNS 208.67.222.222 o 208.67.220.220?

No funciona, ver google chrome salida:

El servidor en www.apple.com no puede ser encontrado, porque el DNS error en la búsqueda. DNS es el servicio de red que se traduce en un sitio web el nombre de su dirección de Internet. Este error es causado con mayor frecuencia por no tener conexión a Internet o un mal configurado la red. También puede ser causada por un servidor DNS no responde o un firewall que impide que Google Chrome acceder a la red.

Puede hacer ping a los anfitriones?

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from
8.8.8.8: icmp_seq=0 ttl=58 time=3.925 ms

la creación de un usuario en blanco

Una cuenta de usuario invitado fue creado, el problema de DNS todavía estaba allí cuando se utiliza la cuenta de invitado.

nslookup y cavar ambos funcionan bien

$ nslookup www.apple.com 8.8.8.8
Server:  8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
www.apple.com canonical name = www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net canonical name = www.apple.com.edgekey.net.
www.apple.com.edgekey.net canonical name = e3191.c.akamaiedge.net.
Name: e3191.c.akamaiedge.net
Address: 184.24.141.15

 

$ dig @8.8.8.8 www.apple.com
; <<>> DiG 9.6.0-APPLE-P2 <<>> @8.8.8.8 www.apple.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11298
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION: ;www.apple.com.   IN A
;; ANSWER SECTION:
www.apple.com.  1041 IN CNAME www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net. 38 IN CNAME www.apple.com.edgekey.net.
www.apple.com.edgekey.net. 8794 IN CNAME e3191.c.akamaiedge.net.
e3191.c.akamaiedge.net. 17 IN A 184.24.141.15
;; Query time: 4 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Oct 4 09:25:28 2011
;; MSG SIZE  rcvd: 158

también vaciar la caché de DNS fue hecho, pero eso no ayuda

sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

EDIT 2:

$ cat /etc/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
domain {redacted}.com
nameserver 8.8.8.8
nameserver 208.67.222.222

87voto

Robin Robinson Puntos 1031

Resulta que la solución fue de rebote mDNSResponder:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Este fue obtenido por un compañero de trabajo de este Servidor Falla pregunta.

OS X 10.10.0 – 10.10.3, Yosemite

Al parecer, mDNSResponder no existe en Yosemite (OS X 10.10). Usted puede reiniciar descoveryd en lugar de solucionar estos problemas.

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist

OS X 10.10.4+, Yosemite

En OSX 10.10.4 el mDNSResponder ha sido reintroducido. Así que utilice la primera de ellas va a trabajar de nuevo.

8voto

Paul Puntos 170

En realidad, creo que usted puede ser que desee utilizar

scutil --dns

scutil -r hostname

Estos comandos se utiliza la dinámica de la tienda en configd, en contraposición a la flatfiles en /etc, que a menudo son sólo de lectura en modo de usuario único y no a los sistemas en red.

man scutil   # or

scutil --help  

6voto

gbakken Puntos 56

He experimentado el mismo problema... Y al reiniciar mDNSResponder parece "trabajo", que reiniciarlo un par de veces cada hora de clase de mierda.

Así que, por ahora, he "solucionado" el problema mediante la ejecución de dnsmasq localmente. Para hacerlo:

  • Construir dnsmasq (descargar el tgz y make o brew install dnsmasq)
  • Poner esto en un dnsmasq.conf archivo:
resolv-file=resolv.conf
usuario=nadie
grupo=nadie
interface=lo0
cache-size=1024
  • Poner esto en un resolv.conf archivo que está en el mismo directorio que el dnsmasq.conf archivo (nb: no /etc/resolv.conf):
nameserver 8.8.8.8
servidor de nombres 4.2.2.1
servidor de nombres 4.2.2.2
  • Ejecutar dnsmasq con sudo dnsmasq --no-daemon --log-queries -C dnsmasq.conf. El resultado debe ser algo como:
...
dnsmasq: lectura resolv.conf
dnsmasq: el uso de servidor de nombres 4.2.2.1#53
dnsmasq: el uso de servidor de nombres 4.2.2.2#53
dnsmasq: el uso de nameserver 8.8.8.8#53
dnsmasq: leer /etc/hosts - 6 direcciones
  • Abra Preferencias de Red y asegúrese de que 127.0.0.1 es el único servidor DNS (red de preferencias -> avanzado -> DNS -> agregar 127.0.0.1)

Las cosas deben comenzar a funcionar bien de nuevo.

Una vez que las cosas están funcionando, puede ejecutar dnsmasq sin --no-daemon y --log-queries opciones, por lo que se iniciará en segundo plano y no es necesario para mantener una ventana de Terminal abierto.

5voto

UnkwnTech Puntos 21942

La resolución de nombres bajo OSX (y UNIX en general) es tomado de las direcciones IP de los Dns en el archivo ubicado en /etc/resolv.conf (que OS X genera automáticamente tan lejos como puedo recordar).

Puesto que usted ha intentado prácticamente cualquier cosa que viene a mi mente, me gustaría preguntarle:

  • Puede hacer ping a los DNS que desea usar?
  • ¿Cuáles son las direcciones IP de los DNS(s) que desea utilizar?
  • Has probado a utilizar 8.8.8.8 (google) o cualquiera de los de OpenDNS 208.67.222.222 o 208.67.220.220?
  • Puede hacer ping a los anfitriones?

Finalmente, por lo general un buen test consiste en la creación de un usuario en blanco y ver si ese nuevo usuario presenta el mismo problema. Si no, entonces usted puede comenzar a excavar lo que su usuario tenga que podría estar causando el problema; si también falla, entonces usted sabe que esto es algo más "sistema" relacionados.

También eche un vistazo alrededor de la Consola para ver si puede detectar algo que puede estar relacionado con el (y quiere pegar por aquí).

Por último, pero no menos importante, el Mac viene con dos importantes DNS de comandos, nslookup y dig.

Así que para resolver www.apple.com el uso de un servidor de google, debes escribir:

nslookup "host para resolver" "servidor DNS a utilizar". E. g.:

$ nslookup www.apple.com 8.8.8.8
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
www.apple.com   canonical name = www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net    canonical name = www.apple.com.edgekey.net.
www.apple.com.edgekey.net   canonical name = e3191.c.akamaiedge.net.
Name:   e3191.c.akamaiedge.net
Address: 184.24.141.15

NSLookup es un antiguo comando (que se supone que iba a ser obsoleto hace algunos años y se sustituye por EXCAVAR, pero su facilidad de uso de la sintaxis era demasiado bueno para matar, supongo.), su "reemplazo" dig, una mucho más potente comando, cuya sintaxis es más loco.

Para realizar la misma consulta, debes escribir:

dig @8.8.8.8 www.apple.com

Y aquí está el resultado:

$ dig @8.8.8.8 www.apple.com

; <<>> DiG 9.7.3 <<>> @8.8.8.8 www.apple.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17356
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

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

;; ANSWER SECTION:
www.apple.com.      1782    IN  CNAME   www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net. 42 IN CNAME   www.apple.com.edgekey.net.
www.apple.com.edgekey.net. 21581 IN CNAME   e3191.c.akamaiedge.net.
e3191.c.akamaiedge.net. 2   IN  A   184.24.141.15

;; Query time: 26 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Oct  3 21:21:49 2011
;; MSG SIZE  rcvd: 158

Como se puede ver, cavar, es mucho más "verbose" (lo cual es bueno para depurar lo que está pasando). El poder de cavar viene del hecho de que usted puede especificar qué tipo de consulta que desea realizar (Entre otras cosas).

En cualquier caso, háganos saber la exacta salidas de estos comandos.

5voto

freezedpeanuts Puntos 51

Yo tenía el mismo exactamente los mismos síntomas (y pasar un rato de solución de problemas), pero yo era capaz de resolverlo cuando me di cuenta de que me equivocaba con /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist y lo que hice fue de alguna manera se interpreta como incorrecto. He restaurado una copia de seguridad y la máquina era capaz de resolver nombres de host de nuevo.

Antes de llegar a la solución, también me di cuenta de que yo era capaz de navegar por internet si utiliza un servidor proxy socks5 a través de "ssh -D" y trató de búsquedas de DNS a través del túnel.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by: