11 votos

La fuerza de la resolución de DNS ocurrir fuera de VPN

Estoy corriendo de Mojave (10.14) y tengo un Cisco AnyConnect VPN con el que el tráfico de rutas seleccionadas (determinado por el perfil de VPN, fuera de mi control) es enviado.

El tráfico de enrutamiento funciona bien, el problema es que la resolución de DNS está teniendo lugar a través de la VPN para nombres de host que no en la red interna.

La salida de scutil --dns contiene:

craig@TBMBP:~$ scutil --dns
DNS configuration

resolver #1
  search domain[0] : a.mycompany.com
  search domain[1] : b.mycompany.com
  search domain[2] : c.mycompany.com
  search domain[3] : d.mycompany.com
  search domain[4] : hsd1.ma.comcast.net <-- (my ISP)
  nameserver[0] : 10.70.yy.yy

Además, contiene:

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : hsd1.ma.comcast.net
  nameserver[0] : 2601:184:497f:...     <-- (some ipv6 address)
  nameserver[1] : 192.168.1.1
  if_index : 10 (en0)
  flags    : Scoped, Request A records, Request AAAA records
  reach    : 0x00000002 (Reachable)

Esto significa que cuando abro www.apple.com veo a través de la VPN:

39  2.316879    10.70.xx.xx 10.70.yy.yy DNS 63  Standard query 0xefee A www.apple.com

Y yo no quiero que esto suceda. Más bien, quiero resolución de DNS a suceder entre mí y mi ISP (o entre mí y 1.1.1.1 o 8.8.8.8) y, a continuación, si la resolución de la falla, consultar con el VPN.

¿Cómo puedo actualizar la resolución a utilizar Cloudflare/Google primero de DNS, mediante la línea de comandos en Mac?

5voto

Baarn Puntos 4579

Tengo una situación similar en la que tengo que usar una mano pesada, portal cautivo, conexión Wi-Fi con una muy torpe, muy espeluznante firewall virtual. No sólo snoop sobre conexiones seguras, suplanta servidor DNS IPs, mediante DPI (cuando se detecta la petición).

Lo único que me funciona es ir sobre la parte superior de la VPN/firewall en lugar de intentar colarse en virtud de ello, el uso de dnscrypt-proxy utilizando sólo DNS sobre HTTPS, ya que puede detectar la dnscrypt protocolo. Ahora, no es consciente de DNS sobre HTTPS.

Me implementar el uso de un LaunchAgent de que los relojes /etc/resolve.conf para los cambios, y cuando se detecta un cambio, se reinicia dnscrypt-proxy, entonces se ejecuta networksetup -setdnsservers Wi-Fi 127.0.0.1.

A un lado: he estado utilizando Quad9 por un tiempo ahora, y lo prefiero a Google y CloudFlare.

Edit: Después de jugar un poco más con esto, estoy notando que (de alguna manera, ni siquiera he dado cuenta de que el tráfico hacia/desde), las direcciones IPv6 son de alguna manera se resuelve con ::1 como un servidor de DNS, incluso si no hay otros servidores DNS conjunto. Así que, probablemente, mejor simplemente deshabilitar IPv6 si se puede.


Edit 2:

Sí, yo creo que ser capaz de dividir que la ruta podría ser simplemente demasiado que ver con el más reciente sistema de nivel de implementación VPN; creo DNS proxy es probablemente su mejor apuesta. Podría ser posible eliminar ipsec0 como la ruta predeterminada y, a continuación, agregarlo para un restringido rango de IP... pero cada vez que lo intento (con IKEv2, no AnyConnect, pero estoy asumiendo que están usando la misma API) simplemente... se detiene.

Como para el tráfico residual, tal vez su Cita? sudo killall -HUP mDNSResponder; sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist?

También, tal vez usted podría ser capaz de utilizar una aplicación como Shimo? Está disponible con Setapp! No sé exactamente cómo AnyConnect funciona, pero dice que la apoya, y tiene opciones de configuración disponibles que son exactamente lo que usted está buscando para otros protocolos, incluyendo IKE, así que... tal vez?

Shimo

2voto

Oskar Puntos 1242

La respuesta corta es que usted probablemente no puede hacer este cambio.

Esta es una muy típica situación en la que el administrado configuración de no permitir una división túnel VPN situación. Literalmente, cuando se conecta a la puerta de enlace VPN - se asegura usted no puede llegar a cualquier destino de la red, excepto para el DNS y los valores que están en el otro extremo de la red de donde el VPN termina.

Para solucionar esto, usted necesita:

  • cambio de la configuración VPN para permitir una división túnel - posiblemente necesidad de los administradores de la red para bendecir a este cambio / de hacerla efectiva.
  • No involucrarse en la VPN a todos
  • Configurar una máquina virtual, de modo que usted puede mantener el control de tu sistema operativo y sólo permitir que el sistema operativo invitado para conectarse a la VPN
  • convencer al administrador de red para cambiar el DNS en el otro extremo para satisfacer sus necesidades (secundario a una configuración de DNS antes de conectarse a la VPN, el cambio de los transportistas, etc..)
  • utilizar a un cliente diferente o configuración del cliente para evitar que el perfil se ejecuta en Cisco (suponiendo que el cisco no permiten cambiar la configuración) - la Fuerza de la ip del servidor DNS mientras está conectado a la VPN

(esta es una pregunta común que nunca se obtiene una respuesta que no sea - no usar VPN, pero tengo la esperanza de que hay una manera para usted)

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