Configurar un servidor OpenVPN en Windows

Requisitos previos:

  • Tener una PC con Windows 7 o exitos
  • El ordenador en cuestión debe tener una IP pública en internet

Instalación del paquete OpenVPN

  • Descargue e instale OpenVPN (comunidad) desde JUEV
  • Antes de continuar con la instalación, haga clic en "Personalizar"
  • Mientras estás en la ventana "Instalación personalizada" , desplácese hacia abajo hasta encontrar "Utilidades OpenSSL " → "Scripts de administración de certificados EasyRSA 3”Y asegúrese de que esté instalado junto con OpenVPN, ahora puede continuar haciendo clic en "Instalar ahora"

fácilRSA

Para la generación de las claves utilizaremos FácilRSA 3 la aplicación que instalamos en los pasos anteriores con OpenVPN. Los scripts de EasyRSA deben ejecutarse con el símbolo del sistema de Windows.

  • Abrimos el símbolo del sistema de Windows en modo Administrador
  • Vamos al directorio de EasyRSA, debería ser el siguiente:
cd "C:\Program Files\OpenVPN\easy-rsa"
  • Lanzamos EasyRSA con
EasyRSA-Start.bat
  • Antes de generar las claves, primero debe inicializar el directorio para la estructura de clave pública (PKI). Esto se hace a través del comando
./easyrsa init-pki
  • Abramos el archivo vars.bat para editarlo con el bloc de notas.
notepad vars.bat
  • Esta es la plantilla para generar los certificados, la información se usa por defecto en la generación. Busque y modifique las siguientes líneas según sus necesidades:
set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=OpenVPN
set [email protected]
  • También puede importar la longitud del parámetro Diffie Hellman
set DH_KEY_SIZE=2048
  • una vez que haya terminado de hacer cambios, guarde y ejecute este comando
./easyrsa clean-all

Generar certificados y claves

  • Comencemos por generar el certificado (CA), este certificado se utilizará para firmar las claves.
./easyrsa build-ca nopass
  • Luego podemos generar el certificado para el servidor y la clave.
./easyrsa build-server-full server nopass
  • Ahora podemos generar el del cliente con la respectiva clave
./easyrsa build-client-full Client1 nopass

Nota: Cambie Client1 por el nombre del cliente que se utilizará. Remover "No pase" y se le pedirá que elija una contraseña para los Clientes.

  • Como último paso podemos generar el parámetro Diffie Hellman
./easyrsa gen-dh

Todas las claves y certificados generados están presentes en estas rutas:

ArchiveDestino
certificado CAC:\Archivos de programa\OpenVPN\easy-rsa\pki
Parámetro de Diffie HellmanC:\Archivos de programa\OpenVPN\easy-rsa\pki
Clave de cliente y servidorC:\Archivos de programa\OpenVPN\easy-rsa\pki\private
Certificado de cliente y servidorC:\Archivos de programa\OpenVPN\easy-rsa\pki\emitido

Configuración del servidor OpenVPN

En esta parte explicamos cómo configurar un túnel OpenVPN (TUN) que utiliza:

  • protocolo UDP
  • autenticación TLS

Como plantilla para la configuración usaremos un archivo de muestra.

  • Copia el archivo servidor.ovpn que esta en la carpeta C:\Archivos de programa\OpenVPN\muestra-config in C:\Archivos de programa\OpenVPN\config
  • Copia los archivos ca.crt, servidor.crt, servidor.clave, dh2048.pem (su posición se muestra en la tabla del capítulo anterior) en C:\Archivos de programa\OpenVPN\config
  • Edite las siguientes líneas de la siguiente manera
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
key "C:\\Program Files\\OpenVPN\\config\\server.key"
dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"

El parámetro Diffie Hellman cambia según lo que haya especificado en el archivo var.bat

  • Finalmente, quedan las configuraciones adicionales... TCP o UDP, Túnel o Puente, etc...

Ejemplo de un archivo de configuración

port 10000
proto udp
dev tun
ca "C:/Program Files/OpenVPN/config/ca.crt"
cert "C:/Program Files/OpenVPN/config/server.crt"
key "C:/Program Files/OpenVPN/config/server.key"
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
#tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
;compress lz4-v2
;push "compress lz4-v2"
;comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
;mute 20
explicit-exit-notify 1

Configuración del cliente

Para configurar los clientes necesitarás

  • Copia los archivos ca.crt, cliente.crt y cliente.clave en la máquina del cliente
  • Edita y sube el archivo cliente.ovpn (una muestra se encuentra en la carpeta del servidor C:\Archivos de programa\OpenVPN\muestra-config)

Conexión y puesta en marcha del servidor

Una vez que se hayan completado todos los pasos anteriores, puede iniciar el servidor haciendo clic derecho en el icono y presionando "Connect"

¿Le resultó útil este artículo?