🌙 LATE NIGHT MODE ACTIVATED — THE CLOWN IS WATCHING 🌙

WireGuard
explicado.

El protocolo que silenciosamente reemplazó a OpenVPN como el default de la mayoría de VPNs modernos. Más pequeño, más rápido, más aburrido. Y eso es bueno.

Qué es WireGuard

WireGuard es un protocolo VPN diseñado por Jason Donenfeld y lanzado en su primera forma estable en 2020. Se construyó con un solo objetivo: reemplazar los protocolos VPN complejos y cargados de configuración del pasado (OpenVPN, IPsec/IKEv2) con algo más pequeño, más simple, y más rápido.

Lo consiguió. Para 2026, WireGuard es el protocolo por defecto de la mayoría de VPNs comerciales (el nuestro incluido), está integrado en el kernel de Linux desde la versión 5.6, y tiene implementaciones nativas o de terceros sólidas en cada plataforma grande.

La filosofía de diseño

Las decisiones de diseño de WireGuard son minimalismo agresivo. Algunos ejemplos:

  • Un conjunto de cifrado — WireGuard usa ChaCha20 para cifrado, Poly1305 para autenticación, Curve25519 para intercambio de claves, BLAKE2s para hashing, y HKDF para derivación de claves. Sin negociación, sin opciones de algoritmo, sin modos legacy. Si se encuentra una vulnerabilidad en cualquiera de estos, reemplazas la versión del protocolo entera.
  • Transporte solo-UDP — sin opción TCP, sin cambio de modo. Más rápido y más simple.
  • Servidor sin estado, por diseño — el handshake es breve, no requiere tracking de conexión para la operación general.
  • Cryptokey routing — los peers se identifican por clave pública, no por IP ni credenciales.
  • ~4.000 líneas de código — frente a las ~70.000 de OpenVPN y los cientos de miles de IPsec.

Cómo funciona (brevemente)

WireGuard se sitúa como una interfaz de red (tipo wg0) que tu sistema operativo trata como una ruta más. Cuando mandas un paquete a una IP en el rango del túnel del VPN, el kernel le pasa el paquete al módulo de WireGuard, que:

  1. Busca qué peer corresponde a ese destino (cryptokey routing).
  2. Cifra el paquete usando las claves de sesión preestablecidas del peer.
  3. Lo envuelve en un paquete UDP y lo manda al endpoint del peer.

El peer recibe el paquete UDP, lo descifra, y emite el paquete interior a donde fuera su destino original.

El handshake (que establece las claves de sesión) usa el Noise Protocol Framework. Normalmente se completa en un solo round-trip — lo bastante rápido como para que los usuarios móviles apenas lo noten cuando cambian de red.

Rendimiento

WireGuard es genuinamente más rápido que OpenVPN en la mayoría de escenarios:

MétricaWireGuardOpenVPN
Throughput (enlace Gigabit)~950 Mbps~250-400 Mbps
Tiempo de handshake~1 RTT (~5-50ms)~6 RTT (~50-500ms)
Uso de CPU a tasa de líneaBajoAlto
Impacto en batería (móvil)BajoModerado

La brecha de rendimiento es real y consistente entre benchmarks. Para usuarios móviles, la diferencia de impacto en batería es especialmente notable — el handshake más pequeño de WireGuard y su cripto más eficiente significan menos despertares y menos trabajo de procesador.

Seguridad

La seguridad de WireGuard ha sido objeto de múltiples esfuerzos de verificación formal y revisiones académicas. El diseño usa primitivas criptográficas bien revisadas, y la base de código pequeña hace las vulnerabilidades más fáciles de detectar. No ha habido incidentes de seguridad importantes en el protocolo desde su lanzamiento.

Limitaciones conocidas:

  • Identificación de peer por persistencia de IP: como WireGuard mapea claves públicas a últimas IPs conocidas, los patrones de tráfico de un peer son ligeramente más rastreables que los de OpenVPN. En despliegues de VPN comercial, los proveedores suelen manejar esto con asignación dinámica de IP.
  • Sin autenticación nativa más allá de claves públicas: para los proveedores VPN, esto significa que no hay usuario/contraseña integrado en el protocolo; la identidad de usuario se maneja en otra capa.
  • Sensibilidad al MTU: algunas redes con configuraciones de MTU inusuales requieren ajuste manual.

WireGuard en ClownVPN

Usamos WireGuard como protocolo por defecto en Android. La elección fue sencilla: más rápido, menor impacto en batería, superficie de ataque más pequeña. Nuestra implementación usa wireguard-go, la implementación oficial en Go mantenida por el equipo de WireGuard.

Para usuarios en redes que bloquean UDP (algunos entornos corporativos, WiFi de hotel restrictivo), caemos a OpenVPN sobre TCP. Mira nuestro explicador de OpenVPN para detalles de cuándo entra el fallback.

Dónde aprender más

Lectura relacionada

🎪 Preguntas frecuentes

¿WireGuard es de verdad más rápido que OpenVPN?
Sí, de forma medible. En benchmarks entre distinto hardware, WireGuard suele lograr 2-3x el throughput de OpenVPN en la misma conexión, y usa bastante menos CPU. Las razones: WireGuard corre en el kernel (en Linux) o en implementaciones nativas eficientes en otras plataformas, usa un conjunto de cifrado más pequeño y rápido (ChaCha20-Poly1305), y tiene un handshake más simple que a menudo se completa en milisegundos frente a segundos de OpenVPN.
¿Por qué la base de código de WireGuard es tan pequeña?
Decisión de diseño deliberada. La implementación original de WireGuard ronda las 4.000 líneas de código, comparado con las ~70.000+ de OpenVPN y las ~400.000+ de IPsec. La superficie más pequeña hace el código más fácil de auditar, menos propenso a tener bugs, y más fácil de verificar formalmente en partes. El trade-off es menos features — WireGuard no intenta hacerlo todo; hace el trabajo VPN central y deja que el SO / userspace maneje el resto.
¿WireGuard tiene alguna desventaja de seguridad frente a OpenVPN?
Dos menores. (1) El diseño de WireGuard asume que los peers tienen identificadores estáticos (claves públicas mapeadas a IPs), lo que hace algunos tipos de rotación de identidad más complicados que en OpenVPN. (2) WireGuard no soporta nativamente la 'fragmentación' como OpenVPN, lo que puede causar problemas de MTU en redes raras. Ambos los abordan implementaciones de cliente razonables pero vale saber que existen.
¿Que WireGuard sea solo-UDP es un problema?
En la mayoría de redes, no — UDP es la elección correcta para el rendimiento. Pero algunas redes restrictivas (firewalls corporativos, cierto WiFi de hotel, algunas redes de países censurados) bloquean UDP por completo. OpenVPN puede caer a tráfico TCP-que-parece-HTTPS en esos entornos. Las implementaciones de WireGuard a veces envuelven UDP en TCP o usan herramientas acompañantes (udp2raw, wstunnel) pero no es nativo.
¿ClownVPN usa WireGuard?
Sí — WireGuard es nuestro protocolo por defecto en Android. Usamos la implementación oficial wireguard-go. También ofrecemos OpenVPN como fallback para usuarios en redes que bloquean UDP o tienen otros problemas de compatibilidad.

🎪 WireGuard, gratis

Protocolo por defecto en Android. Handshake rápido. Bajo impacto en batería.

🤖 Descargar la app gratis