Algunos de mis compañeros de trabajo tienen problemas con sus Macs: la resolución DNS no funciona en Mac OS X. Están ejecutando Snow Leopard 10.6.8. Pueden usar DNS en una máquina virtual con Windows 7 (VMware Fusion 3.1.3) que se ejecuta en OS X. Las computadoras son MacBook Pros de 15 ", modelo de principios de 2011.
Cosas que han intentado que no han funcionado:
- encender / apagar el aeropuerto
- reinicio
- usando conexión por cable en lugar de wifi
- eliminar credenciales de conexión y agregarlo nuevamente
- desactivar el firewall de Mac
- utilizando IP estática fija
- Configuración manual de servidores DNS
- reiniciar mDNSResponder
- las soluciones de esta otra pregunta
EDITAR respuesta Respuesta de Martín:
• ¿Puedes hacer ping al DNS que quieres usar?
$ ping apple.com
ping: cannot resolve apple.com: Unknown host
• ¿Cuál es / son las direcciones IP de los DNS que desea usar?
Este es un servidor DNS de la empresa que se proporciona con DHCP, funciona bien para otras personas. También probé los 8.8.4.4 y 205.171.3.65 de Google (que encontré en el DNS Benchmark de GRC como el más rápido).
• ¿Has probado usar 8.8.8.8 (google) o alguno de los OpenDNS 208.67.222.222 o 208.67.220.220?
No funciona, vea la salida de Google Chrome:
No se puede encontrar el servidor en www.apple.com porque la búsqueda de DNS falló. DNS es el servicio de red que traduce el nombre de un sitio web a su dirección de Internet. Este error suele deberse a que no tiene conexión a Internet o una red mal configurada. También puede ser causado por un servidor DNS que no responde o un firewall que impide que Google Chrome acceda a la red.
• ¿Puedes hacer ping a esos hosts?
$ 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
• crear un usuario en blanco
Se creó una cuenta de usuario invitado, el problema de DNS todavía estaba presente cuando se usaba 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 se limpió el caché de DNS pero no ayudó
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
EDITAR 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
Respuestas:
Resulta que la solución fue rebotar mDNSResponder:
Esto fue obtenido por un compañero de trabajo diferente de esta pregunta de Falla del servidor .
OS X 10.10.0 - 10.10.3, Yosemite
Aparentemente , mDNSResponder no existe en Yosemite (OS X 10.10). Puede reiniciar descoveryd en su lugar para solucionar estos problemas.
OS X 10.10.4+, Yosemite
En OSX 10.10.4 el mDNSResponder ha sido reintroducido . Así que use el primero funcionará nuevamente.
fuente
En realidad, creo que quizás quieras usar
Estos comandos usan el almacenamiento dinámico en configd, a diferencia de los archivos planos en / etc, que a menudo solo se leen en modo de usuario único y para sistemas no conectados en red.
fuente
La resolución de nombres bajo OSX (y UNIX en general) se toma de las direcciones IP de los DNS en el archivo ubicado en /etc/resolv.conf (que OS X genera automáticamente hasta donde puedo recordar).
Como has intentado prácticamente cualquier cosa que se me ocurra, me gustaría preguntarte:
Finalmente, una prueba generalmente buena consiste en crear un usuario en blanco y ver si ese nuevo usuario presenta el mismo problema. Si no es así, puede comenzar a cavar lo que tiene su usuario actual que podría estar causando el problema; si también falla, entonces sabes que esto es algo más relacionado con el "sistema".
También eche un vistazo a la consola para ver si puede detectar algo que pueda estar relacionado (y le gustaría pegar por aquí).
Por último, pero no menos importante, tu Mac viene con dos comandos DNS importantes,
nslookup
ydig
.Entonces, para resolver www.apple.com usando el servidor de Google, escriba:
nslookup "host para resolver" "servidor DNS para usar". P.ej:
NSLookup es un comando antiguo (que se suponía que estaba en desuso hace unos años y reemplazado por DIG, pero supongo que su sintaxis fácil de usar era demasiado buena para matar), su "reemplazo" es
dig
un comando mucho más poderoso, cuya sintaxis Es más loco.Para realizar la misma consulta, escribiría:
dig @ 8.8.8.8 www.apple.com
Y aquí está el resultado:
Como puede ver, cavar es mucho más "detallado" (lo cual es bueno para depurar lo que está pasando). El poder de la excavación proviene del hecho de que puede especificar qué tipo de consulta desea realizar (entre otras cosas).
En cualquier caso, háganos saber los resultados exactos de estos comandos.
fuente
He experimentado el mismo problema ... Y aunque reiniciar mDNSResponder parece "funcionar", reiniciarlo un par de veces cada hora es una mierda.
Entonces, por ahora, he "resuelto" el problema ejecutando dnsmasq localmente. Para hacer eso:
make
obrew install dnsmasq
)Pon esto en un
dnsmasq.conf
archivo:Ponga esto en un
resolv.conf
archivo que esté en el mismo directorio que eldnsmasq.conf
archivo (nb: not/etc/resolv.conf
):Corre
dnsmasq
consudo dnsmasq --no-daemon --log-queries -C dnsmasq.conf
. La salida debería verse algo así como:Abra Preferencias de red y asegúrese de que
127.0.0.1
sea el único servidor DNS (preferencias de red -> avanzado -> DNS -> agregar 127.0.0.1)Las cosas deberían comenzar a funcionar bien nuevamente.
Una vez que las cosas funcionan, puede ejecutar
dnsmasq
sin las opciones--no-daemon
y--log-queries
, por lo que comenzará en segundo plano y no necesita mantener abierta una ventana de Terminal.fuente
openconnect
comando en un script de Python, junto con comandos comonetworksetup -setdnsservers 127.0.0.1
ynetworksetup -setsearchdomains "$COMPANY_NAME".com
. ¡Agregue sudnsmasq
comando y todo está listo! Finalmente tengo una solución VPN estable gracias a este comentario.Tuve exactamente los mismos síntomas (y pasé un tiempo resolviendo problemas) pero pude resolverlo cuando me di cuenta de que me metí
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
y lo que hice fue interpretado de alguna manera como malformado. Restablecí desde una copia de seguridad y la máquina pudo resolver los nombres de host nuevamente.Antes de llegar a la solución, también me di cuenta de que podía navegar en Internet si usaba un proxy SOCKS5
ssh -D
e intentaba buscar DNS a través del túnel.fuente
com.apple.mDNSResponder.plist
! Lo hice como sugirió @TomThorogood. Tengo dificultades para volver. Incluso cuando puse el archivo de nuevo y reinicié, no pude obtener ninguna respuesta de Internet. Elsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
que ayudó.Tuve un problema muy, muy similar, excepto que los síntomas fueron ligeramente diferentes.
Mi usuario no pudo resolver ningún nombre (NAS local, Google, etc.) pero un usuario invitado en el mismo iMac (OS X 10.7.4) funcionó bien.
Vaciar y reiniciar mDNSResponder como se mencionó funcionó por un tiempo. Si bien seguiría funcionando cuando el iMac se pusiera en modo de suspensión, siempre fallará una vez que se reinicie.
Cuando el vaciado / reinicio dejó de funcionar, busqué otras razones / soluciones y descubrí que estaba relacionado con mi firewall. No sé qué estaba causando en mi configuración de firewall (OS X), pero si restauré la configuración del firewall funcionó.
Para restaurar la configuración predeterminada que utilicé:
Obviamente, cualquier regla personalizada se habrá eliminado con esta restauración.
Quería compartir mi versión de este problema, ya que me ha estado causando dolor durante meses y esta publicación es la mejor colección de soluciones posibles en la red.
fuente
Llegué a este problema en Yosemite (10.10). Resulta que un demonio clave
discoveryd
fue eliminado, ya que consumía demasiada CPU.Extrañamente reiniciar no hizo que se reiniciara.
Reinicié manualmente el servicio con:
Y ahora todo está bien.
fuente
Tengo el mismo problema con 10.6.8. El primer viaje a una Apple Store resultó en la restauración del sistema. Pero, después de eso, el DNS se rompió nuevamente mientras estaba en el extranjero y no tenía un DVD del sistema conmigo. En ese momento encontré este hilo y lo
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
eliminé por @freezedpeanuts y @Tom Thorogood.Solucionó el problema, pero, sorprendentemente, el DNS se rompió por tercera vez un par de días después. Busqué una imagen del sistema de 10.6.3 y:
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
de la imagen del sistema.sudo chown root /System/Library/LaunchDaemons/com.apple.mDNS*
Eso solucionó el problema.
Se rompe periódicamente para mí ahora (una vez al mes más o menos), y el procedimiento de restauración sigue los pasos anteriores, excepto que en lugar de reiniciar puede:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
fuente
Tenga en cuenta que si aún tiene problemas, es posible que deba eliminar los servidores DNS públicos hasta que se borre la memoria caché.
fuente
Aparentemente tuve el mismo problema que el OP. Usando la herramienta networksetup, descubrí que para el nombre de red dado, se configuró un DNS incorrecto:
enumeró 192.168.0.1 como DNS. Usando scutil --dns obtuve resultados comparables, enumerando que el resolutor # 2 usó el servidor de nombres [0]: 192.168.0.1.
Usando el comando
Pude reconfigurar el DNS para la red dada y resolver nombres de máquinas locales y globales cuando estaba conectado a la VPN.
fuente
En mi caso, todo lo demás estaba bien: mDNSResponder estaba funcionando y funcionando,
host
/nslookup
funcionó, ambos/etc/resolv.conf
ynetworksetup
reportaron los servidores DNS correctos, etc. A pesar de todo eso, la resolución DNS en general (por ejemplo, conping
) inevitablemente dejó de funcionar en algún momento unas horas después bota.Este problema específico puede ser algo improbable, pero de todos modos lo documentaré aquí como respuesta.
Solo noté cuando la máquina comenzó a disminuir la velocidad, pero había muchos procesos idénticos ejecutándose .
sensu-client
específicamente.Lo configuramos en launchd con este archivo plist:
La
-b
banderasensu-client
hace que se bifurque hacia el fondo, actuando como un demonio. Sin embargo, todolaunchd
lo que se ve es que el proceso original terminó, por lo que (de acuerdo con elKeepAlive
indicador) lo reinicia. Esto deja miles de procesos bifurcados en segundo plano, e incluso entonces launchd no será más sabio al hecho de que se está ejecutando.Creo que estos varios miles de procesos (todos
sensu-client
, el software para el que habíamos escrito una configuración de launchd) pueden haber estado haciendo solicitudes simultáneamente a mDNSResponder, resultando efectivamente en una denegación local de servicio de la caché DNS . Matar estos procesos y arreglar el plist dado a launchd eventualmente resolvió el problema.La solución de plist fue simplemente eliminar el
-b
indicador (background / daemonise) de la invocación sensu-client. Tenga en cuenta que esto no es culpa de sensu; Este plist fue escrito por un antiguo administrador del sistema de esta empresa.fuente
Aquí hay algunos comandos avanzados que pueden ayudar a solucionar el problema de DNS:
dig
para enumerar los servidores de nombres raíz.dig example.com
para ejecutar la búsqueda de DNS para elexample.com
dominio.networksetup -listallhardwareports
.ipconfig getpacket en0
.scutil --dns
.mDNSResponder
el proceso se está ejecutando por:ps wuax | grep mDNSResponder
.arp -ad
(soliciteman arp
ayuda). fuentePara depurar el
mDNSResponder
proceso, el siguiente comando puede ayudar:El comando anterior enviará una
SIGINFO
señal al proceso que volcará los detalles de depuración en la salida del registro que se puede leer y analizar.fuente
Apagar y volver a encender el Wi-Fi ayudó.
MacBook Pro con 10.9.1
Especialmente si apaga el wifi y luego reinicia. La demora adicional y el inicio sin conexión IP / red aseguran que la solicitud para volver a unirse a la red tenga mejores posibilidades de tener éxito.
fuente
Esto probablemente no ayudará a nadie, pero en caso de que accidentalmente hace algún tiempo creé un archivo en la carpeta, cuando un DNS estaba inactivo para un dominio en particular:
/ etc / resolver /
y esto impedía que un nombre específico se resolviera, dos años después.
fuente
Desafortunadamente, nada de esto me ayudó, y resultó después de una hora de tratar de resolverlo y golpear mi cabeza contra la mesa de café ... algo, de alguna manera, en algún lugar ... eliminó el
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
archivo, y fue la razón por la que tuve este problema.Me di cuenta de esto cuando vi este mensaje de error:
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist: No such file or directory
Aquí hay una copia de una versión de El Capitan: https://gist.github.com/tripflex/e7147690d1768dc74b1dd626614573c0
Aquí está el código de esa esencia:
fuente
Resulta que, para resolver el problema, debe configurar un dominio de búsqueda y agregarlo al campo de dominio de búsqueda en Configuración DNS de Preferencias del Sistema. Básicamente, el dominio de búsqueda funcionará de la manera que lo hace .local, pero en cambio lo será.
Debe configurar su dominio de búsqueda como zona maestra en su servidor dns para que esto funcione.
fuente
Tengo un problema similar con la búsqueda del servidor host. Tenemos 21 iMacs ejecutándose desde el servidor (El Capitan, actualizado recientemente) y solo uno no se vinculará. La solución suele ser bastante simple a través de Usuarios y Grupos en SysPref. Eliminar el servidor host y volver a vincular, encontrar el servidor disponible en la opción desplegable, pero por alguna razón desconocida el servidor aparece en la lista
unkown-00-00-12-34-56-78.home
, que he encontrado es la dirección MAC del servidor. Ejecuté esto en la terminal:y
¡volví a enlazar al servidor en SysPref y la opción correcta del nombre del servidor apareció brevemente y luego cambió de nuevo a "unkown-00-00-12-34-56-78.home" justo en frente de mis ojos!
fuente
Al seguir los comandos de la respuesta aceptada:
puede toparse con una advertencia:
Necesitas apagarlo. Toda la instrucción aquí: https://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/
fuente
En mi caso, tenía OpenDNS instalado en el pasado y no se eliminó limpiamente. Hubo varios procesos relacionados con dns en ejecución, como DNSdnscrypt-proxy. No pude forzar el cierre en Activity Monitor, pero pude evitar que se iniciaran al reiniciar eliminando el archivo .plist en Library / LaunchDaemons.
fuente
Vaya a Configuración -> Red -> Avanzado -> DNS. Luego, haga literalmente cualquier cambio en DNS (reordene sus entradas DNS, por ejemplo). Luego haga clic en "Aceptar" seguido de "Aplicar" en la siguiente pantalla. No se deje engañar pensando que el cambio particular que hizo fue significativo; Es la magia del botón "Aplicar".
fuente
Lo que funcionó para mí fue eliminar todas las entradas del servidor de los servidores DNS y los dominios de búsqueda de:
Preferencias del sistema → Red → Avanzado ... → DNS
fuente
Después de actualizar de Snow Leopard en un viejo Mac Book a Mountain Lion, el sistema no pudo resolver DNS. Enrojecimiento, reinicio, nada ayudó. Cambiar WiFi a un punto de acceso diferente (mi teléfono) ayudó.
Mountain Lion agrega un nuevo campo de cliente a la configuración de red DHCP. Llenar este campo parecía hacer feliz el punto de acceso wifi. Dejarlo en blanco significaba que no pasaba nada, a pesar de que la conexión wifi parecía tener éxito.
fuente