VPNSmith
self-host-vpnHOWTO

WireGuard en Android: guía de configuración completa (2026)

Configura WireGuard en Android en 2026: instala la app, importa la config del servidor por QR o archivo, activa always-on + kill switch, split tunneling por app y arregla problemas de handshake/MTU. Compatible con PiVPN, NetBird o un servidor manual.

Por Eric Gerard · Fundador · VPNSmith - Especialista en VPN self-host y VPS GDPR5 min de lecturaFoto vía Unsplash

WireGuard es el protocolo VPN más rápido y sencillo de ejecutar en un teléfono - una vez configurado, conectar es un solo interruptor y consume muy poca batería frente a protocolos más antiguos. Esta guía detalla WireGuard en Android de principio a fin en 2026: instalar la app, importar la config del servidor, activar un kill switch, el split tunneling por app y arreglar los problemas de handshake y MTU. Funciona con cualquier servidor WireGuard - PiVPN, NetBird, o una config manual.

Lo que necesitas antes de empezar

  • Un teléfono o tablet con Android 10 o posterior (las versiones anteriores funcionan, pero los interruptores always-on/kill switch son más limpios en versiones recientes).
  • Un servidor WireGuard en funcionamiento con un punto de acceso público accesible - una Raspberry Pi en casa con un puerto UDP redirigido, o un VPS pequeño. La app de Android es solo el cliente.
  • La config de cliente de este dispositivo - un código QR en pantalla o un archivo .conf. Da a cada dispositivo su propio par de claves; reutilizar una config entre teléfonos rompe el handshake, porque dos pares comparten entonces una clave pública.

Paso 1 - Instala la app

Instala la app oficial de WireGuard desde la Play Store o F-Droid (compilación de código abierto). Evita clones «WireGuard» de terceros.

¿Play Store o F-Droid?

Ambas entregan el mismo cliente oficial. La compilación de la Play Store se actualiza automáticamente y va bien para la mayoría. La compilación de F-Droid se compila desde el código por F-Droid, sin dependencias de Google, ideal para un teléfono des-Googleado - a cambio, las actualizaciones llegan algo más tarde. Ambas son fiables; solo evita apps imitadoras de editores desconocidos, porque un cliente VPN gestiona todo tu tráfico.

Paso 2 - Importa la config del servidor

En la app, toca + y elige:

  • Escanear desde QR - lo más rápido y menos propenso a errores. Tu servidor muestra la config del cliente como QR (pivpn -qr, la app de NetBird, o qrencode en una config manual).
  • Importar desde archivo - copia el .conf al teléfono y selecciónalo.
  • Crear desde cero - pega las claves y el punto [Peer] a mano.

WireGuard es la mitad cliente; necesita un punto de acceso de servidor. Si no tienes uno, un VPS Contabo a 5,50 €/mes ejecuta un servidor WireGuard personal con holgura.

Líneas de código fuente en una pantalla oscura
Líneas de código fuente en una pantalla oscura

Paso 3 - Conecta y verifica

Activa el túnel. Comprueba que el último handshake se actualiza (no «nunca») y que tu IP pública cambia. Para el contexto del protocolo, consulta WireGuard vs OpenVPN.

Paso 4 - Activa un kill switch (always-on)

Android lo integra: Ajustes > Red e Internet > VPN > (rueda junto a WireGuard) → activa VPN siempre activa y Bloquear conexiones sin VPN. Así el teléfono nunca filtra tráfico fuera del túnel si WireGuard cae - el equivalente en Android de un kill switch.

Paso 5 - Split tunneling por app

Edita el túnel → AplicacionesExcluir apps (todo va por el túnel salvo ellas - útil para una app bancaria) o Incluir solo algunas. Integrado en el cliente, sin software extra.

Enrutamiento de red: Allowed IPs

El split tunneling por app (Paso 5) decide qué apps usan el túnel. AllowedIPs en la config [Peer] decide qué destinos lo usan - y ambos se combinan:

  • 0.0.0.0/0, ::/0 enruta todo el IPv4 e IPv6 por tu servidor - el túnel completo por defecto, el que quieres para la privacidad en Wi-Fi público.
  • Un rango estrecho como 10.0.0.0/24 envía solo tu subred de casa/oficina por el túnel, dejando el resto en la conexión normal - perfecto para alcanzar un NAS de casa o un Pi-hole sin ralentizar todo.

