VPN: WireGuard vs OpenVPN — Configuración y Comparativa 2026
En 2026, casi la mitad de la fuerza laboral global trabaja de forma remota al menos parte de la semana. Una VPN segura no es un lujo: es infraestructura crítica. Pero con dos protocolos dominantes — WireGuard y OpenVPN — la elección no es trivial. Cada uno resuelve un problema distinto con compromisos arquitectónicos que importan.
Este artículo compara ambos protocolos con benchmarks reales de hardware idéntico, configuraciones de producción verificadas y un análisis de seguridad que va más allá del marketing.
Tabla de Contenidos
- Evolución del VPN: De IPSec a WireGuard
- WireGuard: Arquitectura y Criptografía
- OpenVPN: Arquitectura y Criptografía
- Benchmarks de Rendimiento 2026
- Comparativa Seguridad
- Tabla Comparativa Completa
- Configuración WireGuard en Ubuntu 26.04
- Configuración OpenVPN en Ubuntu 26.04
- Cuándo Usar WireGuard
- Cuándo Usar OpenVPN
- Errores Comunes y Soluciones
- Conclusión
Evolución del VPN: De IPSec a WireGuard {#evolución-del-vpn}
El panorama de VPNs ha cambiado radicalmente en la última década:
- 2001: OpenVPN aparece como la primera VPN open-source seria, basada en OpenSSL y SSL/TLS. Flexible pero pesado.
- 2005-2015: IPSec domina el VPN corporativo. Complejo de configurar pero soportado por hardware dedicado.
- 2016: Jason Donenfeld publica WireGuard. Diseñado desde cero con criptografía moderna y un kernel de ~4.000 líneas.
- 2020: WireGuard se integra en el kernel Linux 5.6. NordVPN, Mullvad y ProtonVPN lo adoptan como protocolo principal.
- 2026: WireGuard es el protocolo por defecto para nuevos despliegues. OpenVPN mantiene ventajas específicas en compatibilidad y evasión de firewalls.
La pregunta ya no es "¿cuál es mejor?" sino "¿cuál es mejor para MI caso de uso?".
WireGuard: Arquitectura y Criptografía {#wireguard-arquitectura-y-criptografía}
Diseño de Minimalismo
WireGuard fue diseñado con una filosofía radical: menos es más. Mientras OpenVPN tiene ~70.000 líneas de código, WireGuard completa su implementación en el kernel Linux con aproximadamente 4.000 líneas de C.
Esta reducción en complejidad tiene implicaciones de seguridad directas:
- Superficie de ataque mínima: Cada línea de código es potencialmente vulnerable. 4.000 líneas son infinitamente más revisables que 70.000.
- Sin negociación de cifrados: No puedes configurar un cifrado débil porque WireGuard solo soporta un conjunto fijo de algoritmos modernos.
- Verificable por un solo revisor: El diseño explícitamente busca que un solo investigador pueda auditar el código completo.
Suite Criptográfica Fija
WireGuard no negocia algoritmos. Usa siempre los mismos:
| Componente | Algoritmo | Propósito |
|---|---|---|
| Cifrado | ChaCha20-Poly1305 | Cifrado AEAD de alta velocidad |
| Integridad | Poly1305 | HMAC de autenticación |
| Intercambio de claves | Curve25519 | ECDH sobre curva birracional |
| Hash | BLAKE2s | Resumen criptográfico |
| Handshake | Noise Protocol Framework | Establecimiento de túnel |
ChaCha20-Poly1305 es especialmente relevante en 2026 porque:
- Funciona rápidamente en ARM (dispositivos móviles) sin necesidad de AES-NI
- Es resistente a ataques de canal lateral
- Tiene rendimiento constante independiente de la implementación de hardware
Modelo de Peers
WireGuard no usa certificados ni PKI. Cada extremo tiene un par de claves pública/privada estática. La autenticación es similar a SSH:
Servidor: clave pública = ABC123...
Cliente: clave pública = XYZ789...
El servidor lista las claves públicas de sus clientes permitidos. No hay CA, no hay revocación de certificados — simplemente removes la clave pública de la configuración.
Roaming y Reconexión
WireGuard es stateless por diseño. No hay "conexión" que establecer, solo peers conocidos. Cuando un cliente cambia de Wi-Fi a datos móviles y de vuelta:
- La reconexión es casi instantánea (~100ms, verificada por múltiples fuentes independientes)
- No hay renegociación TLS
- El endpoint se actualiza automáticamente
Para usuarios móviles que cambian de red constantemente, esta es una ventaja tangible sobre OpenVPN.
OpenVPN: Arquitectura y Criptografía {#openvpn-arquitectura-y-criptografía}
Madurez y Flexibilidad
OpenVPN lleva más de 20 años en producción. Eso no es solo una fecha — es un historial de:
- Múltiples auditorías de seguridad (OSTIF 2017, 2018; Cure53 2019, 2022, 2024)
- CVEs encontrados y parcheados públicamente
- Despliegues en millones de dispositivos
- Compatibilidad con prácticamente todo: Windows, Linux, macOS, Android, iOS, routers DD-WRT, OpenWRT, dispositivos embebidos industriales
Suite Criptográfica Configurable
A diferencia de WireGuard, OpenVPN te permite elegir tus algoritmos:
cipher AES-256-GCM
auth SHA256
tls-cipher TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384
tls-version-min 1.2
Esto es una espada de doble filo:
- Ventaja: Puedes adaptarte a requisitos de compliance específicos (AES-256 para gov, RSA-4096 para certificados)
- Riesgo: Un administrador descuidado puede copiar una configuración antigua que use AES-CBC o SHA-1, debilitando el túnel
OpenVPN 2.6 con DCO (Data Channel Offload)
Una mejora significativa en OpenVPN 2.6 es DCO, que mueve el cifrado de datos al kernel:
- Sin DCO: El paquete viaja userspace → kernel → userspace (lento)
- Con DCO: El cifrado ocurre en kernel space (rápido)
Esto cierra significativamente la brecha de rendimiento con WireGuard en hardware moderno. DCO está habilitado por defecto en OpenVPN 2.6+ según la documentación oficial de OpenVPN.
PKI y Certificados
OpenVPN usa un modelo de Certification Authority (CA) completo:
- CA privada (offline recomendada)
- Certificado del servidor
- Certificado por cliente/dispositivo
- CRL (Certificate Revocation List) para revocar acceso
- Soporte para MFA/TOTP con plugins PAM
Para organizaciones con rotación de personal frecuente, la revocación por certificado es más granular que la gestión de claves de WireGuard.
Benchmarks de Rendimiento 2026 {#benchmarks-de-rendimiento-2026}
Nota Metodológica
Los benchmarks de VPN varían significativamente según hardware, configuración de red, cifrado utilizado y versión de software. No existen números universales. Los datos a continuación provienen de dos fuentes independientes con metodología documentada: un paper académico peer-reviewed y pruebas de laboratorio con hardware reproducible. Las conclusiones cualitativas (WireGuard supera a OpenVPN) están corroboradas por múltiples comparaciones independientes.
Fuente 1: Paper Académico (MDPI Computers, 2025)
Un estudio peer-reviewed evaluó ambos protocolos en entornos cloud (Azure y VMware) con OpenVPN 2.6.12 y WireGuard 1.0.20210914 en Ubuntu 24.04:
| Entorno | WireGuard Throughput | OpenVPN Throughput | Observación |
|---|---|---|---|
| VMware (baseline) | 210.64 Mbps TCP | 110.34 Mbps TCP | WireGuard 1.9x superior |
| Azure (baseline) | ~280-290 Mbps | ~280-290 Mbps | Rendimiento similar |
| VMware (packet loss) | 12.35% | 47.01% | Ventaja significativa WireGuard |
| Azure (latencia) | ~85-86 ms | ~85-86 ms | Refleja latencia inherente del cloud |
Conclusión del paper: El rendimiento relativo depende del entorno de despliegue. WireGuard muestra ventajas claras en VMware, mientras que en cloud público ambos se comportan similarmente. El paper enfatiza que la selección debe guarse por el entorno y requisitos de la aplicación, no por superioridad general.
Fuente: "Empirical Performance Analysis of WireGuard vs. OpenVPN in Cloud and Virtualised Environments", MDPI Computers 14(8):326, 2025.
Fuente 2: Pruebas de Laboratorio (Datazone GmbH, 2026)
Datazone GmbH, integrador de IT en Neuburg an der Donau (Alemania), realizó pruebas en hardware idéntico con OPNsense 26.1 (FreeBSD 14.2) en Supermicro:
| Componente | Configuración |
|---|---|
| CPU | Intel Xeon E-2488 (8C/16T, 3.2 GHz) |
| RAM | 32 GB DDR5 ECC |
| NIC | Intel X710-DA2 (10 GbE SFP+) |
| WireGuard | Módulo kernel 1.0.20251115 |
| OpenVPN | 2.6.12 con DCO habilitado |
| Cifrado | ChaCha20-Poly1305 (ambos) |
| Herramienta | iperf3 3.18, 60 segundos, 5 repeticiones |
Throughput TCP:
| Prueba | WireGuard | OpenVPN 2.6 + DCO | OpenVPN sin DCO |
|---|---|---|---|
| 1 stream | 9.32 Gbps | 7.84 Gbps | 1.91 Gbps |
| 4 streams | 9.41 Gbps | 9.18 Gbps | 3.62 Gbps |
| 16 streams | 9.42 Gbps | 9.29 Gbps | 5.84 Gbps |
Latencia (ICMP, 1000 paquetes):
| Métrica | WireGuard | OpenVPN 2.6 + DCO |
|---|---|---|
| RTT promedio | 0.27 ms | 0.52 ms |
| Jitter (desv. estándar) | 0.04 ms | 0.21 ms |
CPU a 5 Gbps constante:
WireGuard: 12.4% (distribuido en 4 cores)
OpenVPN DCO: 19.8% (distribuido en 4 cores)
OpenVPN clásico: 78.3% (1 core saturado)
Observaciones de Datazone:
- OpenVPN con DCO se acerca significativamente a WireGuard — sin DCO, OpenVPN no es competitivo en alta velocidad
- WireGuard alcanza line-speed en 10GbE con un solo stream
- En hardware sin aceleración AES (ARM), la ventaja de WireGuard es aún mayor
Fuente: Datazone GmbH, "WireGuard vs. OpenVPN 2026: Benchmark and Recommendation", Neuburg test lab, Junio 2026.
Análisis Cruzado de Fuentes
Las siguientes conclusiones cualitativas están corroboradas por múltiples fuentes independientes:
| Afirmación | Fuentes que la respaldan |
|---|---|
| WireGuard es generalmente más rápido que OpenVPN | MDPI (académico), Datazone (lab), VPNSmith/AnonymFlow (mismo autor), Shattered.io |
| WireGuard tiene menor latencia y jitter | Datazone (lab), VPNSmith/AnonymFlow (mismo autor), Shattered.io |
| WireGuard usa menos CPU | Datazone (lab), VPNSmith/AnonymFlow (mismo autor), Shattered.io |
| OpenVPN con DCO cierra la brecha significativamente | Datazone (lab), documentación OpenVPN |
| WireGuard reconecta más rápido (~100ms vs varios segundos) | VPNSmith/AnonymFlow (mismo autor), Shattered.io |
| WireGuard es mejor para roaming móvil | VPNSmith/AnonymFlow (mismo autor), Shattered.io |
Nota sobre fuentes: VPNSmith y AnonymFlow son del mismo autor (Eric Gerard) y declaran explícitamente que sus artículos son comparaciones cualitativas basadas en características documentadas, no benchmarks privados. Por ello solo se les atribuyen afirmaciones cualitativas, nunca cifras específicas de rendimiento.
Práctica Real: ¿Cuánta Velocidad Necesitas?
Para conexiones domésticas típicas (< 1 Gbps), la diferencia es imperceptible. Ambos protocolos saturan el enlace. Las diferencias aparecen en:
- Servidores: Transferencias entre centros de datos (10 Gbps+)
- Móviles: Batería y CPU importan en dispositivos con batería
- Hardware embebido: Raspberry Pi, routers, dispositivos IoT sin AES-NI
Comparativa Seguridad {#comparativa-seguridad}
Ataques y Superficie de Ataque
| Aspecto | WireGuard | OpenVPN |
|---|---|---|
| Líneas de código | ~4.000 (kernel) | ~70.000 + OpenSSL |
| Negociación de cifrados | No (suite fija) | Sí (configurable) |
| Ataque de downgrade | Imposible | Posible si mal configurado |
| Auditorías públicas | Cure53 (2018, 2019), Trail of Bits (2020), INRIA | OSTIF (2017, 2018), Cure53 (2019, 2022, 2024) |
| CVEs conocidos | Ninguno crítico | Históricos, parcheados |
| Dependencias | Mínimas (kernel nativo) | OpenSSL (gran superficie) |
Verificación Formal
WireGuard ha sido formalmente verificado usando el probador Tamarin (2018-2020), lo que matemáticamente demuestra que el protocolo no tiene defectos en su diseño. OpenVPN no tiene verificación formal equivalente, pero su madurez operacional compensa parcialmente esta diferencia.
Modelo de Amenazas
WireGuard gana cuando:
- Necesitas auditabilidad rápida (código pequeño)
- Quieres eliminar el riesgo de misconfiguración de cifrados
- La superficie de ataque es crítica
OpenVPN gana cuando:
- Necesitas revocación granular de usuarios (CRL)
- Requisitos de compliance que exigen X.509
- Certificados con cadenas de confianza verificables
Tabla Comparativa Completa {#tabla-comparativa-completa}
| Característica | WireGuard | OpenVPN |
|---|---|---|
| Año de lanzamiento | 2016 | 2001 |
| Creador | Jason Donenfeld | James Yonan |
| Líneas de código | ~4.000 | ~70.000+ |
| Cifrado por defecto | ChaCha20-Poly1305 | AES-256-GCM |
| Intercambio de claves | Curve25519 | RSA/ECDHE via TLS |
| Hash | BLAKE2s | SHA-2 vía OpenSSL |
| Transporte | Solo UDP | UDP o TCP |
| Puerto configurable | Sí | Sí (cualquier puerto) |
| Tiempo de conexión | ~100 ms | Hasta ~8 segundos |
| Throughput relativo | Generalmente más rápido | Referencia |
| Uso de CPU | Bajo (kernel space) | Alto (userspace) |
| Roaming | Reconexión instantánea | Renegociación TLS |
| Evasión de firewalls | Débil (necesita wrappers) | Fuerte (TCP 443) |
| Espacio de kernel | Sí (Linux 5.6+) | No (daemon userspace) |
| Complejidad de auditoría | Fácil | Difícil |
| Resistencia cuántica | No nativa | No nativa |
Configuración WireGuard en Ubuntu 26.04 {#configuración-wireguard-en-ubuntu-2604}
Requisitos
- Ubuntu 26.04 LTS (o 24.04/22.04)
- IP pública con UDP 51820 accesible
- Acceso sudo
- Kernel 5.6+ (incluido por defecto)
Paso 1: Instalar WireGuard
sudo apt update
sudo apt install -y wireguard wireguard-tools
Paso 2: Generar Claves del Servidor
sudo mkdir -p /etc/wireguard
cd /etc/wireguard
sudo sh -c 'umask 077; wg genkey | tee server_private.key | wg pubkey > server_public.key'
Nunca compartas la clave privada. El umask 077 garantiza que solo root pueda leerla.
Paso 3: Configurar el Servidor
sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.100.0.1/24
ListenPort = 51820
PrivateKey = TU_CLAVE_PRIVADA_AQUI
SaveConfig = false
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Nota: Reemplaza
eth0con tu interfaz real. Verifica conip route show default.
Paso 4: Habilitar IP Forwarding
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf
Paso 5: Configurar Firewall
sudo ufw allow 22/tcp
sudo ufw allow 51820/udp
sudo ufw --force enable
Paso 6: Iniciar WireGuard
sudo systemctl enable --now wg-quick@wg0
sudo wg show
Deberías ver algo como:
interface: wg0
public key: ABC123...
private key: (hidden)
listening port: 51820
Paso 7: Configurar Cliente
# En el cliente
sudo apt update
sudo apt install -y wireguard wireguard-tools
sudo mkdir -p /etc/wireguard
cd /etc/wireguard
sudo sh -c 'umask 077; wg genkey | tee client_private.key | wg pubkey > client_public.key'
Crear /etc/wireguard/wg0.conf en el cliente:
[Interface]
Address = 10.100.0.2/24
PrivateKey = TU_CLAVE_PRIVADA_CLIENTE
DNS = 1.1.1.1
[Peer]
PublicKey = CLAVE_PUBLICA_SERVIDOR
Endpoint = IP_SERVIDOR_PUBLICA:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Paso 8: Registrar Cliente en el Servidor
Volver al servidor y agregar el peer:
sudo tee -a /etc/wireguard/wg0.conf > /dev/null <<'PEER'
[Peer]
PublicKey = CLAVE_PUBLICA_CLIENTE
AllowedIPs = 10.100.0.2/32
PEER
Recargar sin interrumpir conexiones activas:
sudo wg syncconf wg0 <(sudo wg-quick strip wg0)
Paso 9: Verificar
# En el cliente
sudo systemctl enable --now wg-quick@wg0
ping 10.100.0.1
Configuración OpenVPN en Ubuntu 26.04 {#configuración-openvpn-en-ubuntu-2604}
Requisitos
- Ubuntu 26.04 LTS
- IP pública con UDP 1194 accesible
- Acceso sudo
- Easy-RSA 3.x
Paso 1: Instalar OpenVPN y Easy-RSA
sudo apt update
sudo apt install -y openvpn easy-rsa
Paso 2: Configurar la CA
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca nopass
Paso 3: Generar Certificados
# Certificado del servidor
./easyrsa gen-req server nopass
./easyrsa sign-req server server
# Certificado del cliente (repite por cada usuario)
./easyrsa gen-req cliente1 nopass
./easyrsa sign-req client cliente1
# Parámetros DH (solo si usas RSA; con ECDSA puedes usar dh none)
./easyrsa gen-dh
# Clave TLS
openvpn --genkey secret ta.key
Paso 4: Configurar el Servidor
Copiar archivos necesarios:
sudo cp pki/ca.crt /etc/openvpn/server/
sudo cp pki/issued/server.crt /etc/openvpn/server/
sudo cp pki/private/server.key /etc/openvpn/server/
sudo cp ta.key /etc/openvpn/server/
sudo cp pki/crl.pem /etc/openvpn/server/
sudo chmod 644 /etc/openvpn/server/crl.pem
Crear /etc/openvpn/server/server.conf:
port 1194
proto udp4
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key
dh none
tls-crypt /etc/openvpn/server/ta.key
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
cipher AES-256-GCM
data-ciphers AES-256-GCM:AES-128-GCM
auth SHA256
tls-version-min 1.2
user nobody
group nogroup
persist-key
persist-tun
crl-verify /etc/openvpn/server/crl.pem
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
Paso 5: NAT y Firewall
# IP Forwarding
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-openvpn.conf
sudo sysctl --system
# Detectar interfaz pública
PUBLIC_NIC=$(ip route show default | awk '{print $5}')
# Regla NAT
sudo tee /etc/ufw/before.rules > /dev/null <<EOF
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o ${PUBLIC_NIC} -j MASQUERADE
COMMIT
EOF
# Permitir forwarding
sudo sed -i 's/DEFAULT_FORWARD_POLICY="DROP"/DEFAULT_FORWARD_POLICY="ACCEPT"/' /etc/default/ufw
# Abrir puertos
sudo ufw allow 22/tcp
sudo ufw allow 1194/udp
sudo ufw --force enable
Paso 6: Iniciar Servidor
sudo systemctl enable --now openvpn-server@server
Paso 7: Generar Perfil de Cliente
Crear script generate-client.sh:
#!/bin/bash
CLIENT=$1
SERVER_IP="TU_IP_PUBLICA"
CA_DIR=~/openvpn-ca/pki
cat > ~/${CLIENT}.ovpn <<EOF
client
dev tun
proto udp
remote ${SERVER_IP} 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
key-direction 1
verb 3
<ca>
$(cat ${CA_DIR}/ca.crt)
</ca>
<cert>
$(cat ${CA_DIR}/issued/${CLIENT}.crt)
</cert>
<key>
$(cat ${CA_DIR}/private/${CLIENT}.key)
</key>
<tls-crypt>
$(cat ~/openvpn-ca/ta.key)
</tls-crypt>
EOF
echo "Perfil generado: ~/${CLIENT}.ovpn"
chmod +x generate-client.sh
./generate-client.sh alice
Paso 8: Revocar Cliente
cd ~/openvpn-ca
./easyrsa revoke alice
./easyrsa gen-crl
sudo cp pki/crl.pem /etc/openvpn/server/
sudo systemctl restart openvpn-server@server
Importante: El CRL expira en 180 días. Configura un recordatorio para regenerarlo.
Cuándo Usar WireGuard {#cuándo-usar-wireguard}
| Caso de Uso | ¿Por qué WireGuard? |
|---|---|
| VPN personal (1-10 dispositivos) | Configuración mínima, rendimiento máximo |
| Móvil (cambio Wi-Fi/4G) | Roaming instantáneo, menos batería |
| Servidor a servidor (site-to-site) | Throughput cercano a line-speed |
| Gaming competitivo / VoIP | Latencia mínima |
| Raspberry Pi / ARM | ChaCha20 rápido sin AES-NI |
| Nuevo despliegue 2026 | El estándar de facto |
Cuándo Usar OpenVPN {#cuándo-usar-openvpn}
| Caso de Uso | ¿Por qué OpenVPN? |
|---|---|
| Firewalls corporativos (TCP/443) | Tráfico indistinguible de HTTPS |
| Dispositivos legacy | Clientes para todo (Windows 7, routers antiguos) |
| Compliance con X.509 | PKI completa con CRL |
| Revoke granular a escala | Certificados por usuario/dispositivo |
| Países con censura (China, Irán) | TCP/443 + ofuscación evita DPI |
| Autenticación MFA | Plugins PAM integrados |
El Caso del TCP/443
WireGuard es UDP-only. En redes restrictivas que bloquean UDP, WireGuard simplemente no funciona. OpenVPN en TCP/443 pasa invisible:
# En server.conf y cliente
proto tcp
port 443
Para WireGuard en redes restrictivas, necesitas wrappers como wstunnel o Cloak — complejidad adicional.
Errores Comunes y Soluciones {#errores-comunes-y-soluciones}
WireGuard
| Error | Causa | Solución |
|---|---|---|
| Handshake no completa | Puerto UDP bloqueado | Verificar ufw allow 51820/udp y security groups |
| Conecta pero sin internet | IP forwarding deshabilitado | sysctl net.ipv4.ip_forward debe ser 1 |
| Sin internet por túnel | NAT no configurado | Verificar regla MASQUERADE en iptables |
| Clave inválida | Permisos de archivo | chmod 600 /etc/wireguard/wg0.conf |
OpenVPN
| Error | Causa | Solución |
|---|---|---|
AUTH_FAILED |
Clave tls-crypt inconsistente | Verificar ta.key coincida (0 servidor, 1 cliente) |
CRL has expired |
CRL vencido (180 días) | Regenerar con ./easyrsa gen-crl |
| Conecta pero sin internet | NAT o forwarding ausente | Verificar ip_forward=1 y MASQUERADE |
VERIFY ERROR |
Certificado firmado como client | Usar sign-req server para cert del servidor |
| Servicio no inicia | Permisos de archivos | OpenVPN usa nobody: chmod 644 en cert/keys |
Conclusión {#conclusión}
WireGuard es el Default en 2026
Para el 95% de nuevos despliegues, WireGuard es la elección correcta:
- Generalmente más rápido: Múltiples estudios independientes confirman throughput superior, especialmente en hardware sin AES-NI y en entornos on-premise
- Más simple: 4.000 líneas vs 70.000
- Más seguro por diseño: Suite fija, sin misconfiguración posible
- Mejor para móviles: Roaming instantáneo, menos batería
OpenVPN Sigue Siendo Esencial
OpenVPN no está obsoleto. Es indispensable cuando:
- Necesitas TCP/443 para firewalls restrictivos
- Compliance exige X.509 y CRL
- Dispositivos legacy solo soportan OpenVPN
- Requieres revocación granular a escala
La Estrategia Óptima: Los Dos Juntos
En producción, la combinación es pragmática:
WireGuard → Conexiones principales, site-to-site, móviles
OpenVPN → Fallback para redes restrictivas, dispositivos legacy
La mayoría de proveedores VPN (NordVPN, Mullvad, ProtonVPN) ya operan así: WireGuard como protocolo principal, OpenVPN como respaldo.
Artículos Relacionados {#artículos-relacionados}
- Firewall: Qué es, Tipos y Configuración — Defensa perimetral y configuración iptables/pfSense
- Seguridad en Redes: Defensa Perimetral — IDS/IPS con Snort y Suricata
- Seguridad WiFi: WPA3, Ataques y Pentesting — Vulnerabilidades de red inalámbrica
Última actualización: Julio 2026. Benchmarks de hardware real y configuraciones verificadas en Ubuntu 26.04 LTS. Los datos de rendimiento varían según hardware, red y configuración — ver sección de metodología para detalles.
