Guía completa de WireGuard: instalación, claves y configuración avanzada

Última actualización: 24/09/2025

  • Arquitectura simple y cifrado moderno: claves por peer y AllowedIPs para enrutado.
  • Instalación rápida en Linux y apps oficiales para escritorio y móvil.
  • Rendimiento superior a IPsec/OpenVPN, con roaming y baja latencia.
guía wireguard

Si buscas una VPN que sea rápida, segura y sencilla de desplegar, WireGuard es de lo mejor que puedes usar hoy. Con un diseño minimalista y criptografía moderna, resulta ideal para usuarios domésticos, profesionales y entornos corporativos, tanto en equipos como en móviles y routers.

En esta guía práctica encontrarás desde los fundamentos hasta la configuración avanzada: instalación en Linux (Ubuntu/Debian/CentOS), claves, fichero del servidor y del cliente, reenvío IP, NAT/Firewall, aplicaciones en Windows/macOS/Android/iOS, split tunneling, rendimiento, solución de problemas, y compatibilidad con plataformas como OPNsense, pfSense, QNAP, Mikrotik o Teltonika.

¿Qué es WireGuard y por qué elegirlo?

WireGuard es un protocolo y software de VPN de código abierto pensado para crear túneles cifrados L3 sobre UDP. Destaca frente a OpenVPN o IPsec por su simplicidad, rendimiento y menor latencia, apoyándose en algoritmos modernos como Curve25519, ChaCha20-Poly1305, BLAKE2, SipHash24 y HKDF.

Su base de código es muy reducida (en torno a unas miles de líneas), lo que facilita auditorías, reduce superficie de ataque y mejora el mantenimiento. Además, está integrado en el kernel de Linux, lo que permite altas tasas de transferencia y respuesta ágil incluso en hardware modesto.

 

Es multiplataforma: existen apps oficiales para Windows, macOS, Linux, Android e iOS, y soporte en sistemas orientados a router/firewall como OPNsense. También está disponible en entornos como FreeBSD, OpenBSD o plataformas NAS y virtualización.

wireguard vpn

Cómo funciona por dentro

 

WireGuard establece un túnel cifrado entre pares (peers) identificados por claves. Cada dispositivo genera un par de claves (privada/pública) y comparte únicamente su clave pública con el otro extremo; a partir de ahí, todo el tráfico circula cifrado y autenticado.

La directiva AllowedIPs define tanto el enrutamiento saliente (qué tráfico debe ir por el túnel) como la lista de orígenes válidos que aceptará el peer remoto tras descifrar correctamente un paquete. Este enfoque se conoce como Cryptokey Routing y simplifica mucho la política de tráfico.

WireGuard es excelente con el roaming: si cambia la IP de tu cliente (por ejemplo, saltas de Wi‑Fi a 4G/5G), la sesión se reestablece de forma transparente y muy rápida. También es compatible con kill‑switch para bloquear el tráfico fuera del túnel si la VPN cae.

Instalación en Linux: Ubuntu/Debian/CentOS

En Ubuntu, WireGuard está en los repos oficiales. Actualiza paquetes y después instala el software para disponer del módulo y las herramientas wg y wg-quick.

apt update && apt upgrade -y
apt install wireguard -y
modprobe wireguard

En Debian estable puedes apoyarte en repos de rama inestable si lo necesitas, siguiendo el método recomendado y con cuidado en producción:

sudo sh -c 'echo deb https://deb.debian.org/debian/ unstable main > /etc/apt/sources.list.d/unstable.list'
sudo sh -c 'printf "Package: *\nPin: release a=unstable\nPin-Priority: 90\n" > /etc/apt/preferences.d/limit-unstable'
sudo apt update
sudo apt install wireguard

En CentOS 8.3 el flujo es similar: activas repos EPEL/ElRepo si hace falta y luego instalas el paquete de WireGuard y módulos correspondientes.

Contenido exclusivo - Clic Aquí  Como Saber Si Esta Hackeado Mi Celular

wireguard

Generación de claves

Cada peer debe tener su par clave privada/pública. Aplica umask para restringir permisos y genera las claves para servidor y clientes.

umask 077
wg genkey | tee privatekey | wg pubkey > publickey

Repite en cada dispositivo. Nunca compartas la clave privada y guarda ambas de forma segura. Si lo prefieres, crea archivos con nombres diferenciados, por ejemplo claveprivadaservidor y clavepublicaservidor.

Configuración del servidor

Crea el fichero principal en /etc/wireguard/wg0.conf. Asigna una subred de la VPN (no usada en tu LAN real), el puerto UDP y añade un bloque [Peer] por cliente autorizado.

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <clave_privada_servidor>

# Cliente 1
[Peer]
PublicKey = <clave_publica_cliente1>
AllowedIPs = 10.0.0.2/32

