VPNSmith
self-host-vpnHOWTO

Cómo configurar WireGuard en un router OpenWrt (cliente y servidor, 2026)

Configurar WireGuard en un router OpenWrt en 2026: instalar luci-proto-wireguard y luego configurar OpenWrt como cliente VPN (sacar todo el LAN) o como servidor (acceso remoto a tu red de casa). Incluye firewall, DNS, MTU y soluciones de « sin handshake ».

Por Eric Gerard · Fundador · VPNSmith — Especialista en VPN self-host y VPS GDPR8 min de lecturaPhoto via Pexels

WireGuard funciona de forma nativa en OpenWrt, lo que convierte un solo router en una puerta de enlace VPN para toda la red o en un servidor de acceso remoto a tu casa. Esta guía configura WireGuard en un router OpenWrt de principio a fin en 2026: instalar el paquete y luego dos configuraciones reales — OpenWrt como cliente (sacar todo el LAN por un par remoto) y OpenWrt como servidor (llegar a tu red de casa desde cualquier sitio).

Respuesta rápida: OpenWrt puede ejecutar WireGuard de forma nativa. Instala el paquete luci-proto-wireguard y luego crea una interfaz WireGuard en Network > Interfaces en LuCI. Ejecuta OpenWrt como cliente para enviar todo el tráfico del LAN por un par VPN remoto, o como servidor para dar a los dispositivos remotos acceso a tu red de casa. Lo difícil rara vez son las claves — es la zona de firewall y el enrutamiento, así que la mayoría de los problemas de « sin handshake » o « sin internet » se resuelven ahí.

Cables de red de fibra óptica turquesa conectados a los puertos de un switch de rack
Cables de red de fibra óptica turquesa conectados a los puertos de un switch de rack

Lo que necesitas antes de empezar

  • Un router con OpenWrt con suficiente flash y RAM libres para los paquetes de WireGuard. Los dispositivos de muy poca flash (4/32 MB) pueden no tener espacio — comprueba primero el almacenamiento libre de tu equipo.
  • Un par WireGuard al que conectarte. En modo cliente es el servidor remoto por el que sales; en modo servidor son los dispositivos remotos que se reconectarán. Un servidor autoalojado en un VPS Contabo es un par fiable que controlas por completo.
  • Las claves y el endpoint del otro lado: en modo cliente, la clave pública del servidor y su host:puerto alcanzable. Cada par tiene su propio par de claves — reutilizar una clave entre dispositivos rompe el handshake.

Si el protocolo en sí es nuevo para ti, nuestra explicación qué es WireGuard cubre la criptografía y por qué es más rápido que OpenVPN.

Paso 1 — Instalar el soporte de WireGuard

WireGuard no siempre viene preinstalado, así que añade los paquetes. Por SSH:

opkg update
opkg install luci-proto-wireguard wireguard-tools

luci-proto-wireguard añade el protocolo WireGuard a la interfaz web LuCI, y wireguard-tools te da el comando wg para generar claves e inspeccionar túneles. También puedes instalarlos desde System > Software en LuCI si prefieres la interfaz. Tras instalar, recarga LuCI para que aparezca el nuevo protocolo.

Paso 2 — Generar las claves

Cada extremo de un túnel WireGuard tiene un par de claves privada/pública. En OpenWrt, genera una con wireguard-tools:

wg genkey | tee privatekey | wg pubkey > publickey

Guarda la clave privada en este router y comparte solo la clave pública con el otro par. Si OpenWrt es el cliente, también necesitarás la clave pública del servidor; si OpenWrt es el servidor, reúnes la clave pública de cada cliente que se vaya a conectar.

Caso A — OpenWrt como cliente WireGuard (sacar todo el LAN)

En modo cliente, cada dispositivo del LAN sale por el par remoto — un túnel completo para toda la red de casa.

  1. Crea la interfaz. En LuCI ve a Network > Interfaces > Add new interface, dale un nombre (p. ej. wg0) y elige WireGuard VPN como protocolo.
  2. Rellena la interfaz. Pon la Private Key (la clave de este router) y la dirección IP que este router toma dentro del túnel (la dirección que asignó tu servidor, p. ej. 10.0.0.2/24).
  3. Añade el par. En la pestaña Peers añade el servidor: su Public Key, su Endpoint host y su Endpoint port, Allowed IPs = 0.0.0.0/0 (y ::/0 para IPv6) para un túnel completo, y Persistent Keepalive = 25 para que el camino sobreviva al NAT.
  4. Zona de firewall. Asigna la interfaz wg0 a una zona de firewall. La configuración más simple que funciona es ponerla en la zona wan (o una zona dedicada con permiso para reenviar desde lan y con el masquerading activado), para que el tráfico del LAN salga con NAT por el túnel.
  5. DNS. Pon el DNS del túnel en tu servidor o en un resolutor de confianza para que las consultas no se filtren a tu proveedor.

