- 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.
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
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.
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.
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.
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.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.