Si usas túnel completo pero quieres imprimir o emitir en casa, lo más limpio es mantener esos dispositivos en la LAN y excluir la app de emisión por app, porque el cliente de Android no tiene el botón «excluir IP privadas» de iOS.

Solución de problemas

  • Sin handshake (sigue en «nunca»): IP/puerto de Endpoint incorrectos, puerto UDP no abierto en el cortafuegos del servidor, o clave pública no coincidente. Verifica que el servidor escucha y es accesible.
  • Conecta pero sin internet: baja el MTU (p. ej. 1280) en la config de la interfaz - arregla muchos problemas de MTU móvil.
  • Se cae con la pantalla apagada: desactiva la optimización de batería para la app de WireGuard (Ajustes → Apps → WireGuard → Batería → Sin restricciones).
  • Fugas de DNS: ajusta el DNS del túnel a tu servidor o un resolvedor de confianza, y haz un test.
  • «VPN siempre activa» en gris: Android solo permite el always-on una vez que un túnel se importa bien y conecta al menos una vez - conecta manualmente primero, luego actívalo.
  • Reconexión lenta tras cambiar Wi-Fi↔móvil: añade PersistentKeepalive = 25 al [Peer] para mantener la ruta viva entre cambios de red y tras un NAT.

Para plantillas cliente/servidor reutilizables, consulta las plantillas de config de WireGuard.

En resumen

WireGuard en Android se configura en cinco minutos: instala la app oficial, importa la config del servidor por QR, actívalo, y pon always-on + bloqueo sin VPN para un kill switch. Añade split tunneling por app según necesites, y guarda el truco del MTU para redes móviles caprichosas. Solo necesitas un servidor WireGuard al que apuntar - un VPS Contabo o una Raspberry Pi casera sirve.

Guía editorial basada en el comportamiento documentado del cliente oficial de WireGuard para Android y las funciones de VPN siempre activa de Android. La seguridad depende de la configuración de tu servidor y de la higiene de las claves. Los enlaces comerciales llevan el atributo rel="sponsored nofollow"; puede aplicarse una comisión de afiliación sin coste extra 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

¿Cómo configuro WireGuard en Android?
Instala la app oficial de WireGuard desde la Play Store o F-Droid, y añade un túnel. Lo más fácil es escanear un código QR generado por tu servidor («pivpn -qr», NetBird, o una config manual con qrencode), que importa toda la configuración en un paso. Si no, importa un archivo .conf. Activa el túnel y estás conectado. WireGuard necesita un punto de acceso de servidor - una Raspberry Pi o un VPS barato - es la mitad cliente de un VPN autoalojado.
¿Cómo importo una config de WireGuard en Android?
Tres formas en el menú «+» de la app: (1) Escanear desde QR - la más rápida; tu servidor puede mostrar la config del cliente como QR. (2) Importar desde archivo - copia el .conf al teléfono y selecciónalo. (3) Crear desde cero - pega las claves y el punto [Peer] a mano. El QR es con diferencia el menos propenso a errores. Tras importar, comprueba los campos DNS y Endpoint del túnel antes de conectar.
¿Android tiene kill switch para WireGuard?
Sí, mediante el «VPN siempre activa» (Always-on) y «Bloquear conexiones sin VPN» de Android en Ajustes > Red e Internet > VPN > (rueda junto a WireGuard). Activa ambos para que el dispositivo nunca envíe tráfico fuera del túnel si WireGuard cae. La app de WireGuard también ofrece opciones por túnel. Always-on + bloqueo sin VPN = el equivalente en Android de un kill switch.
¿Cómo uso el split tunneling en WireGuard en Android?
Abre el túnel en la app, edítalo y en «Aplicaciones» elige incluir o excluir apps concretas. «Excluir» enruta todo por el túnel salvo las apps elegidas (útil para una app bancaria que no quiere VPN); «Incluir» enruta solo las elegidas. Este split tunneling por app está integrado en el cliente de Android y no necesita software extra.
¿Por qué no conecta mi túnel WireGuard en Android (sin handshake)?
Causas más comunes: una IP/puerto de Endpoint incorrectos o el puerto UDP del servidor no abierto en su cortafuegos; una clave pública no coincidente entre cliente y servidor; o un gran desfase de reloj. Si el campo último-handshake se queda en «nunca», verifica que el servidor escucha en el puerto UDP correcto y es accesible. Si conecta pero las páginas no cargan, baja el MTU (p. ej. 1280) en la config de la interfaz, lo que arregla muchos problemas de MTU en redes móviles.