Cuando funciona, la IP pública de cada dispositivo del LAN pasa a ser la del servidor.

Un router Wi-Fi blanco con dos antenas y un cable Ethernet azul conectado a su puerto LAN
Un router Wi-Fi blanco con dos antenas y un cable Ethernet azul conectado a su puerto LAN

Caso B — OpenWrt como servidor WireGuard (acceso remoto a tu red de casa)

En modo servidor, OpenWrt escucha conexiones entrantes para que tu móvil o portátil llegue al LAN de casa desde cualquier sitio.

  1. Crea la interfaz de la misma forma (Network > Interfaces, protocolo WireGuard VPN), dale al router su Private Key y una dirección IP del lado VPN (p. ej. 10.0.0.1/24), y fija un Listen Port (normalmente 51820).
  2. Abre / reenvía el puerto UDP. Permite el puerto UDP elegido de entrada en el firewall. Si OpenWrt está detrás de otro módem/router, reenvía ese puerto UDP al equipo OpenWrt; si tu proveedor usa CGNAT, lo entrante puede ser totalmente inalcanzable — consulta el DNS dinámico para autoalojamiento.
  3. Añade cada cliente como par. Para cada dispositivo remoto añade un Peer con su Public Key y las Allowed IPs puestas en la IP de túnel de ese cliente (p. ej. 10.0.0.2/32). Para que los clientes lleguen a todo el LAN de casa, incluye tu subred LAN (p. ej. 192.168.1.0/24) en la config del cliente y permite el reenvío.
  4. Reenvío del firewall. Pon la interfaz WireGuard en una zona con permiso para reenviar hacia lan, para que los clientes conectados lleguen a los dispositivos locales.

Anatomía de la configuración

OpenWrt lo guarda en /etc/config/network, pero la forma refleja una configuración WireGuard estándar. Aquí está con marcadores explícitos — nunca pegues claves reales sacadas de una guía; cada dispositivo genera las suyas:

[Interface]
PrivateKey = <clave-privada-de-este-router>
Address = 10.0.0.1/24
ListenPort = 51820

[Peer]
PublicKey = <clave-publica-del-otro-par>
Endpoint = <host-o-ip-del-par>:51820
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25
  • PrivateKey — la clave secreta de este router, guardada localmente.
  • Address — la IP del router dentro del túnel.
  • ListenPort — solo necesaria cuando OpenWrt es el servidor.
  • PublicKey — la clave pública del otro par (la del servidor, en modo cliente).
  • Endpoint — el host:puerto alcanzable del par (solo el lado cliente lo necesita para un túnel saliente).
  • AllowedIPs — lo que pasa por el túnel: 0.0.0.0/0 para un túnel completo (cliente), o una subred de túnel/LAN concreta (servidor).
  • PersistentKeepalive = 25 — mantiene el camino activo detrás de un NAT.

Solución de problemas en OpenWrt

  • Sin handshake: casi siempre un problema de firewall — la interfaz WireGuard no está en una zona, o la zona no puede reenviar. Revisa el Endpoint (host/puerto) y que el puerto UDP del servidor esté abierto; confirma que las claves públicas coinciden; recuerda que un servidor casero detrás de CGNAT puede ser inalcanzable de entrada. Más en nuestra guía de solución de problemas de handshake.
  • Conectado pero sin internet (modo cliente): la zona WireGuard necesita masquerading, y el reenvío lan → wg debe estar permitido; si no, el tráfico LAN con NAT no tiene salida.
  • MTU: WireGuard usa por defecto 1420; en un WAN PPPoE, 1412 es un valor que funciona a menudo. Si unos sitios se cuelgan, baja el MTU de la interfaz paso a paso — consulta nuestra guía de MTU de WireGuard.
  • El DNS no se aplica: pon el DNS en la interfaz WireGuard (o empújalo vía firewall/DHCP) para que los clientes del LAN usen el resolutor del túnel en lugar del del proveedor.
  • Kill-switch: enruta todo el LAN solo por la zona WireGuard y bloquea lan → wan directo, para que el tráfico se detenga si el túnel cae en vez de filtrarse por el WAN normal.

