Quiero usar una VPN de Windows, pero solo para una red en particular, para que no se haga cargo de toda mi conexión de red.
por ejemplo, en lugar de que la VPN se convierta en la ruta predeterminada, conviértala solo en la ruta 192.168.123.0/24
(Puedo ver que hay una solución para esto para Ubuntu en esta pregunta , pero a veces también tengo que hacer esto en Windows)
¿Se puede automatizar para que siempre que me conecte a la VPN lo haga?
windows
networking
vpn
routing
Legooolas
fuente
fuente
Respuestas:
Puede desactivar la toma de toda su conexión yendo a las propiedades de la VPN,
Networking
pestaña,Internet Protocol (TCP/IP)
propiedadesAdvanced
, desmarqueUse default gateway on remote network
. Esto puede o no dejar una ruta192.168.123.0/24
dependiendo de la configuración del servidor VPN. Si no es así, deberá agregar manualmente la ruta cada vez, aunque podría ponerla en un archivo por lotes.Para agregar manualmente la ruta, ejecute (como administrador):
Este ejemplo hará una ruta persistente (no es necesario ejecutar el comando después de un reinicio) a la IP a
192.168.0.12
través de la puerta de enlace VPN10.100.100.254
.Más información sobre esto en http://technet.microsoft.com/en-us/library/bb878117.aspx
fuente
Utilicé con éxito la técnica de @ TRS-80 para lograr esto.
Trabajo desde casa y tengo que usar VPN en la red corporativa para recibir mi correo electrónico (¡odio el correo web!).
Al mismo tiempo, necesito estar constantemente navegando por información y también necesito youtube para mi música de fondo ... ¡Ahora definitivamente no quieres transmitir youtube desde una VPN ya que eso suena como un canto de robot! :)
Todo lo que hice fue seguir a @ TRS-80:
y luego hice el mío:
Todo funciona a la perfección!
fuente
De acuerdo, esta respuesta no refleja su solicitud, pero uso una máquina virtual específicamente para este propósito. De esa manera, solo la red dentro de la VM está restringida por las rutas.
Puede encontrar algunas respuestas mejores por parte de otras personas, pero al menos esto puede darle algo que considerar, ya que es una solución fácil después de que se haya creado la VM.
fuente
Descubrí que necesitaba apuntar directamente a la interfaz en el comando de ruta. Sin él, Windows usará la interfaz de la tarjeta de red principal, en lugar de VPN. En mi caso, parece que
tenga en cuenta el 'SI 26'.
fuente
Use el cmdlet Add-VpnConnectionRoute en Windows 8+.
fuente
si tiene IPV4 e IPV6, debe desmarcar la opción "Usar puerta de enlace predeterminada en la red remota" en ambos lugares, incluso si solo usa IPV4
fuente
Si usa el CMAK y configura un archivo de enrutamiento que el cliente puede descargar ... Windows descargará el archivo de enrutamiento y ajustará las rutas según corresponda. Hay opciones para eliminar la ruta predeterminada ... y agregar varias rutas estáticas y demás. Esto se conoce como un túnel dividido por cierto.
Aquí hay un buen procedimiento : http://blogs.technet.com/b/rrasblog/archive/2007/06/11/split-tunnelling-using-cmak.aspx
fuente
Quiero agregar mi solución a la mezcla. Se ejecuta en un shell UNIX con tecnología Cygwin en Windows 7 o posterior, pero también debería funcionar con MSYS2, Bash-on-Windows [WSL] después de la compilación 14986 u Busybox para Windows). Debe ejecutarse con privilegios de administrador.
Tiene algunas configuraciones e intenta detectar algunas de las cosas que no configuró explícitamente. También establece el número de interfaz (IF) explícitamente para contrarrestar algunos problemas que algunos usuarios (como yo) tuvieron con las otras soluciones aquí.
También vale la pena señalar que podría ser necesario establecer manualmente una métrica baja o, de lo contrario, la ruta predeterminada coincidirá antes del tráfico destinado a la VPN. Para ello, vaya a la configuración del adaptador donde abre el elemento de menú "... Propiedades" para el adaptador VPN → pestaña "Redes" → " Propiedades de la versión 4 del protocolo de Internet (TCP / IP)" → "Avanzado" → y allí desmarca la casilla de verificación "Métrica automática" (además de "Usar puerta de enlace predeterminada ...", por supuesto) y establezca el valor en el campo "Métrica de interfaz:" en un valor inferior a la ruta predeterminada (ver
ROUTE.EXE -4 print
salida).fuente
Un poco viejo pero encontré una manera de hacerlo usando otra máquina. Tengo una computadora portátil donde configuré la conexión VPN y allí configuré FreeProxy con Socks5 ..
Luego configuré firefox en mi máquina cliente para usar el servidor proxy de la computadora portátil ... el resultado es que si uso FireFox o cualquier cosa que esté configurada para usar ese proxy Socks5, usará la VPN, de lo contrario usará el enrutamiento estándar ...
fuente
Puedes usar algo como netcatcher : solo agrega todas las rutas que necesites una vez y olvídalo. Agregará y eliminará rutas automáticamente cuando conecte o desconecte su sesión VPN. Si su dirección IP de VPN se obtiene dinámicamente (DHCP), netcatcher la capturará y actualizará las rutas de la manera correcta.
fuente
del foro ruso: http://forum.ixbt.com/topic.cgi?id=14:43549
guardar como archivo (ej: vpn_route.vbs) y después de que vpn conectado ejecute el comando
vpn_route.vbs:
fuente
Esto no se puede hacer en Windows sin usar programas adicionales, archivos por lotes o la línea de comandos. Una alternativa es obtener una máquina virtual (o física) en la que pueda ejecutar la VPN.
Parece extraño que algo tan fácil de explicar como esto sea tan difícil de lograr. ¿Qué tan difícil podría ser simplemente enrutar el tráfico de un programa a la interfaz VPN y todos los demás programas a la interfaz NIC predeterminada? ¿Por qué necesitaríamos configurar una máquina virtual completa para eso? Y con Linux es posible, pero su solución tampoco es muy elegante.
También es muy buscado: me encontré con docenas de hilos sobre el mismo tema. Así que solo espero que alguien se dé cuenta de lo ridículo de esto y haga algo al respecto. (¡En Windows 8!)
Esta solución es de un archivo por lotes no atribuido . Ha sido ligeramente adaptado.
Instrucciones para Windows 7
La secuencia de comandos conectar y enrutar el tráfico a través de la VPN hasta un reinicio - se puede reemplazar
route add
conroute -p add
el cambio de persistir, pero si usted no tiene una dirección IP persistente con su VPN, con el tiempo dejan de funcionar cuando cambia su IP VPN.Networking
pestañaProperties
Advanced
Use default gateway[...]
Debe reemplazar lo siguiente en el script:
<VPN>
con el nombre de la conexión VPN que creaste<USER>
con el nombre de usuario VPN<PASS>
con la contraseña VPN<TARGET>
con la dirección IP que desea enrutar a través de la VPN (si desea enrutar más direcciones, simplemente duplique las tres líneas donde se usa el objetivo)Nota: Si no desea guardar la contraseña en el archivo, reemplace
<PASS>
con%password%
y añade lo siguiente tras la primera línea del script:set password= Input password:
.Guión
fuente
Una guía 'corta' para novatos como yo, que no saben mucho sobre redes. No hay muchas novedades aquí, pero un resumen de todas las buenas opciones descritas en respuestas anteriores y en otros hilos relacionados. Todo el procedimiento consta de 3 pasos básicos:
1) Hacer que todo el tráfico NO pase por VPN. Para esto, debe desmarcar la
Use default gateway on remote network
casilla de verificación en la configuración de VPN. Asegúrese de desmarcar esta casilla de verificación para IPv4 e IPv6. Por lo general, simplemente deshabilito el protocolo IPv6 por completo para la conexión VPN.(!) Es (a veces) posible que desmarcar esa casilla de verificación sea suficiente para el trabajo normal; en mi experiencia, las rutas necesarias (que dirigirán el tráfico necesario a través de VPN) se pueden agregar automáticamente después de establecer la conexión VPN. No sé exactamente dónde y cómo se configuran estas reglas, pero existe tal escenario, probablemente es algo mágico hecho por los administradores de redes VPN.
2) Realice solo el tráfico necesario a través de VPN. Para esto necesitas definir rutas. Aquí tienes 3 opciones:
2.1) Agregar ruta permanente a través de la puerta de enlace VPN:
route -p add a.b.c.d/<CIDR> w.x.y.z
oroute -p add a.b.c.d mask e.f.g.h w.x.y.z
where 'VPN gateway' = 'su IP en la red VPN' =
w.x.y.z
y dirección / red de destino =a.b.c.d
. Puede encontrarw.x.y.z
ejecutandoipconfig
y buscando su nombre de conexión VPN o, si usa PowerShell, puede obtener una salida compacta ejecutandoipconfig | grep -A5 PPP
(que generará 5 líneas después de encontrar cada conexión PPP).Contras: tendrá que volver a crear rutas si su IP VPN cambiará.
2.2) Agregar ruta permanente a través de la interfaz de red VPN:
route -p add a.b.c.d/<CIDR> 0.0.0.0 IF <interface number>
donde
a.b.c.d
está la dirección / red objetivo yinterface number
es el identificador de su conexión VPN. Este ID se puede encontrar mediante la ejecución denetstat -rn
, o, para la salida más compacto,netstat -rn | grep -A10 'Interface List'
.Pros: no es necesario cambiar nada si su dirección VPN (
w.x.y.z
) cambiará.Contras: necesita volver a crear rutas con una nueva ID si elimina su conexión VPN.
2.3) Usar el cmdlet de PowerShell:
Add-VpnConnectionRoute -ConnectionName '<VPN connection name>' -DestinationPrefix a.b.c.d/<CIDR>
Pros: las rutas necesarias se agregan cada vez que se establece una conexión VPN y se eliminan cada vez que se desconecta.
Contras: no hay
Get-VpnConnectionRoutes
cmdlet, por lo que puede ser difícil administrar estas reglas.3) ¡Verifique y asegúrese de que el enrutamiento funcione como se espera!
Si agregó rutas persistentes, puede verificarlas ejecutando
netstat -rn | grep -A10 'Persistent Routes'
.Y, finalmente, ejecute algunos
tracert
comandos contra ambas direcciones IP a las que se debe acceder a través de VPN y contra aquellas que deberían funcionar sin VPN.fuente