Comparativa: WireGuard vs OpenVPN para conexiones site‑to‑site redundantes
Por Kevin Marcondes · Publicado el · 7 min de lectura
Comparativa: WireGuard vs OpenVPN para conexiones site‑to‑site redundantes. En este análisis práctico examinamos el impacto en rendimiento, failover, MTU y la operación diaria, además de patrones activo/activo y activo/pasivo. Usa estos criterios para decidir entre ejecutar BGP dentro de los túneles o usar rutas estáticas con monitorización, reduciendo caídas y evitando loops.
Cómo pensar la redundancia site‑to‑site: objetivos y topologías
Redundancia no es solo “dos túneles”. Define objetivos: continuidad ante fallos de ISP, mantenimiento sin interrupciones, upgrades sin impacto y latencia predecible. Topologías comunes: activo/activo con dos túneles en paralelo y balanceo por rutas, y activo/pasivo con ruta de menor métrica y respaldo.
En ambos casos, mantén dominios de fallo separados: ISPs distintos, rutas independientes y prefijos anunciados por túneles diferentes. Para una ejecución paso a paso de WireGuard site‑to‑site, consulta tu guía interna o el procedimiento de la organización.
Rendimiento y latencia: kernel vs user space y DCO
WireGuard corre en el kernel de Linux y utiliza criptografía moderna con bajo overhead. Suele ofrecer mayor throughput y menor latencia por paquete, especialmente en CPUs modestas.
OpenVPN tradicional corre en user space y realiza más copias de paquetes. Con DCO (Data Channel Offload) en sistemas compatibles, la diferencia se reduce bastante. En hardware con AES‑NI, OpenVPN con AES‑GCM puede acercarse en rendimiento, pero la consistencia todavía favorece a WireGuard.
Detección de fallos, reconexión y roaming de endpoint
WireGuard usa un keepalive simple (PersistentKeepalive) y retoma el tráfico rápidamente cuando cambia la IP externa, gracias al “endpoint roaming”. Esto ayuda en enlaces con IP dinámica.
OpenVPN usa ping/keepalive y reconexión controlada; soporta múltiples "remote" para fallback. Ante fallos, el cambio de remote es automático. Para movilidad y acceso individual, revisa el tutorial de WireGuard road‑warrior.
Guía relacionada: WireGuard road‑warrior.
Configuración y operación: claves, PKI, rutas, MTU y firewall
WireGuard tiene una configuración compacta basada en claves y AllowedIPs. La revocación exige rotación de claves y actualización de los pares. Un MTU típico de 1420 ayuda a evitar fragmentación.
OpenVPN usa PKI/TLS, lo que facilita la revocación mediante CRL. Ajustes como tun‑mtu y mssfix son habituales para evitar fragmentación. Para puertos y reglas, revisa tu firewall con la guía de UFW en Ubuntu.
Guía relacionada: Configurar UFW en Ubuntu.
Redundancia en la práctica: patrones de arquitectura
Algunos patrones simples y eficaces para aumentar la resiliencia de los túneles y la red entre sitios:
- Dos túneles independientes (ISPs distintos) entre los mismos sitios.
- Activo/activo: ejecuta BGP/OSPF dentro de los túneles para ECMP y convergencia rápida.
- Activo/passivo: rutas estáticas con métricas distintas y monitor de next‑hop.
- Ruteo por política (PBR) para separar tráfico crítico del best‑effort.
- Anuncia prefijos específicos por cada túnel para controlar la simetría de rutas.
- Monitorea la salud de los túneles y aplica failover automatizado con scripts o FRR.
Seguridad: cifrado, superficie de ataque y cumplimiento
WireGuard utiliza un conjunto fijo y moderno de cifrado (p. ej.: Curve25519, ChaCha20‑Poly1305). La ausencia de negociación reduce la complejidad y las opciones incorrectas.
OpenVPN soporta múltiples suites vía TLS/OpenSSL, útil para requisitos específicos e integraciones con PKI existente. En entornos que bloquean UDP, OpenVPN sobre TCP/443 puede atravesar firewalls, a costa de rendimiento y con riesgo de “TCP over TCP”.
Observabilidad y troubleshooting en producción
Para estabilidad, monitoriza túneles y rutas. WireGuard expone contadores vía “wg show”; OpenVPN ofrece “status” e interfaz de gestión. Exporta métricas y crea alertas de pérdida de paquetes, latencia y flapping de BGP o caídas de peer.
Si aún no tienes una stack de métricas, un camino práctico es empezar con Prometheus y Grafana e incluir comprobaciones de ping/HTTP por cada camino.
- Alarmas por “packet loss” por encima de un umbral por túnel.
- Alertas por reconexiones frecuentes (flapping).
- Tiempo de convergencia tras fallo (RTO).
- Tasa de retransmisión/fragmentación (ajustar MTU/MSS).
Cuándo elegir cada uno (resumen con criterios)
Ambas soluciones sirven para enlaces site‑to‑site redundantes. La elección depende de restricciones de red, operación y hardware disponible. La tabla siguiente ayuda a decidir de forma práctica.
Este comparativo resume decisiones de campo entre WireGuard y OpenVPN, priorizando simplicidad operativa, detección rápida de fallos y previsibilidad de rutas.
| Criterio | WireGuard | OpenVPN | Impacto en la redundancia |
|---|---|---|---|
| Rendimiento/latencia | Generalmente superior (kernel) | Mejora con DCO; variable | Convergencia rápida y menor jitter favorecen un failover limpio |
| Roaming y IP dinámica | Nativo y rápido | Funciona; alterna 'remote' | Reduce el downtime ante cambios de IP/ISP |
| Atravesar firewalls | UDP fijo | UDP o TCP/443 | TCP/443 puede ser necesario en redes restringidas |
| Complejidad de configuración | Baja (claves) | Mayor (PKI/TLS) | La simplicidad reduce errores en cambios/fallos |
| Cifrado | Conjunto moderno y fijo | Flexible vía OpenSSL | La flexibilidad satisface compliance específicos |
| MTU/fragmentación | MTU 1420 común | Requiere tun‑mtu/mssfix | Menos fragmentación = menos pérdida ante fallos |
| Activo/activo con BGP/OSPF | Óptimo (FRR dentro del túnel) | Óptimo (FRR dentro del túnel) | Ambos dependen del enrutamiento, no del túnel |
| Observabilidad | wg + exporters | status/management + logs | Visibilidad acelera la detección y el failover |
Preguntas frecuentes
¿WireGuard soporta TCP para atravesar proxies corporativos?
No. WireGuard usa solo UDP. Si necesitas cruzar proxies o redes que bloquean UDP, OpenVPN en TCP/443 suele ser aceptado, con coste en rendimiento y riesgo de “TCP sobre TCP” en situaciones de congestión.
¿Cómo implementar activo/activo entre sitios?
Crea dos túneles independientes por ISPs distintos y ejecuta BGP u OSPF dentro de ellos (p. ej.: FRR). Anuncia prefijos con coste igual para ECMP. Monitoriza la salud de los túneles y ajusta timers para convergencia rápida sin provocar inestabilidad.
¿La IP dinámica dificulta la redundancia?
No necesariamente. WireGuard maneja bien cambios de IP mediante endpoint roaming. En OpenVPN, usa múltiples “remote” y DNS dinámico. En ambos casos, mantén keepalives y monitorización para detectar fallos y restablecer rutas rápidamente.
¿OpenVPN con DCO elimina la ventaja de WireGuard?
DCO reduce la brecha de rendimiento de OpenVPN, especialmente en Linux. Aun así, WireGuard suele mantener menor latencia y menor sobrecarga operativa. La elección final depende de firewall, compliance y herramientas ya adoptadas.
¿Cuál es la MTU recomendada para evitar problemas?
En WireGuard, 1420 es un buen punto de partida para muchos escenarios. En OpenVPN, ajusta tun‑mtu y usa mssfix para evitar fragmentación. Valida con pruebas de PMTU y monitoriza retransmisiones y pérdida tras cambios.
¿Necesito BGP obligatoriamente para redundancia?
No. Para activo/passivo, rutas estáticas con métricas distintas funcionan bien. BGP u OSPF facilitan activo/activo, ingeniería de tráfico y convergencia predecible, especialmente cuando hay múltiples prefijos o varios sitios interconectados.
Siguiente paso: pasa la arquitectura a la práctica
Aplica los criterios, elige el patrón (activo/activo o activo/pasivo) y, si optas por WireGuard, sigue un paso a paso práctico para montar los túneles y validar MTU, rutas y monitorización.
Ver tutorial de WireGuard site‑to‑siteVer también
- Comparativo: ZFS vs LVM+LUKS en VPS con bases de datos — snapshots, rendimiento y recuperación tras fallos
- Análisis práctico — comparativa: Nginx Unit vs PHP‑FPM vs RoadRunner para ejecutar monolitos PHP en contenedores — latencia, throughput y consumo de memoria
- Comparativa: Flyway vs Liquibase vs Sqitch para versionado de base de datos en proyectos PHP/Laravel
- Comparativa: ZFS vs Btrfs para snapshots, replicación y retención incremental en VPS con contenedores Docker — pros y contras prácticos