Cliente vs servidor de un vistazo

OpenWrt como clienteOpenWrt como servidor
ObjetivoSacar todo el LAN por un par remotoPermitir que dispositivos remotos lleguen al LAN de casa
AllowedIPs0.0.0.0/0 (túnel completo)IP de túnel del cliente + subred LAN
Listen portNo requeridoRequerido (p. ej. 51820, abierto de entrada)
Firewallzona wg → wan, masquerade, reenvío lan→wgzona wg con permiso de reenvío hacia lan
EndpointApunta al servidor remotoLos clientes apuntan al router OpenWrt

En resumen

OpenWrt convierte WireGuard en una función a nivel de router: instala luci-proto-wireguard, crea la interfaz en Network > Interfaces y elige cliente (VPN para todo el LAN) o servidor (acceso remoto). Casi todos los fallos vienen de la zona de firewall o el enrutamiento, no de las claves. Para el par del otro extremo, un VPS Contabo a 5,50 €/mes ejecuta un servidor WireGuard personal al que tu router OpenWrt puede marcar, sin claves compartidas y con control total.

Guía editorial basada en el comportamiento documentado del soporte WireGuard de OpenWrt (luci-proto-wireguard / LuCI). Los menús exactos varían ligeramente según la versión de OpenWrt. Los enlaces comerciales llevan el atributo rel="sponsored nofollow"; puede aplicarse una comisión de afiliación sin coste adicional para ti.

★ Datacenter Núremberg GDPR · ✓ IPv4 dedicada incluida · 200+ Mbps garantizados

Aloja tu VPN en tu propio VPS → ContaboAcceso root completo · IPv4 pública · elige tu región

Preguntas frecuentes

¿Puede OpenWrt ejecutar WireGuard?
Sí. OpenWrt admite WireGuard mediante el módulo del kernel y el paquete luci-proto-wireguard, que añade una opción de protocolo WireGuard a la interfaz web LuCI. Una vez instalado, creas una interfaz WireGuard en Network > Interfaces como cualquier otra conexión. OpenWrt puede actuar como cliente WireGuard (sacar todo el tráfico del LAN por un par remoto) o como servidor WireGuard (permitir que dispositivos remotos lleguen a tu red de casa). Necesitas suficiente flash y RAM libres para el paquete, y un par al que conectarte: un servidor autoalojado o un proveedor.
¿Modo cliente o servidor en OpenWrt — cuál necesito?
Depende del sentido del tráfico. Usa el modo cliente cuando quieras que cada dispositivo de la red de casa salga por un par WireGuard remoto — por ejemplo para enrutar todo el LAN a través de un servidor VPN que controlas en un VPS. Usa el modo servidor cuando quieras llegar a tu red de casa desde fuera — móviles o portátiles de viaje que se reconectan para acceder a tu LAN, NAS o servicios locales. La configuración de OpenWrt es parecida en ambos casos; la diferencia es qué lado inicia el handshake y qué cubren las AllowedIPs.
¿Por qué no hay handshake en OpenWrt?
Un « Latest handshake » vacío significa que los dos pares nunca se autenticaron. En OpenWrt las causas habituales son del firewall: la interfaz WireGuard no está asignada a una zona de firewall, o la zona no tiene permiso para reenviar hacia wan/lan. Otras causas son un Endpoint o puerto UDP incorrecto, el puerto del servidor sin abrir, una clave pública que no coincide, o el CGNAT de tu proveedor bloqueando el UDP entrante para un servidor casero. WireGuard permanece silencioso ante los paquetes no autenticados, así que no hay error — revisa la zona de firewall, las claves y el puerto alcanzable.
¿Qué MTU debe usar WireGuard en OpenWrt?
El MTU por defecto de WireGuard es 1420. En muchos routers OpenWrt el WAN usa PPPoE, que tiene menos margen de overhead: un MTU de WireGuard de 1412 suele ser un valor que funciona ahí; en un WAN Ethernet normal, 1420 suele ir bien. Si unos sitios cargan y otros se quedan colgados, es un síntoma clásico de MTU — baja el MTU de la interfaz por pasos hasta que las páginas grandes y las descargas funcionen, y combínalo con MSS clamping si tu firewall lo ofrece.