También puedes usar otra subred, por ejemplo 192.168.2.0/24, y crecer con múltiples peers. Para despliegues rápidos es habitual emplear wg-quick con ficheros wgN.conf.

Configuración del cliente

En el cliente crea un archivo, por ejemplo wg0-client.conf, con su clave privada, dirección de túnel, DNS opcional y el peer del servidor con su endpoint público y puerto.

[Interface]
PrivateKey = <clave_privada_cliente>
Address = 10.0.0.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = <clave_publica_servidor>
Endpoint = <ip_publica_servidor>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Si pones AllowedIPs = 0.0.0.0/0 todo el tráfico saldrá por la VPN; si solo quieres llegar a redes concretas del servidor, limita a las subredes necesarias y reducirás latencia y consumo.

Reenvío de IP y NAT en el servidor

Activa el reenvío para que los clientes tengan salida a Internet a través del servidor. Aplica los cambios al vuelo con sysctl.

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.conf
sysctl -p

Configura NAT con iptables para la subred de la VPN, ajustando la interfaz WAN (por ejemplo, eth0):

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE

Hazlo persistente con los paquetes adecuados y guarda reglas para que se apliquen al reiniciar el sistema.

apt install -y iptables-persistent netfilter-persistent
netfilter-persistent save

Arranque y verificación

Levanta la interfaz y habilita el servicio para que arranque con el sistema. Este paso crea la interfaz virtual y añade rutas necesarias.

systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0
wg

Con wg verás los peers, claves, transferencias y tiempos de último handshake. Si tu política de firewall es restrictiva, permite entrada por la interfaz wg0 y el puerto UDP del servicio:

iptables -I INPUT 1 -i wg0 -j ACCEPT

Apps oficiales: Windows, macOS, Android e iOS

En el escritorio puedes importar un fichero .conf. En móviles, la app permite crear la interfaz a partir de un código QR que contenga la configuración; resulta comodísimo para clientes no técnicos.

Si tu objetivo es exponer servicios autoalojados como Plex/Radarr/Sonarr a través de tu VPN, basta con asignar IPs en la subred de WireGuard y ajustar AllowedIPs para que el cliente alcance esa red; no necesitas abrir puertos adicionales al exterior si todo el acceso es por el túnel.

Ventajas y desventajas

WireGuard es muy rápido y simple, pero conviene considerar sus límites y particularidades según el caso de uso. Aquí tienes una visión equilibrada con lo más relevante.

Contenido exclusivo - Clic Aquí  Cómo crear vídeos con Gemini: la nueva función de Google para transformar imágenes en clips animados
Ventajas Desventajas
Configuración clara y corta, ideal para automatizar No incorpora ofuscación nativa de tráfico
Alto rendimiento y baja latencia incluso en móviles En algunos entornos legacy hay menos opciones avanzadas
Criptografía moderna y código pequeño que facilita auditoría Privacidad: asociación de IP/clave pública puede ser sensible según políticas
Roaming fluido y kill‑switch disponibles en clientes Compatibilidad de terceros no siempre homogénea

 

Split tunneling: dirigir solo lo necesario

El túnel dividido te permite enviar por la VPN únicamente el tráfico que te interesa. Con AllowedIPs decides si haces redirección total o selectiva hacia una o varias subredes.

# Redirección completa de Internet
[Peer]
AllowedIPs = 0.0.0.0/0
# Solo acceder a recursos de la LAN 192.168.1.0/24 por la VPN
[Peer]
AllowedIPs = 192.168.1.0/24

Existen variantes como el túnel dividido inverso, filtrado por URL o por aplicación (a través de extensiones/clients específicos), aunque la base nativa en WireGuard es el control por IP y prefijos.

Compatibilidad y ecosistema

WireGuard nació para el kernel Linux, pero hoy es multiplataforma. OPNsense lo integra de forma nativa; en pfSense hubo periodos de retirada temporal por auditorías y posteriormente se ha ofrecido como paquete opcional según versión.

En NAS como QNAP puedes montarlo vía QVPN o máquinas virtuales, aprovechando NICs a 10GbE para altas velocidades. Routerboards Mikrotik incorporan soporte WireGuard desde RouterOS 7.x; en sus primeras iteraciones fue beta y no recomendable para producción, pero permite túneles P2P entre equipos e incluso clientes finales.

Fabricantes como Teltonika disponen de paquete para añadir WireGuard en sus routers; si necesitas equipamiento, puedes adquirirlos en shop.davantel.com y seguir las guías del fabricante para instalar paquetes extra.

Rendimiento y latencia

Gracias a su diseño minimalista y la elección de algoritmos eficientes, WireGuard logra velocidades muy altas y latencias bajas, por lo general superiores a L2TP/IPsec y OpenVPN. En pruebas locales con hardware potente, la tasa real duplica con frecuencia a las alternativas, lo que lo hace ideal para streaming, juegos o VoIP.

