Primero, si networksetup -getdnsservers <service name>
no muestra nada, no tiene nada listado en Preferencias del sistema> Netowrk en "Servidores DNS:".
En segundo lugar, es importante tener en cuenta que OS X no maneja DNS como la mayoría de los sistemas. Según https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/resolver.5.html Esencialmente, esto significa que OS X tiene múltiples clientes DNS dependiendo de su configuración. El resultado de estos servicios múltiples significa que hay situaciones en las que el uso de Safari para acceder a un sitio web ( http://www.example.com ) lo llevará a una dirección IP que OS X ha recuperado de DNS (digamos 1.2.3.4) mientras al mismo tiempo, cavando
$ dig www.example.com
devolverá diferentes resultados. (quizás 2.3.4.5)
La razón de esto radica en la forma en que OS X maneja DNS.
Si corres $ man dig
obtienes, entre otras cosas, lo siguiente:
AVISO DE Mac OS X El comando dig no utiliza el nombre de host y la resolución de dirección 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 impresas por dig pueden diferir de los encontrados por otros procesos que usan los mecanismos de resolución de direcciones y nombres nativos de Mac OS X. Los resultados de las consultas DNS también pueden diferir de las consultas que utilizan la biblioteca de enrutamiento DNS de Mac OS X.
También $man nslookup
devolverá algo similar
AVISO DE Mac OS X El comando nslookup no utiliza el nombre de host y la resolución de dirección ni 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 impresas por nslookup pueden diferir de los encontrados por otros procesos que usan los mecanismos de resolución de direcciones y nombres nativos de Mac OS X. Los resultados de las consultas DNS también pueden diferir de las consultas que utilizan la biblioteca de enrutamiento DNS de Mac OS X.
Todo esto es realmente una forma bastante larga de decir, la mejor manera de ver qué servidores DNS se están utilizando es mirar Preferencias del sistema> Red
Los "servidores DNS:" generalmente están allí, y "Buscar dominios:" le permitirá buscar direcciones incompletas.
Si "Servidor DNS:" no está presente, OS X intentará usar la dirección en "Enrutador:" para DNS.
Y, además de toda esta diversión, hay utilidades y otros procesos que pueden no estar utilizando la Biblioteca de enrutamiento DNS de OS X, y estarán afectando el contenido de /etc/resolv.conf directamente.
La respuesta corta y corta es esta:
- Si sigue los contenidos de Preferencias del sistema> Red, está viendo lo mismo que la mayoría de los procesos están utilizando.
- El contenido de Preferencias del sistema> Red, debe rellenar /etc/resolv.conf, pero no siempre.
- Algunos otros procesos (como dig y nslookup) están accediendo a /etc/resolv.conf directamente.
Y, además de todo esto: si no está utilizando los clientes VPN integrados en OS X, es posible que se estén utilizando rutas adicionales y servidores DNS que networksetup -getdnsservers <service name>
no se mostrarán. Su cliente VPN puede tener la capacidad de mostrarle las rutas y los servidores DNS, sé que el mío sí.
Sé que esto no responde con precisión a su pregunta, pero espero que esto le ayude a darse cuenta de que no siempre es fácil descubrir cuál es la "verdad" con respecto al DNS en una Mac. En general, está seguro asumiendo que el contenido de Preferencias del sistema> Red, o el contenido de networksetup -getdnsservers <service name>
donde está obteniendo su DNS. Sin embargo, si las cosas parecen extrañas, tenga en cuenta que también hay otras posibilidades. Use cavar para ayudar a determinar si hay diferencias en marcha.
Por último, para aquellos lectores que se preguntan cómo conseguir el <service name>
en networksetup -getdnsservers <service name>
, pruebe a utilizarnetworksetup -listallnetworkservices
Cuenta