Lista de servidores DNS en Mavericks


10

¿Cómo verificar qué servidor DNS se usó para resolver un nombre de host particular dentro de la red VPN?

Estoy usando un cliente VPN propietario proporcionado por la compañía y quiero ver la dirección IP del servidor DNS, pero

networksetup -getdnsservers <service name>

no enumera ningún servidor DNS en absoluto. Sin embargo, puedo hacer ping a cualquier servidor en la red interna, por lo que DNS aparentemente está funcionando.

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

Respuestas:


6

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 digobtienes, 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 nslookupdevolverá 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:

  1. Si sigue los contenidos de Preferencias del sistema> Red, está viendo lo mismo que la mayoría de los 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) 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


Gracias por la explicación. Eso es lo que sospechaba: aparentemente todo lo que está en la red VPN se está buscando a través de la puerta de enlace VPN que figura en la tabla de enrutamiento ...
Robusta

Pude atrapar la dirección del servidor DNS usando tcpdump en la interfaz VPN.
Robusta

8

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

scutil --dns

Según los informes, la primera entrada (resolver # 1) es la configuración activa ... aunque he visto muchos casos en los que ese no es el caso.

del hombre 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 ve aquí no coincide con lo que espera (es decir, red> avanzado> dns), es posible que deba deshabilitar / habilitar el adaptador de red apropiado para que se actualice ...

Otros consejos en OSX reciente:

Con 10.7 o 10.8, los dominios de búsqueda no se aplican a las búsquedas con un punto en ellas. es decir, www.test no agregará dominios de búsqueda en absoluto, donde www lo hará. hay una solución:

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 /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

la red> avanzada> dns config es -PER INTERFACE-. Entonces, si usa conexión inalámbrica y por cable ... debe configurar ambos.

también hay otra forma: / 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 OSX (extremadamente único y mezclado). Usa ping.


Esta debería ser la respuesta aceptada. scutil --dnsmuestra la configuración de DNS real que usa el sistema operativo.
Nate

2

Normalmente usaría (en entornos Unix, y esto es posiblemente un poco viejo) algo como los siguientes ejemplos.

En primer lugar, puede buscar una dirección IP o una entrada de nombre DNS individualmente, e informará al servidor que se utilizó para proporcionar la respuesta. Puede buscar una sola entrada en la línea de comando, o ingresar al nslookupprograma y buscar varias entradas sin tener que volver a ingresar 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 ejecuté esto en un cuadro de Windows, en unix / OS X el comando ipconfig / all es ifconfig -a y los resultados de salida pueden diferir ligeramente) que enumera los datos de configuración de ip para cada interfaz en su sistema, puertos físicos, conexiones inalámbricas, VNC, etc., que muestran qué datos de DNS e IP están asociados con cada ruta fuera de la máquina, obtendrá muchas entradas de regreso, una para cada puerto / adaptador de red genuino, y también varias cantidades de puertos virtuales dependiendo de su configuración, en mi ejemplo, eliminé la mayoría de los resultados pero mostré mi adaptador VPN y las entradas DNS (redactadas) 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

Desafortunadamente, nslookup responde que no puede encontrar servidores en mi red VPN. Además, ifconfig no enumera ningún servidor DNS para ninguna interfaz, incluido el que corresponde a VPN.
Robusta

Quizás esté utilizando archivos host codificados. ¿Los servidores que está buscando en Internet o dentro de su organización?
stuffe

voto negativo debido a la salida ipconfig de Windows que no tiene contexto útil en un entorno OSX: OSX tiene su propio entorno de resolución DNS único (y con muchos sabores).
interesado el

Amigo, solo vota, no necesitamos saber por qué.
estuffe

1

Que nslookupte dice 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

Cuando entro en el servidor interno (que pertenece a VPN), nslookup intenta usar mi enrutador wifi como DNS y luego no puede encontrar el servidor: [... ~] $ nslookup> xxxxxxxxxxx.com Servidor: 192.168.1.1 Dirección: 192.168.1.1 # 53
Robusta
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.