Mac OS X Mountain Lion: la resolución de DNS usa un orden incorrecto en VPN a través de una conexión de acceso telefónico

21

Estoy usando un MacBook con Mac OS X 10.8.2 y me conecto a la red de mi empresa a través de VPN. Todo funciona bien al establecer la conexión VPN a través de LAN o WLAN. Sin embargo, cuando uso una conexión de acceso telefónico (Huawei HSDPA USB Stick), los nombres de host no se resuelven correctamente en las aplicaciones (por ejemplo, el navegador web). Las herramientas de línea de comandos como host name resolverán correctamente la dirección IP, ping name no se resolverá.

Al utilizar scutil --dns , descargué la configuración de DNS cuando me conecté a través de WLAN en lugar de acceso telefónico. Hay una diferencia notable en el orden de búsqueda:

connecting using WLAN:

resolver #1
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 6 (ppp0)
  reach    : Reachable,Transient Connection
  order    : 100000

resolver #2
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 6 (ppp0)
  reach    : Reachable,Transient Connection
  order    : 200000

resolver #3
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #4
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #5
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #6
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #7
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #8
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  nameserver[0] : 192.168.1.1
  if_index : 4 (en0)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

resolver #2
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 6 (ppp0)
  flags    : Scoped
  reach    : Reachable,Transient Connection

La conexión ppp0 es la conexión VPN. Como puede ver, hay dos servidores conectados que responden correctamente en la línea de comandos y en las aplicaciones.

Connecting via UMTS:

resolver #1
  nameserver[0] : 139.7.30.126
  nameserver[1] : 139.7.30.125
  if_index : 6 (ppp0)
  reach    : Reachable,Transient Connection
  order    : 100000

resolver #2
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 7 (ppp1)
  reach    : Reachable,Transient Connection
  order    : 100000

resolver #3
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 7 (ppp1)
  reach    : Reachable,Transient Connection
  order    : 200000

resolver #4
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #5
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #6
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #7
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #8
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #9
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 7 (ppp1)
  flags    : Scoped
  reach    : Reachable,Transient Connection

resolver #2
  nameserver[0] : 139.7.30.126
  nameserver[1] : 139.7.30.125
  if_index : 6 (ppp0)
  flags    : Scoped
  reach    : Reachable,Transient Connection

Esta vez, ppp1 es la conexión VPN y ppp0 es la conexión UMTS. De los tiempos de respuesta de los comandos (usando el nombre de host no existente foo.bar.local ) deduzco que ping usa la primera cadena de resolución, donde como host usa la configuración de consulta de ámbito. ping tarda 5 segundos en regresar "Host desconocido", host vuelve inmediatamente. Asumo que el ping se ejecuta en el tiempo de espera de 5 segundos del resolutor mdns.

Para solucionar mi problema con las búsquedas de DNS rotas al marcar vía VPN a través de un módem, necesito cambiar el orden de los resolutores. Hasta ahora no he encontrado una manera de hacer esto.

Todas las ideas son bienvenidas.

    
pregunta user1248552 28.11.2012 - 21:12

9 respuestas

7

Tuve el mismo problema en mi Mac, y después de solucionarlo, he descubierto que fue causado por FortiClient (cliente VPN) . Incluso cuando FortiClient estaba desconectado, su DNS aún aparecía en el scutil.

La solución para mí fue:

scutil
> list ".*DNS"

Esto te mostrará una lista de todas las configuraciones de DNS, que se verán como:

subKey [0] = State:/Network/Global/DNS <br>
subKey [1] = State:/Network/MulticastDNS<br>
subKey [2] = State:/Network/OpenVPN/DNS<br>
subKey [3] = State:/Network/OpenVPN/OldDNS<br>
subKey [4] = State:/Network/PrivateDNS<br>
subKey [5] = State:/Network/Service/forticlientsslvpn/DNS <br>

Para verificar cada uno de ellos, ejecute: (hasta que encuentre la problemática)

> get key_name
> d.show

... y para solucionarlo, ejecuta:

> get key_name
> d.remove ServerAddresses
> set key_name

Así es como se veía en mi máquina:

> get State:/Network/Service/forticlientsslvpn/DNS 
> d.show
<dictionary> {
  ServerAddresses : <array> {
    0 : 192.168.30.6
    1 : 192.168.30.15
  }
  SupplementalMatchDomains : <array> {
    0 :
  }
  SupplementalMatchOrders : <array> {
    0 : 100000
  }
}
> d.remove ServerAddresses
> d.show
<dictionary> {
  SupplementalMatchDomains : <array> {
    0 :
  }
  SupplementalMatchOrders : <array> {
    0 : 100000
  }
}
> set State:/Network/Service/forticlientsslvpn/DNS
> exit
    
