Este artículo muestra paso a paso cómo conectarse a una VPN desde Windows, incluyendo la instalación y configuración del cliente OpenVPN.

Supongamos que hemos montado un servidor OpenVPN en la nube y deseamos conectar un cliente Windows. El primer paso (si aún no lo hemos hecho) consiste en generar un certificado mediante la CA de OpenVPN (easy-rsa).

Generar un nuevo certificado cliente con easy-rsa

Cambiar al directorio de instalación de OpenVPN:

root@vpn:~# cd /etc/openvpn/easy-rsa/

Configurar el entorno de la CA:

root@vpn:/etc/openvpn/easy-rsa# . ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

Generar un certificado para el usuario "emi" ejecutando:

root@vpn:/etc/openvpn/easy-rsa# ./build-key emi
Generating a 2048 bit RSA private key
................+++
..........................................................................+++
writing new private key to 'emi.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AR]:
State or Province Name (full name) [Buenos Aires]:
Locality Name (eg, city) [Bahía Blanca]:
Organization Name (eg, company) [Linuxito.com]:
Organizational Unit Name (eg, section) [vpn]:
Common Name (eg, your name or your server's hostname) [emi]:
Name [EasyRSA]:
Email Address [emi@linuxito.com]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'AR'
stateOrProvinceName   :PRINTABLE:'Buenos Aires'
localityName          :T61STRING:'Bah\0xFFFFFFC3\0xFFFFFFADa Blanca'
organizationName      :PRINTABLE:'Linuxito.com'
organizationalUnitName:PRINTABLE:'vpn'
commonName            :PRINTABLE:'emi'
name                  :PRINTABLE:'EasyRSA'
emailAddress          :IA5STRING:'emi@linuxito.com'
Certificate is to be certified until Aug 13 01:06:09 2118 GMT (36500 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Luego cambiar al directorio keys/ y generar un archivo para descargar al cliente:

root@vpn:/etc/openvpn/easy-rsa# cd keys/
root@vpn:/etc/openvpn/easy-rsa/keys# tar czf emi.tar.gz emi.crt emi.key ca.crt ../../ta.key

Este archivo debe contener tanto el certificado y su correspondiente clave, como el certificado de la CA (ca.crt) y la clave de autenticación TLS (ta.key) si es que se utiliza este mecanismo de seguridad.

Desde el cliente, descargar el archivo /etc/openvpn/easy-rsa/keys/emi.tar.gz (por ejemplo utilizando WinSCP).

Instalación del cliente

Contando con un certificado que nos permita conectar a la VPN, descargar el cliente OpenVPN para Windows desde el siguiente enlace:

>a href="https://openvpn.net/index.php/open-source/downloads.html">OpenVPN Downloads

Descargar el instalador para Windows 7 y posterior.

Ejecutar el instalador y seleccionar el adaptador TAP y la GUI:

Entre las opciones avanzadas es posible configurar el cliente para que inicie automáticamente si así se desea:

Indicar un directorio de instalación:

Y permitir la instalación del dispositivo de red necesario para el funcionamiento de la VPN:

Al finalizar la instalación, aparece el siguiente ícono en la barra de tareas:

Configuración del cliente

Abrir una ventana en el directorio config/ dentro del directorio de instalación de OpenVPN:

En este directorio se almacena la configuración del cliente. Inicialmente está vacío.

Luego abrir el archivo comprimido con el certificado cliente (se puede utilizar 7-Zip para Windows):

Y extraer los archivos en un directorio temporal:

El siguiente paso consiste en dar permiso de escritura (Modify y Write) sobre el directorio config/ para el usuario actual (se debe contar con acceso como Administrador a tal fin):

Esto permite copiar el certificado y crear el archivo de configuración dentro de config/:

Luego crear un nuevo archivo de texto:

Y cambiar su nombre y extensión:

En Windows se utiliza la extensión .ovpn para identificar los archivos de configuración de OpenVPN. Editar el archivo de configuración con Notepad++:

La configuración varía de acuerdo a la del servidor OpenVPN. En el siguiente enlace se puede encontrar un archivo de configuración de un cliente de ejemplo:

OpenVPN / openvpn / sample / sample-config-files / client.conf

En este ejemplo se utiliza la siguiente configuración de dispositivo tun sobre UDP, que además incluye: autenticación TLS; el uso de la suite de cifrado AES-256-CBC; y compresión LZO:

client
dev tun
proto udp
remote 192.168.1.10 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
ca ca.crt
cert emi.crt
key emi.key
cipher AES-256-CBC
comp-lzo
tls-auth ta.key 1
verb 3

Editar la dirección IP y puerto del servidor remoto según corresponda.

Conexión a la VPN

Al guardar el archivo, el cliente detecta la nueva configuración y se conecta automáticamente a la VPN:

Se puede comprobar el estado pasando por encima con el ratón:

En caso de errores, comprobar el log de conexión del cliente.


Tal vez pueda interesarte


Compartí este artículo