Implementación corporativa y teletrabajo

En empresa, WireGuard encaja para crear túneles entre sedes, acceso remoto de empleados y conexiones seguras entre CPD y nube (por ejemplo, para copias de seguridad). Su sintaxis concisa facilita el versionado y la automatización.

Se integra con directorios como LDAP/AD mediante soluciones intermedias y puede convivir con IDS/IPS o plataformas NAC. Una opción conocida es PacketFence (código abierto), que permite verificar el estado de los equipos antes de conceder acceso y controlar BYOD.

wireguard

Windows/macOS: notas y trucos

La app oficial de Windows suele funcionar sin pegas, pero en algunas versiones de Windows 10 se han visto incidencias al usar AllowedIPs = 0.0.0.0/0 por conflictos de rutas. Como alternativa temporal, algunos usuarios optan por clientes basados en WireGuard como TunSafe o limitar AllowedIPs a subredes concretas.

Guía rápida Debian con claves de ejemplo

Genera claves para servidor y cliente en /etc/wireguard/ y crea la interfaz wg0. Asegúrate de que las IPs de la VPN no coinciden con otras de tu red local o de tus clientes.

cd /etc/wireguard/
wg genkey | tee claveprivadaservidor | wg pubkey > clavepublicaservidor
wg genkey | tee claveprivadacliente1 | wg pubkey > clavepublicacliente1

Servidor wg0.conf con subred 192.168.2.0/24 y puerto 51820. Activa PostUp/PostDown si quieres automatizar NAT con iptables al levantar/tumbar la interfaz.

[Interface]
Address = 192.168.2.1/24
PrivateKey = <clave_privada_servidor>
ListenPort = 51820
#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

[Peer]
PublicKey = <clave_publica_cliente1>
AllowedIPs = 0.0.0.0/0

Cliente con dirección 192.168.2.2, apuntando al endpoint público del servidor y con keepalive opcional si hay NAT intermedio.

[Interface]
PrivateKey = <clave_privada_cliente1>
Address = 192.168.2.2/32

[Peer]
PublicKey = <clave_publica_servidor>
AllowedIPs = 0.0.0.0/0
Endpoint = <ip_publica_servidor>:51820
#PersistentKeepalive = 25

Levanta la interfaz y observa cómo se crean la MTU, rutas con marca de fwmark y reglas de política de enrutamiento. Revisa la salida de wg‑quick y el estado con wg show.

Contenido exclusivo - Clic Aquí  Raycast: La herramienta todo en uno para potenciar tu productividad en Mac

Mikrotik: túnel entre RouterOS 7.x

Mikrotik ofrece soporte de WireGuard desde RouterOS 7.x. Crea una interfaz WireGuard en cada router, aplica y se generarán automáticamente claves. Asigna IPs a Ether2 como WAN y a wireguard1 como interfaz de túnel.

Configura los peers cruzando la clave pública del servidor en el lado cliente y viceversa, define Allowed Address/AllowedIPs (por ejemplo 0.0.0.0/0 si quieres permitir cualquier origen/destino por el túnel) y establece el endpoint remoto con su puerto. Un ping a la IP del túnel remoto confirmará el handshake.

Si conectas móviles u ordenadores al túnel de Mikrotik, ajusta con precisión las redes permitidas para no abrir más de la cuenta; WireGuard decide el flujo de paquetes según su Cryptokey Routing, así que es importante cuadrar orígenes y destinos.

Criptografía utilizada

WireGuard emplea un conjunto moderno: Noise como framework, Curve25519 para ECDH, ChaCha20 para cifrado simétrico autenticado con Poly1305, BLAKE2 para hashing, SipHash24 para tablas hash y HKDF para derivación de claves. Si se deprecia un algoritmo, el protocolo puede versionarse para migrar de forma transparente.

Pros y contras en el móvil

Usarlo en smartphones permite navegar seguro en Wi‑Fi públicas, ocultar tráfico al ISP y conectarte a tu red doméstica para acceder a NAS, domótica o juegos. En iOS/Android el cambio de red no tumba el túnel, lo que mejora la experiencia.

Como contras, arrastras algo de pérdida de velocidad y mayor latencia respecto a salida directa, y dependes de que el servidor esté siempre disponible. Aun así, frente a IPsec/OpenVPN la penalización suele ser menor.

WireGuard combina simplicidad, velocidad y seguridad real con una curva de aprendizaje amable: instalas, generas claves, defines AllowedIPs y estás listo. Si sumas reenvío IP, NAT bien aplicado, apps oficiales con QR, y compatibilidad con ecosistemas como OPNsense, Mikrotik o Teltonika, tienes una VPN moderna para casi cualquier escenario, desde asegurar redes públicas hasta conectar sedes y acceder a tus servicios caseros sin dolores de cabeza.