respondido por el Tata 15.09.2013 - 12:25
2

Encontré una solución alternativa: su VPN DNS aún será ignorado, y solo se usará el DNS de dongle 3G, pero solo agregar su VPN DNS a la lista bajo la interfaz 3G funciona ... El principal problema es que el administrador de conectividad 3G sobrescribe la configuración cada vez que hace clic en conectar, y necesita un administrador de conectividad para habilitar Radio en el dongle 3G ... así que combiné ambas soluciones en una:

  1. Conéctese a su VPN y escriba su DNS (tengo 2 en la lista). Puede verificarlo en Preferencias de red → Avanzado → pestaña DNS. Desconecta VPN. Debe conectarse a VPN porque el DNS se asigna dinámicamente al conectarse ...

  2. Conéctese a su 3G y haga lo mismo: escriba el DNS en papel. Luego desconecte 3G.

  3. Vaya a Preferencias de la red → haga clic en la interfaz 3G → Avanzada → Ficha DNS, y debajo de la tabla DNS (que normalmente estará vacía ya que no está conectado), haga clic en '+'. Agregue todos los servidores DNS (los de 3G primero y luego agregue VPN). Haga clic en Aceptar y aplicar.

  4. De ahora en adelante , para conectarse a 3G, simplemente conecte su USB y espere hasta que tenga cobertura 3G (tendrá que abrir el administrador de conectividad 3G), pero no Utilice el administrador de conectividad suministrado para conectarse. Y si se conecta automáticamente, vaya a las preferencias y desmarque la marca. Necesita ese administrador solo para encender la radio en el USB Dongle, nada más.

    Si hace clic en "conectar" en su administrador de 3G, se sobrescribirá la configuración en su interfaz 3G y deberá repetir el paso 3 nuevamente.

  5. Vaya a Red → Preferencias y haga clic en la interfaz 3G. Luego haga clic en conectar. Se conectará a su 3G utilizando los servidores DNS configurados (en lugar de recibidos dinámicamente), que incluyen tanto el DNS "público" como su DNS de VPN.

  6. Conéctate a tu VPN. Funcionará como se espera.

Solo ten en cuenta que:

  • Si su DNS de VPN cambia, necesita cambiarlo manualmente. Esto se puede verificar fácilmente en Red → Interfaz VPN w Avanzada → pestaña DNS, ya que su VPN DNS aún está asignado dinámicamente a la interfaz (aunque OS X lo ignora).

  • Si su DNS 3G cambia (improbable), también debe cambiarlo manualmente. Si algo sale mal y no puede navegar, debe pasar por el administrador de conectividad 3G, hacer clic en "Conectar" y ver qué DNS se asignan dinámicamente ... Eso requerirá que regrese al paso 3 y vuelva a configurarlo.

respondido por el zymmer 23.07.2013 - 14:04
2

Tuve el mismo problema durante mucho tiempo, pero ahora tuve tiempo para encontrar una solución que funcione para mí. No cambié el orden del servidor DNS, pero estoy usando el servidor DNS detrás de la VPN de forma permanente.

  1. Conectar vía acceso telefónico.

  2. Conecte la conexión VPN y copie las direcciones IP del servidor DNS y el dominio de búsqueda desde Conexión VPN → Avanzada → DNS.

  3. Desconecta la conexión VPN.

  4. Ping <name> o <hostname> de su servidor VPN y escriba la IP.

  5. Desconecte la conexión de acceso telefónico.

  6. Duplique la conexión de acceso telefónico (por ejemplo, nombre "3G para VPN").

  7. Ingrese las IP y el dominio de búsqueda en la pestaña DNS de la conexión de acceso telefónico. Se almacenarán y utilizarán de forma permanente.

  8. Conéctese a través de la nueva conexión de acceso telefónico.

  9. Ahora no tiene acceso a los servidores de nombres (porque están protegidos por la VPN): debe editar la dirección del servidor de la conexión VPN. Reemplace el host por el IP.

  10. Conéctate a través de una conexión VPN y deberías poder usarlo.

Nota: En general, los nombres de host no cambian, pero las direcciones IP pueden cambiar. Entonces, si no está funcionando algún día, repita los pasos ...

    
respondido por el Alexander Bering 11.07.2013 - 13:47
1

lo que dijiste me dio una pista, así que agregué el dns ip en la conexión vpn a la lista dns en la conexión principal (nada especial, solo usando la interfaz gráfica para las preferencias de red). No estoy seguro si lo que estás tratando es diferente, pero funcionó conmigo.

    
respondido por el user81478 11.06.2014 - 22:54
0

