6 votos

Cómo es el DNS utilizados por los procesos individuales?

Al resolver el Fqdn o la máquina de nombres a direcciones IP de mi red local (miempresa.interna) puedo utilizar cavar en la línea de comandos (linux/mac) o nslookup (windows) para consultar el servidor configurado y obtener una respuesta. Pero tratando de entrar en el FQDN o incluso el nombre de la máquina en un comando ping o en un navegador web resultados en "Host Desconocido' o errores DNS. Aquí una muestra, esto desde el Mac:

mac:~ atroon$ dig server.mycompany.internal


; <<>> DiG 9.6.0-APPLE-P2 <<>>
server.mycompany.internal ;; global
options: +cmd ;; Got answer: ;;
->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5219 ;; flags: qr aa rd
ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0,
ADDITIONAL: 0

;; QUESTION SECTION:
;server.mycompany.internal.  IN A

;; ANSWER SECTION:
server.mycompany.internal. 1200 IN A 172.16.254.36

;; Query time: 0 msec ;; SERVER:
172.16.254.8#53(172.16.254.8) ;; WHEN: Wed Dec 16 11:39:15 2009 ;; MSG SIZE 
rcvd: 55

mac:~ atroon$ ping server.mycompany.internal<br>
ping: cannot resolve server.mycompany.internal: Unknown host

No puedo por la vida de esta figura. El servidor DNS es un SBS 2003 cuadro que se encarga de ANUNCIOS, algunos de los archivos, de impresión, etc para una pequeña red de la empresa. Este problema me pasa tres veces a la semana, y cuando estoy conectado a la red local directamente, el mismo interruptor, como el servidor. Puedo hacer cualquier conexión que yo quiera con las direcciones IP, no puedo hacer DNS de trabajo. Además, en el mismo momento estoy experimentando esto, otros usuarios están bien, que me hace pensar que es un problema en mi Mac. Pero ¿qué tipo de problema? ¿Cómo se puede sacar enviar una pregunta y obtener una respuesta, y una mesa de ping decir 'desconocido'?

Estoy posteando vs serverfault porque creo que este es un problema local no es un problema del servidor...pero si alguien puede que me señale en el servidor, creo que vamos a bajar la calle un dominio o dos.

4voto

Yar Puntos 3025

Finalmente, una solución gracias a 10.6.3 y un poco de tocar el violín. Básicamente modificar el com.apple.mDNSResponder.plist y, a continuación, reinicie el dnsresponder.

Puedo estar equivocado, pero creo que en las instrucciones de uso, y debería decir sudo cp donde dicen sudo mv al principio.

1voto

Kit Roed Puntos 1922

Dependiendo de qué versión de Mac OS X está utilizando el modo de DNS es manejado por el sistema ha cambiado.

Básicamente, hay dos mecanismos de resolución DNS en Mac OS X. El estándar de UNIX enfoque (/etc/resolv.conf) que es utilizado por dig y, a continuación, el enfoque utilizado por el resto del sistema.

En Mac OS X 10.4 y 10.5 de los dos enfoques eran mucho más estrechamente ligados; refrescante uno tendía a la actualización de ambos. Sin embargo, en 10.6 y en mucho menor grado 10.5 es posible tener dig darle el justo valor, mientras que el sistema de resolución de mecanismo todavía tiene un valor incorrecto.

Para vaciar la caché de DNS para cada una de las versiones de Mac OS X:

  • 10.4: lookupd -flushcache
  • 10.5: dscacheutil -flushcache
  • 10.6: sudo dscacheutil -flushcache o sudo killall -HUP mDNSResponder (El primer comando se debe realizar el segundo comando para usted ahora, pero en versiones anteriores de 10.6 no se parecen)

ping si mal no recuerdo utiliza el sistema de búsqueda - tan diferentes como la resolución de mecanismo. /etc/resolv.conf siempre utilizar los servidores de DNS en orden, mientras que mDNSResponder intenta ser "inteligente" que puede morder en la parte trasera dependiendo de la configuración.

