10 votos

Lista de servidores DNS en Mavericks

¿Cómo comprobar qué servidor DNS se ha utilizado para resolver un nombre de host concreto dentro de la red VPN?

Estoy utilizando el cliente VPN propietario proporcionado por la empresa y quiero ver la dirección IP del servidor DNS, pero

networksetup -getdnsservers <service name>

no muestra ningún servidor DNS. Sin embargo, puedo hacer ping a cualquier servidor de la red interna, así que aparentemente el DNS está funcionando.

¿Cómo funciona la búsqueda de DNS en OSX con/sin conexiones VPN?

9voto

keen Puntos 144

En OSX Mavericks (10.9 - en realidad 10.6.3 arriba, creo) si quieres ver la configuración de DNS activa:

scutil --dns

La primera entrada (resolver #1) es supuestamente la configuración activa... aunque he visto muchos casos en los que no es así.

de man scutil

 The --dns option reports the current DNS configuration.  The first listed
 resolver(5) configuration is considered to be the "default" configura-
 tion.  Additional "supplemental" configurations follow.  Those containing
 a "domain" name will be used for queries matching the specified domain.
 Those without will be used as a "default" configuration in addition to
 the first listed.

IME, si lo que ves aquí no coincide con lo que esperas (es decir, red > avanzada > dns), puede que tengas que desactivar/activar el adaptador de red apropiado para que se actualice...

Otros consejos en OSX recientes:

Con 10.7 o 10.8, los dominios de búsqueda no se aplican a las búsquedas con un punto. Por ejemplo, www.test no añadirá dominios de búsqueda en absoluto, mientras que www sí lo hará:

sudo vim /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Add <string>-AlwaysAppendSearchDomains</string>after line 16
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/mDNSResponder</string>
        <string>-launchd</string>
        <string>-AlwaysAppendSearchDomains</string>
    </array>

Ahora descargue y vuelva a cargar el servicio mDNSResponder: sudo launchctl unload -w /Sistema/Biblioteca/LaunchDaemons/com.apple.mDNSResponder.plist sudo launchctl load -w /Sistema/Biblioteca/LaunchDaemons/com.apple.mDNSResponder.plist

la red > avanzada > configuración dns es -PER INTERFACE-. Así que si usas inalámbrico y cableado... tienes que configurar ambos.

también hay otra manera - /etc/resolver - un ejemplo aquí: ¿Funcionan los archivos /etc/resolver/ en Mountain Lion para la resolución de DNS? y más aquí: https://www.dforge.net/2013/01/30/osx-domain-specific-dns-servers-etcresolver/

En cuanto a intentar hacer un nslookup - es bien sabido que nslookup (y host y dig) no sigue el mecanismo de resolución (extremadamente único y mezclado) de OSX. Usa ping.

6voto

Nicole Puntos 21

En primer lugar, si networksetup -getdnsservers <service name> no muestra nada, no tiene nada listado en Preferencias del Sistema > Red en "Servidores DNS:".

En segundo lugar, es importante tener en cuenta que OS X no maneja el 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 múltiples servicios significa que hay situaciones en las que el uso de Safari para acceder a un sitio web ( http://www.example.com ) le llevará a una dirección IP que OS X ha recuperado del DNS (digamos 1.2.3.4) mientras que al mismo tiempo, realiza una excavación

$ dig www.example.com  

devolverá resultados diferentes. (quizás 2.3.4.5)

La razón de esto radica en la forma en que OS X maneja el DNS.

Si se ejecuta $ man dig se obtiene, entre otras cosas, lo siguiente:

AVISO sobre Mac OS X El comando dig no utiliza la resolución de nombres y direcciones de host 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 nombres o direcciones impresas por dig pueden diferir de los encontrados por otros procesos que utilizan los mecanismos nativos de resolución de nombres y direcciones de Mac OS X. 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 sobre Mac OS X El comando nslookup no utiliza la resolución de nombres y direcciones de host 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 nombres o de nombres o direcciones impresos por nslookup pueden diferir de los encontrados por otros procesos que utilizan los mecanismos nativos de resolución de nombres y direcciones 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 una forma bastante larga de decir que la mejor manera de ver qué servidores DNS se están utilizando es mirar en Preferencias del Sistema > Red

Los datos "Servidor DNS:" suelen estar ahí, y "Buscar dominios:" le permitirá buscar direcciones incompletas.

Si "Servidor DNS:" no está presente, entonces OS X intentará usar la dirección en "Router:" para DNS.

Y, además de toda esta diversión, hay utilidades y otros procesos que no puede estarán usando la biblioteca de enrutamiento DNS de OS X, y estarán golpeando el contenido de /etc/resolv.conf directamente.

La respuesta corta es ésta:

  1. Si te guías por el contenido de Preferencias del Sistema > Red, estás viendo lo mismo que más procesos están utilizando.
  2. El contenido de Preferencias del Sistema > Red, debe rellenar /etc/resolv.conf, pero no siempre.
  3. Algunos otros procesos (como dig y nslookup) acceden directamente a /etc/resolv.conf.

Y, además de todo esto - Si no está utilizando los clientes VPN incorporados en OS X, es posible que se estén utilizando rutas y servidores DNS adicionales que networksetup -getdnsservers <service name> no se mostrará. Tu cliente VPN puede tener la capacidad de mostrarte las rutas y los servidores DNS, sé que el mío lo hace.

Sé que esto no responde con precisión a tu pregunta, pero espero que te ayude a darte cuenta de que no siempre es fácil averiguar cuál es la "verdad" respecto a los DNS en un Mac. Por lo general, es seguro asumir que el contenido de Preferencias del Sistema > Red, o el contenido de networksetup -getdnsservers <service name> es de donde obtienes tu DNS. Sin embargo, si las cosas parecen raras, ten en cuenta que también hay otras posibilidades. Usa dig para ayudar a determinar si hay diferencias en marcha.

Por último, para los lectores que se preguntan cómo conseguir el <service name> en networksetup -getdnsservers <service name> Intenta usar networksetup -listallnetworkservices

Bill

2voto

mtnygard Puntos 141

Normalmente utilizaría (en entornos unix, y esto es posiblemente un poco de la vieja escuela) algo como los siguientes ejemplos.

En primer lugar, puedes buscar una dirección IP o una entrada de nombre DNS individualmente, y te informará del servidor que se utilizó para proporcionar la respuesta. Puedes buscar una sola entrada en la línea de comandos, o introducir el comando nslookup y buscar varias entradas sin tener que volver a introducir el comando:

nslookup

Default Server:  redacted.organisation.com
Address:  10.47.xxx.xxx

> ibm.com
Server:  redacted.organisation.com
address:  10.47.xxx.xxx

Non-authoritative answer:
Name:    ibm.com
Address:  129.42.38.1

> sun.com (etc etc, use quit or exit to get out)

En segundo lugar, este comando (tenga en cuenta que lo ejecuté en un equipo Windows, en unix/OS X el comando ipconfig /all es en cambio ifconfig -a y los resultados de salida pueden diferir ligeramente) que enumera los datos de configuración ip para cada interfaz en su sistema, puertos físicos, conexiones inalámbricas, VNCs, etc, mostrando lo que los datos DNS e IP se asocia con cada ruta de la máquina, obtendrá un montón de entradas de vuelta, uno para cada puerto de red genuina / adaptador, y también varias cantidades de puertos virtuales también en función de su configuración, en mi ejemplo he eliminado la mayor parte de los resultados, pero mostró mi adaptador VPN y el (redactado) entradas DNS que tiene.

C:\Users\dawilkin>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : XXX-XXXXX
   Primary Dns Suffix  . . . . . . . : XX.XXXXX.com
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : XXX.com
                                       XX.XXX.com
                                       XX.XXX.com
                                       XXX.co.uk
                                       XXX.com

Ethernet adapter Local Area Connection 2:

   Connection-specific DNS Suffix  . : XXX.com
   Description . . . . . . . . . . . : Cisco AnyConnect VPN Virtual Miniport Ada
pter for Windows x64
   Physical Address. . . . . . . . . : 00-XX-9A-XX-XX-00
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 10.47.XX.XX(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . : 10.47.XX.X
   DNS Servers . . . . . . . . . . . : 10.47.XX.X
                                       10.31.XX.X
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Local Area Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) 82579LM Gigabit Network Connecti
on
   Physical Address. . . . . . . . . : 3C-97-XX-XX-XX-3C
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Wireless LAN adapter Wireless Network Connection 3:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft Virtual WiFi Miniport Adapter #
2
   Physical Address. . . . . . . . . : A4-4E-31-42-33-41
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

1voto

Juliano Puntos 13802

¿Qué hace nslookup ¿te lo digo? Me da mi servidor DNS en la segunda línea.

$ nslookup stackexchange.com
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   stackexchange.com
Address: 198.252.206.16

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:

X