Tengo el mismo problema. He intentado cambiar el orden de las personas que respondieron en mi prefpano de red y no ha tenido éxito.

Aquí hay capturas de pantalla de mi configuración de red.

También me desconcierta que la VPN NO tenga el dominio de mi oficina en la lista de dominios de búsqueda, pero el primer resolutor aún especifica el dominio de mi oficina para revisar la VPN.

Aún más curioso: intentar hacer traceroute support.inresonance.com da "host desconocido", pero hacer host support.inresonance.com devuelve la dirección IP correcta.

Sugerencias?

Sin la VPN:


resolver #1
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 4 (en0)
  reach    : Reachable,Directly Reachable Address

resolver #2
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #3
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #4
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #5
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #6
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #7
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

resolver #8
  domain   : inresonance.com
  nameserver[0] : 10.32.123.1

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 4 (en0)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

resolver #2
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 5 (en1)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

Con la VPN:


DNS configuration

resolver #1
  search domain[0] : inresonance.com
  nameserver[0] : 10.41.220.10
  nameserver[1] : 10.41.220.11
  if_index : 8 (ppp0)
  reach    : Reachable,Transient Connection
  order    : 100000

resolver #2
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 4 (en0)
  reach    : Reachable,Directly Reachable Address
  order    : 200000

resolver #3
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #4
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #5
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #6
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #7
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #8
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

resolver #9
  domain   : inresonance.com
  nameserver[0] : 10.32.123.1

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 4 (en0)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

resolver #2
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 5 (en1)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

resolver #3
  nameserver[0] : 10.41.220.10
  nameserver[1] : 10.41.220.11
  if_index : 8 (ppp0)
  flags    : Scoped
  reach    : Reachable,Transient Connection
    
respondido por el irCristos 01.03.2013 - 16:56
0

No funciona en Lion / Mountain Lion, debido a un error que causa que el servidor DNS local se use siempre en lugar del servidor DNS de la red remota, incluso cuando Split DNS está correctamente configurado en el enrutador VPN.

Sin embargo, si usa un enrutador IPSEC ASA de Cisco, puede forzar el uso de los servidores DNS remotos siempre que establezca una conexión VPN:

Si usa Cisco ASDM, vaya a Configuración > Acceso a la red (cliente) > Políticas de grupo > (su grupo de VPN para OSX / iPhones) > Avanzado > Túnel dividido

Hay establecido: Nombres DNS (desmarque "heredar" y defina los nombres de dominio dns internos, por ejemplo, myoffice.local) Enviar todas las búsquedas de DNS a través del túnel: configurado en SÍ (esta es la configuración importante)

Guárdelo y no se olvide de almacenar en el flash para su uso futuro.

Si usa la línea de comandos de IOS, establezca:

group-policy <your-tunnel-group-name> attributes
 split-dns value myoffice.local
 split-tunnel-all-dns enable'
    
respondido por el Bertl 21.06.2013 - 13:28
0

Intente cambiar el orden de las entradas de DNS en el panel de preferencias de Red:

  1. Abre Preferencias del sistema → Network.

  2. Seleccione su servicio de red en la lista de la izquierda.

  3. Desbloquee el panel de preferencias usando el bloqueo en la esquina inferior izquierda.

  4. Haz clic en Avanzado ... y elige la pestaña DNS .

  5. Cambie el orden de los servidores DNS arrastrándolos hacia arriba / abajo.

respondido por el d-b 25.01.2013 - 08:23
0

Esto todavía está sucediendo en 10.13.0

He abierto un informe de error con Apple. No es normal que "ping internalhostname" funcione, pero "host internalhostname" o "nslookup internalhostname" fallan con las VPN de túnel dividido (basadas en IPSec de Cisco o IKEv2).

También, como algunos han notado, las conexiones IPsec de Cisco y IKEv2 no se pueden priorizar con "Establecer orden de servicio" a diferencia de L2TP / IPsec, que sí.

Otro punto que me gustaría mencionar es que las VPN de Cisco IPSec o IKEv2 de túnel dividido no muestran ningún servidor DNS ni dominios de búsqueda en su configuración avanzada, a pesar de que esta información aparece con "scutil --dns". Las VPN L2TP / IPsec muestran esta información muy bien.

Algo tiene que dar y Apple debe proporcionar alguna explicación / corrección.

    
respondido por el Adrian S 30.10.2017 - 16:13
-1

Puede solucionar este problema ajustando el orden de servicio de las conexiones de red. Mueva VPN a la parte superior de la lista y seguirá el orden de resolución.

enlace

    
respondido por el Keith Page 24.06.2014 - 19:34

Lea otras preguntas en las etiquetas