También, ¿tiene varios servidores DNS especificados en el Mac y/o a través de DHCP? Snow Leopard ha presentado un comportamiento diferente (bug?) donde el orden de los servidores DNS va a cambiar. Esto juega estragos en la división de DNS (internamente utiliza una IP, pero externamente), ya que hay veces que se deje de pedir el servidor DNS interno primero, antes de pedir el segundo servidor (externo) en línea. Es supuestamente un método para contactar con el más rápido del servidor DNS para evitar DNS en relación con los retrasos. La forma más fácil de arreglar antes de 10.6.3 es sólo servir el servidor DNS interno a través de DHCP y asegúrese de que su configuración de reenvío en el servidor DNS está configurado correctamente.

Ahora como de 10.6.3 es posible decir mDNSResponder utilizar siempre el orden correcto y no probar y optimizar la petición DNS veces. Usted puede hacer esto mediante la adición de la clave StrictUnicastOrdering y si se establece a true para mDNSResponder Lanzamiento del Demonio plist (y recargar si es necesario).

En Mac OS X v10.6, el servidor DNS por defecto el comportamiento de búsqueda es que cuando un servidor no devuelve un resultado (la devolución de SERV_FAIL para una consulta), y otros servidores están disponibles para consulta, el servidor está temporalmente desactivado en el orden de búsqueda de unos treinta segundos. Si hay más de un servidor para la consulta y todos ellos han regresado SERV_FAIL, los servidores serán consultados en el orden en que fueron deshabilitado (es decir, el servidor que se ha deshabilitado el más largo que se utilizó por primera vez).

(Fuente: support.apple.com y gracias a Yar que poner esto antes de que me hizo).

Puede automatizar este (un poco más rápido y más fácil que el de Apple comandos) ejecutando los siguientes comandos:

sudo /usr/libexec/PlistBuddy -c "Add :StrictUnicastOrdering bool true" /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

y a la inversa corriendo:

sudo /usr/libexec/PlistBuddy -c "Delete :StrictUnicastOrdering" com.apple.mDNSResponder.plist

Después de uno o tendrás que volver a cargar el trabajo en launchd para reiniciar mDNSResponder ejecutando:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
y, a continuación,
sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

1voto

Keith Sirmons Puntos 2558

Mire lo /etc/resolv.conf a ver que los servidores de nombres de su Mac está utilizando. También puede agregar servidores de nombres en las preferencias de red -- seleccione el adaptador que usted está utilizando, haga clic en el botón "Avanzado..." y, a continuación, haga clic en el "DNS" en la ficha.

En un mac de la herramienta de línea de comandos para vaciar la caché de DNS es:

dscacheutil -flushcache

Actualización:

He encontrado un montón de cosas buenas en este hilo en discussions.apple.com. Por ejemplo:

dig(1) (y host(1) y nslookup(1)) todos los utilice directamente la resolución de DNS y como tal, el servidor DNS de pedido como presentes en /etc/resolv.conf.

Sin embargo, ping(8) utiliza el Mac internos OS X sistema de resolución de nombres que utiliza un "super de búsqueda de DNS cliente" que utiliza los resultados que son susceptibles de listarse a través de scutil --dns para consultas sobre su pedido.

Se puede ver en lo que ha sido en caché mediante la ejecución de sudo killall -INFO mDNSResponder y, a continuación, busca en /var/log/system.log

1voto

Duckboy Puntos 227

La mayoría de las aplicaciones se basan en el servicio de Cliente DNS (bueno, ellos se basan en el sistema operativo que utiliza el servicio...) - me gustaría comprobar que aún se está ejecutando. Tal vez incluso reiniciar el servicio cuando usted experimenta los problemas.

Usted también puede tratar de tirar de su caché de DNS, pero tenga en cuenta que algunas aplicaciones (navegadores web, en particular) en la memoria caché de DNS entradas internamente, por lo que puede que tenga que reiniciar ellos.

ipconfig /flushdns

Por último, hay una posibilidad de que el malware que causa que las cosas van de mal en peor. Una gran cantidad de malware que se apropien de DNS o ciertas máquinas. Es probablemente vale la pena comprobar que así.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: