Cómo configurar una VPN con OpenVPN de forma segura y completa

Última actualización: 16/10/2025
Autor: Isaac
  • OpenVPN ofrece seguridad sólida con TLS 1.2/1.3, AEAD y tls-crypt.
  • La elección entre AES-GCM y ChaCha20 depende del hardware y rendimiento.
  • PKI con Easy-RSA y políticas por cliente permiten control y revocación.
  • Pruebas de fugas DNS/IPv6 y ajustes de rutas garantizan un uso sin sorpresas.

Configuración OpenVPN paso a paso

Si estás buscando una forma fiable de proteger tus conexiones o de acceder a tu red desde cualquier lugar, OpenVPN es uno de los protocolos más seguros y versátiles que puedes implementar en casa o en tu empresa. Esta guía te acompaña desde cero: qué es, qué necesitas, cómo montarlo en Linux, Windows y routers, y cómo conectar clientes en distintos sistemas.

Más allá del simple encendido y apagado, aprenderás a configurar cifrados modernos, a evitar fallos típicos, a probar fugas DNS/IPv6 y a optimizar rendimiento. Incluye modos TUN y TAP, tls-crypt frente a tls-auth, uso de Access Server, despliegues en Omada y ASUS, y trucos clave para CG-NAT, rutas y cortafuegos.

Qué es una VPN y por qué OpenVPN

vpn

Una VPN crea un túnel cifrado entre tu dispositivo y un servidor, de forma que tu IP real se oculta y tus datos viajan protegidos. Esto permite teletrabajar con seguridad, acceder a recursos internos o sortear bloqueos geográficos de forma responsable.

OpenVPN, por su parte, es software libre y un protocolo ampliamente auditado que funciona en Windows, macOS, GNU/Linux, iOS y Android, así como en muchos routers. Está basado en SSL/TLS, soporta certificados digitales y autenticación adicional por usuario y contraseña.

Ventajas y desventajas de usar una VPN

Entre los beneficios más claros encontrarás privacidad y seguridad: el tráfico se cifra, se minimiza el rastreo y puedes navegar con más tranquilidad. También posibilita el acceso remoto seguro a redes internas, algo crítico en entornos profesionales.

Además, muchas personas aprovechan la VPN para acceder a contenidos disponibles en otros países o en redes que aplican bloqueos, siempre respetando leyes y términos de servicio de cada plataforma.

En el lado menos amable, la velocidad puede resentirse por el cifrado y el rebote de paquetes, especialmente en servicios gratuitos o si se elige mal el algoritmo en hardware sin aceleración. También hay que vigilar el origen de las apps para evitar software malicioso.

Rendimiento con OpenVPN: velocidad, latencia y estabilidad

Con una configuración adecuada, OpenVPN ofrece velocidades consistentes, buena latencia y alta estabilidad. En general, usar UDP reduce la sobrecarga frente a TCP y resulta más rápido en la mayoría de escenarios.

  La implementación de CMOV por Linus Torvalds mejora el rendimiento y seguridad de Linux

En equipos sin AES-NI (aceleración por hardware), ChaCha20-Poly1305 suele rendir mejor que AES-GCM. Si tu CPU sí acelera AES, prueba ambos para decidir; a veces AES-GCM gana en throughput.

Para qué sirve montar OpenVPN en casa o en la empresa

Montar tu propio servidor te permite navegar de manera segura incluso desde Wi-Fi públicas, salir a Internet como si estuvieras en casa y acceder a servicios internos como archivos, impresoras, cámaras IP o servidores NAS.

Eso sí, necesitarás que tu conexión disponga de IP pública o una solución para evitar el CG-NAT (Carrier-Grade NAT), pues sin puertos abiertos no recibirás conexiones entrantes. Conexiones con buena subida (por ejemplo, 30 Mbps o más) mejoran mucho la experiencia.

Modos TUN y TAP: qué elijo

OpenVPN puede trabajar en capa 3 (TUN) o en capa 2 (TAP). TUN crea un túnel IP punto a punto y es el modo más habitual para enrutar subredes separadas con menos overhead.

El modo TAP funciona como un bridge Ethernet y encapsula tramas L2, útil si necesitas que los extremos estén en la misma subred, pero añade más tráfico y conflictos potenciales cuando las subredes se superponen.

Criptografía recomendada y versiones de TLS

Para certificados, hoy es muy habitual usar EC (curvas elípticas) con secp521r1 y SHA-512 como hash, siempre que clientes y servidores sean compatibles y estén actualizados.

En el canal de control (TLS), minimiza a TLS 1.2 y habilita TLS 1.3 si está disponible con suites como TLS_AES_256_GCM_SHA384 o TLS_CHACHA20_POLY1305_SHA256. La PFS mediante ECDHE debe estar presente.

Para el canal de datos, AES-256-GCM o CHACHA20-POLY1305 son opciones robustas. Ambas son AEAD, por lo que no requieren auth separado. Evita cifrados antiguos como BF-CBC.

Refuerza la primera fase de negociación con tls-crypt (o tls-crypt-v2 cuando proceda) para mitigar DoS y ocultar metadatos de paquetes iniciales. tls-auth es compatible heredado, pero tls-crypt aporta cifrado del canal HMAC.

Preparativos imprescindibles

Antes de arrancar: verifica tu IP pública, abre el puerto en el router y asegúrate de no estar tras CG-NAT. Si no tienes IP fija, valora DDNS para asociar un dominio a tu IP dinámica.

En servidores Linux, prepara Easy-RSA 3 para la PKI y mantén OpenVPN y bibliotecas criptográficas al día. En Windows, la GUI de OpenVPN instala drivers TAP y ofrece ejemplos de configuración.

  Cómo Poner Un Link En Un Video De Youtube

Instalación y configuración en GNU/Linux (Debian/Ubuntu) con Easy-RSA 3

Instala el paquete con APT: sudo apt update && sudo apt install openvpn. Después descarga Easy-RSA 3, descomprime y configura el archivo vars con los parámetros EC, curva y hash deseados.

Ejemplos útiles: set_var EASYRSA_ALGO ec; set_var EASYRSA_CURVE secp521r1; set_var EASYRSA_DIGEST ‘sha512’. Usa modo cn_only si prefieres simplificar DNs al Common Name.

Inicializa la PKI con ./easyrsa init-pki, crea tu Autoridad de Certificación con ./easyrsa build-ca (con passphrase para la clave privada de la CA, altamente recomendable) y genera peticiones y claves para el servidor y cada cliente con ./easyrsa gen-req nombre.

Firma el certificado del servidor con ./easyrsa sign-req server nombre_servidor y los de clientes con ./easyrsa sign-req client nombre_cliente. Después, crea la clave HMAC con openvpn –genkey –secret ta.key para tls-crypt.

Organiza carpetas para no perderte: servidor (ca.crt, server.crt, server.key, ta.key) y una por cliente con su crt, key, la ca y la ta.key.

Ejemplo de configuración del servidor OpenVPN (Linux)

Ajusta el puerto y protocolo (recomendado UDP), elige dev tun, define cipher y tls-ciphersuites, curva ECDH y versión mínima de TLS. También establece la subred virtual, DNS que empujarás y permisos de usuario en el demonio.

Un esqueleto de servidor (adáptalo a tu entorno): usa rutas locales, DNS y cifrados compatibles con tus clientes. Recuerda que con cifrado AEAD no necesitas auth separado.

port 1194
proto udp
dev tun

ca ca.crt
cert servidor.crt
key servidor.key
dh none

# HMAC y ocultación del canal inicial
tls-crypt ta.key

# Cifrado y TLS (comprobar compatibilidad)
cipher AES-256-GCM
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
tls-version-min 1.2
ecdh-curve secp521r1
reneg-sec 0

# Topología y red virtual
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# Rutas y DNS para clientes
push 'route 192.168.1.0 255.255.255.0'
push 'redirect-gateway def1'
push 'dhcp-option DNS 208.67.222.222'
push 'dhcp-option DNS 208.67.220.220'

client-to-client
keepalive 10 120
max-clients 100

user nobody
group nogroup
persist-key
persist-tun

status openvpn-status.log
verb 3
explicit-exit-notify 1

Arranca con sudo openvpn servidor.conf y espera el mensaje de Initialisation Sequence Completed. Si no levanta, revisa rutas de ficheros y la compatibilidad de cifrados.

Configuración del cliente (Linux/Windows/macOS)

Crea un perfil por cliente con los mismos parámetros de cifrado y TLS que el servidor. Las diferencias clave son la directiva ‘client’, el ‘remote’ con IP o dominio y los ficheros de su identidad.

client
dev tun
proto udp
remote ejemplo.dyndns.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca ca.crt
cert cliente1.crt
key cliente1.key

remote-cert-tls server
cipher AES-256-GCM
# Para TLS 1.3 si aplica
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

# HMAC/ocultación
tls-crypt ta.key

verb 3

En Windows, coloca el .ovpn y certificados en la carpeta de OpenVPN GUI (por defecto en ‘C:\\Users\\TuUsuario\\OpenVPN\\config’) y conecta desde el icono del área de notificaciones. En macOS, usa OpenVPN Connect o un cliente compatible.

  Cómo restringir privilegios de administración en Windows 11: Guía avanzada con LAPS y Just Enough Administration (JEA)

Rutas y NAT en tu red

Para que los equipos de la LAN remota sean accesibles desde la VPN, puede ser necesaria una ruta estática en tu router apuntando a la subred 10.8.0.0/24 con puerta de enlace el servidor OpenVPN.

Si quieres enrutar todo el tráfico de los clientes por la VPN, usa ‘push redirect-gateway def1’ y ofrece DNS confiables. Evita fugas de DNS ajustando resolvers y cortafuegos del cliente.

Uso de OpenVPN Access Server en Linux

OpenVPN Access Server simplifica la administración mediante una consola web: instalas el paquete, accedes a https://IP:943/admin, aceptas términos y levantas el servicio. Puedes crear usuarios, descargar perfiles y clientes para cada sistema.

Hay límites en la versión gratuita (por ejemplo, dos conexiones simultáneas) y opciones avanzadas como perfiles de inicio de sesión automático o desactivar la compresión si causa problemas.

Clientes en Windows, macOS, Linux, Android e iOS

En Windows y macOS, puedes usar OpenVPN Connect o la GUI comunitaria; importa el perfil .ovpn y autentícate. En Linux, instala el paquete openvpn, coloca el perfil en ‘/etc/openvpn’ y levanta el servicio.

En Android e iOS, la app OpenVPN Connect permite importar el perfil por URL del servidor o subiendo el .ovpn. Asegúrate de introducir bien puerto, usuario y, si procede, contraseña o 2FA.

Configuración en routers y controladores: ASUS y Omada

Muchos routers ASUS incluyen servidor OpenVPN integrado: habilítalo en la web del router, elige puerto, crea usuarios y exporta el .ovpn. Trabaja mejor con IP WAN pública y firmware actualizado.

En entornos Omada, puedes levantar una política VPN tipo cliente a sitio: define OpenVPN como servidor, puerto, túnel completo o dividido, DNS y usuarios. Exporta el perfil .ovpn para los clientes.