Conseguir que las rutas estáticas funcionen correctamente con tu VPN puede ser a veces un poco complicado. Si alguna vez has intentado añadir rutas manualmente y desaparecen tras desconectarte, es porque Windows las elimina al finalizar la sesión VPN. Por lo tanto, si quieres un enrutamiento persistente, debes configurarlo correctamente o automatizar el proceso. Además, dependiendo de tu configuración, podrías dividir el tráfico para que solo ciertas subredes pasen por la VPN mientras el resto permanece en tu conexión a internet habitual. Aquí es donde entran en juego herramientas como el túnel dividido. Esta guía te explicará cómo configurar rutas estáticas que se mantengan automáticamente en tus conexiones VPN, además de algunos consejos si te gusta usar scripts o archivos por lotes tradicionales para este fin.
Cómo solucionar problemas de rutas estáticas en una VPN en Windows
Método 1: Usar PowerShell para agregar y eliminar rutas dinámicamente
Esta es la forma más sencilla para Windows 10 y versiones posteriores. Si tu VPN admite comandos de enrutamiento nativos, puedes usar PowerShell. En algunas configuraciones, agregar rutas manualmente cada vez es un fastidio, especialmente si cambias de red o te reconectas con frecuencia. Los comandos de PowerShell como [Nombre del usuario] Add-VpnConnectionRouteayudan a automatizar esto y a mantener las rutas vinculadas a tu conexión VPN. Es perfecto si quieres tener una configuración limpia donde las rutas van y vienen con la propia conexión VPN.
Este enfoque es útil porque vincula las rutas estáticas directamente a la sesión VPN. Al desconectarse, las rutas se borrarán automáticamente, lo que garantiza que el tráfico habitual no se vea afectado. Solo recuerde comprobar si su conexión VPN tiene activada la función de túnel dividido (puede activarla en sus propiedades o mediante [nombre del servidor Set-VpnConnection –Name YourVPN -SplitTunneling $True].En algunos equipos, es posible que deba volver a conectarse después de agregar rutas para que los cambios surtan efecto.
Agregar rutas mediante PowerShell
- Abra Windows PowerShell con permisos de administrador. Haga clic derecho en el icono y seleccione «Ejecutar como administrador».
- Muestra tus conexiones VPN actuales con
Get-VpnConnection. Esto te ayuda a confirmar el nombre de tu VPN. - Desactivar el uso de la puerta de enlace predeterminada con:
Set-VpnConnection –Name "YourVPN" -SplitTunneling $True. Esto puede ayudar a dirigir solo tráfico específico a través de la VPN. - Añade tus rutas estáticas. Aquí tienes un ejemplo:
Add-VpnConnectionRoute -ConnectionName "YourVPN" -DestinationPrefix 192.168.11.0/24 -PassThru Add-VpnConnectionRoute -ConnectionName "YourVPN" -DestinationPrefix 10.1.0.0/16 -PassThru
Ahora, estas rutas estarán activas siempre que la VPN esté conectada. Para verificar, vuelva a conectar la VPN y luego ejecute Get-NetRouteo revise la configuración de red. Para eliminar una ruta, simplemente ejecute: Remove-VpnConnectionRoute -ConnectionName "YourVPN" -DestinationPrefix 192.168.11.0/24 -PassThru
Método 2: Uso de archivos por lotes y el Programador de tareas de Windows para la automatización tradicional
Claro que Windows aún necesita complicarlo más de lo necesario. Si prefieres o necesitas algo más tradicional, netshpuedes crear un archivo por lotes que ejecute comandos para agregar esas rutas estáticas. Esto es bastante útil si tu configuración de VPN no admite comandos de ruta nativos o si quieres programar todo con activadores de eventos.
Aquí hay un ejemplo básico para su archivo por lotes, digamos vpn_route.bat :
interface ipv4 add route prefix=192.168.11.24 interface="YourVPN" store=active add route prefix=10.1.0.0/16 interface="YourVPN" store=active exit
Luego, puede configurar una tarea programada que se active al establecer la conexión VPN y capture el evento RasMan 20225 en el Visor de eventos. El comando para ejecutar esta tarea es un poco largo, pero algo como esto:
schtasks /create /F /TN "Add VPN routes" /TR "netsh -f C:\Path\To\vpn_route.bat" /SC ONEVENT /EC Application /RL HIGHEST /MO "*[System[(Level=4 or Level=0) and (EventID=20225)]] and *[EventData[Data='YourVPN']]"
De esta forma, cada vez que tu VPN se conecta, el proceso por lotes se ejecuta y agrega las rutas automáticamente. No siempre es perfecto, pero en una máquina funcionó más o menos después de algunas pruebas. Puede que necesites algunos ajustes según tu versión de Windows o cliente VPN.
Solución rápida de problemas y consejos
- Si agrega rutas pero no permanecen después de la desconexión, verifique nuevamente la configuración de túnel dividido de su VPN.
- En algunas configuraciones, es posible que tengas que ejecutar PowerShell o scripts como administrador; de lo contrario, la configuración de seguridad de Windows puede bloquear estas acciones.
- Recuerde, después de agregar rutas, vuelva a conectar su VPN para asegurarse de que se apliquen correctamente.
- Si las rutas persisten incluso después de la desconexión, eliminarlas manualmente con
Remove-VpnConnectionRouteonetsh route deletepuede ayudar a ordenar las cosas.
En resumen, para la mayoría de los usuarios de Windows, automatizar la gestión de rutas con PowerShell ofrece una solución sencilla, mientras que los scripts y el Programador de tareas permiten gestionar escenarios más complejos. Basta con un poco de paciencia, probablemente algunos reinicios y algo de prueba y error para que todo funcione correctamente.
Resumen
- Úselo
Set-VpnConnectionpara alternar la tunelización dividida. - Agregue rutas estáticas con
Add-VpnConnectionRoute. - Eliminar rutas
Remove-VpnConnectionRoutecuando sea necesario. - Para la automatización, cree un script con archivos por lotes y actívelo a través del Programador de tareas de Windows.
- Generalmente es necesario volver a conectar la VPN después de cambiar de ruta.
Resumen
Este tipo de soluciones siempre son un poco liosas, pero una vez configurados los comandos o scripts correctos, cada vez es más fácil. No entiendo por qué Windows hace que sea tan complicado gestionar las rutas estáticas con las VPN, pero bueno, así son las cosas. Ojalá esto ayude a alguien a ahorrar tiempo, o al menos a no perderse por completo cada vez que necesite rutas específicas enrutadas a través de su VPN.