La mejor manera es usar los servicios:
- Instale el servicio OpenVPN cuando instale el cliente;
- Coloque sus perfiles OpenVPN (con la extensión .ovpn, no .conf como es común en Linux) en el subdirectorio config del directorio de instalación de OpenVPN, probablemente
C:\Program Files\OpenVPN\config
.
- Abra la consola de servicios (
services.msc
);
- Busque OpenVPNService, haga clic derecho sobre él, Propiedades, y cambie el tipo de inicio de "Manual" a "Automático".
- Inicie el servicio, y OpenVPN encontrará y se conectará a los perfiles en cualquier archivo .ovpn. Tenga en cuenta que en la mayoría de las situaciones necesita una interfaz TUN / TAP por archivo de conexión. En Windows, recomiendo asociar permanentemente una interfaz con su conexión utilizando los archivos de configuración:
dev-node TAP_Serv
obliga a OpenVPN a vincular la conexión a la interfaz de red llamada "Tap_Serv".
Es posible que desee investigar si hay una manera de elaborar una lista blanca para obligar al servicio a conectarse solo a archivos específicos, y no a todos. He tenido algunos problemas en el pasado con personas que necesitaban tener un servidor VPN como servicio más varios archivos de cliente vpn en la misma máquina que solo se conectan de vez en cuando. En esas situaciones, si quería que la interfaz gráfica de usuario de OpenVPN les mostrara una lista preciosa de conexiones disponibles, significaba que el servicio veía esos archivos e intentaba conectarse a ellos automáticamente. En esos casos, decidí no utilizar los servicios en absoluto:
Si el uso de un servicio no es una opción, puede pasar argumentos adicionales de la línea de comandos a la invocación de la GUI de OpenVPN para que se conecte automáticamente al inicio (además de mostrar el icono de la bandeja como de costumbre):
openvpn-gui.exe --connect myprofile.ovpn
Para que eso se ejecute cuando inicie sesión, coloque dicho acceso directo en la carpeta de inicio habitual. (Para todos los usuarios, %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
o solo para el usuario actual,. %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
)
No sé cómo evitar que el usuario se conecte a Internet antes de configurar la VPN. La única forma en que puedo averiguarlo es a través del Firewall de Windows, y no soy un experto en ese tema. Si desea evitar que un usuario avanzado pueda acceder a Internet, necesita un firewall en su puerta de enlace para evitarlo, o políticas de grupo sólidas para evitar la escala de privilegios.
Para un usuario normal, puede configurar la máquina cliente de Windows sin una puerta de enlace predeterminada. Establezca una ruta estática persistente para el servidor VPN en clientes Windows utilizando el siguiente comando (-P lo hace persistente):
route -P add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface>
Las rutas en Windows se almacenan bajo la siguiente clave de registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes
En este punto, un cliente desconectado solo tiene acceso al servidor VPN. Luego puede agregar las siguientes líneas en el archivo de configuración del servidor VPN para agregar rutas en los clientes cuando se conectan:
Para configurar el servidor VPN como la puerta de enlace predeterminada:
push "redirect-gateway def1 bypass-dhcp"
Para agregar una ruta específica a través del servidor VPN:
push "route 192.168.1.0 255.255.255.0"
A veces, el empuje de ruta no funciona en Windows. Cuando esto me sucede, desinstalo completamente OpenVPN y sus interfaces de Windows, reinicio el sistema e instalo la última versión del software. Luego, antes de establecer la primera conexión, reinicio Windows. Esto siempre ha resuelto los problemas, sin embargo, la actualización de aniversario de Windows 10 (1607) tiene errores con OpenVPN. Hay un enlace a una discusión más profunda en los foros de OpenVPN:
Problemas de conexión con la actualización de aniversario de Windows 10
Tenga esto en cuenta cuando configure sus clientes Windows 10 OpenVPN.