- Configurar un servidor WireGuard y clientes Android, Windows y Linux permite crear una red privada segura y bajo tu control.
- La app oficial de WireGuard para Android importa configuraciones mediante código QR y gestiona múltiples túneles de forma sencilla.
- La seguridad del túnel depende de claves bien gestionadas, reenvío IPv4 activo y reglas de firewall correctas en el servidor.
- Con la VPN activa, tu tráfico sale a Internet con la IP del servidor, se cifra y te protege frente a redes inseguras y restricciones geográficas.

Navegar por Internet con tu móvil Android usando una VPN propia se ha convertido en algo casi obligatorio si te preocupa la privacidad, te conectas a menudo a WiFi públicas o quieres acceder a tus recursos de casa o del trabajo esté donde estés. Montar tu propia VPN con WireGuard te permite tener el control absoluto del servidor, las claves, los clientes y el tráfico, sin depender de terceros ni de servicios de pago que no sabes muy bien qué hacen con tus datos.
Si ya tienes un servidor WireGuard funcionando en Linux (ya sea instalado de forma tradicional o en un contenedor Docker), el siguiente paso lógico es aprender a utilizarlo desde tu móvil. En este artículo vas a ver, paso a paso y con todo lujo de detalles, cómo configurar un cliente WireGuard en Android, cómo aprovechar los códigos QR para hacerlo en segundos, qué implican los parámetros más importantes del archivo de configuración y cómo integrarlo con otros dispositivos como Windows y Linux para tener una red privada completa.
Qué necesitas antes de configurar WireGuard en Android
Para usar WireGuard desde Android es imprescindible que previamente tengas un servidor WireGuard operativo y accesible desde Internet. Normalmente este servidor será una máquina Linux (un servidor dedicado, una VPS, una Raspberry Pi o incluso un NAS) donde ya habrás creado la interfaz wg0, generado claves y abierto el puerto correspondiente en el router o firewall.
En muchos escenarios modernos se recurre a contenedores, de manera que puede que ya tengas WireGuard montado mediante Docker con un contenedor llamado wireguard que escucha en el puerto 51820/UDP. Ese contenedor suele estar configurado con una variable de entorno del tipo PEERS=2, indicando que se han creado ya dos clientes (por ejemplo, peer1 y peer2) con sus archivos de configuración y sus respectivos códigos QR listos para ser usados en distintos dispositivos.
Si lo instalaste con Docker, la configuración persistente suele guardarse en un volumen o carpeta del estilo ~/services/wireguard/appdata/config, y en una instalación clásica en Linux los ficheros se encuentran habitualmente en /etc/wireguard o, si el servidor genera configuraciones por cliente, en rutas como /etc/wireguard/configs. Dentro de esas rutas se crean directorios tipo peer1, peer2, etc., donde reside el archivo clave: peer1.conf para el primer cliente, peer2.conf para el segundo, y así sucesivamente.
En muchos despliegues automatizados, además del archivo .conf se genera también una imagen PNG con el código QR (por ejemplo, peer1.png) que codifica el contenido del fichero de configuración. Esa imagen o su equivalente en formato texto ANSI desde la terminal permite que el cliente móvil importe la configuración solo con apuntar la cámara, sin tener que copiar a mano las claves ni las IPs.
Instalar el cliente WireGuard en Android
El cliente oficial de WireGuard para Android se descarga de forma totalmente gratuita desde la Google Play Store. Desde tu dispositivo Android, abre la tienda de apps, busca simplemente “WireGuard” y asegúrate de seleccionar la aplicación desarrollada por WireGuard Development Team, que es la oficial y suele mostrar el mismo logotipo que ves en la documentación del proyecto y en muchas guías.
Al pulsar en Instalar, el proceso es rápido y no requiere configuraciones raras. Una vez que la app esté en tu móvil, tendrás a tu disposición todo lo necesario para crear, importar y gestionar túneles VPN: podrás activar o desactivar conexiones, examinar el tráfico en tiempo real, ver las estadísticas de bytes enviados y recibidos, y modificar parámetros de cada túnel si fuera necesario.
Además de la instalación directa desde la tienda, la aplicación de WireGuard en Android permite importar configuraciones a partir de archivos .conf que tengas almacenados en el dispositivo, así como escanear códigos QR, que es el método más cómodo si ya tienes generado el cliente en el servidor. Verás que, en cuanto te acostumbras, crear nuevos clientes para distintos móviles o tablets es cuestión de un par de minutos.
Obtener la configuración del cliente desde el servidor WireGuard
Antes de ponerte con la app de Android, necesitas localizar la configuración del cliente en el servidor. Si usas Docker con una imagen especializada de WireGuard, lo normal es que los datos estén en el directorio ~/services/wireguard/appdata/config o el que indicaras como volumen en el docker-compose.yml; allí verás subcarpetas como peer1 y peer2 con sus ficheros correspondientes.
Si tu instalación es convencional, la estructura más habitual es que el archivo principal del servidor se llame wg0.conf y resida en /etc/wireguard, mientras que los perfiles de clientes pueden estar en /etc/wireguard/configs u otra ruta organizada por ti. En cualquier caso, el archivo que necesitas para cada cliente será uno similar a peer1.conf, que contiene toda la configuración de ese dispositivo: dirección dentro de la VPN, clave privada, clave pública del servidor, IP o dominio de destino y reglas de enrutado.
Si configuraste WireGuard con una imagen Docker que incluye utilidades específicas, es probable que tengas un comando para mostrar el código QR directamente en la terminal. Un ejemplo típico sería ejecutar, desde la máquina donde corre Docker, algo como docker exec -it wireguard /app/show-peer 1. Este comando muestra el QR correspondiente al cliente número 1 (peer1) usando caracteres en la consola, listo para ser escaneado por la app de Android.
En otros montajes, en vez de usar un script concreto, se recurre a qrencode, una pequeña herramienta que genera códigos QR en modo texto o imagen. Tras instalarla con un comando como apt install qrencode, basta con ejecutar algo del estilo qrencode -t ansiutf8 < clientemovil.conf dentro del servidor para que se imprima el código QR de la configuración clientemovil.conf en la propia terminal, permitiéndote apuntar con el móvil y capturar los datos sin esfuerzo.
Importar el túnel WireGuard mediante código QR en Android
Una vez tengas visible en tu sesión SSH el código QR asociado al cliente que quieres usar (ya sea peer1, peer2 o un nombre personalizado como clientemovil), coge tu smartphone Android y abre la app de WireGuard. En la pantalla principal verás un botón flotante con el símbolo “+” en la esquina inferior derecha, que sirve para añadir nuevos túneles.
Cuando pulses el botón de agregar, se mostrará un menú con varias opciones. En Android, una de las más cómodas es “Scan from QR code” (o su equivalente en español si tienes la interfaz traducida). Selecciona esta opción y la aplicación activará la cámara del móvil para que puedas escanear el código QR que tienes abierto en la terminal SSH o en un archivo PNG exportado.
Al enfocar el QR, la app leerá de inmediato la configuración completa: [Interface] con la clave privada del cliente, su dirección en la VPN y su puerto de escucha (si lo hubiera); y el bloque [Peer], que contiene la clave pública del servidor, el endpoint remoto con su IP o dominio y el puerto (normalmente 51820/UDP) y la lista de AllowedIPs que define el tráfico que se enruta por el túnel.
El siguiente paso será introducir un nombre para identificar el túnel en la interfaz de la app: puede ser algo descriptivo como “VPN Casa”, “WireGuard Oficina” o “Servidor VPS”. Después de escribirlo, confirma con el botón de creación (por ejemplo, Create Tunnel) y, casi al instante, verás la nueva entrada de tu VPN en la pantalla principal de WireGuard para Android, lista para conectarse cuando la necesites.
Conectarse y usar tu VPN WireGuard desde Android
Con el túnel ya añadido, la app de WireGuard lista todos los perfiles disponibles con un interruptor a la derecha. Para establecer la conexión con tu servidor VPN basta con deslizar ese interruptor a la posición de encendido. Si todo está bien configurado (claves, IPs, puerto abierto y reenvío de tráfico en el servidor), en unos segundos verás el estado del túnel como activo.
Android muestra además un icono de VPN en la barra de notificaciones, normalmente en la zona superior derecha junto al indicador de cobertura, red WiFi y batería. Ese icono te confirma que todo el tráfico que coincida con las AllowedIPs definidas en la configuración se está enviando a través del túnel WireGuard hacia tu servidor remoto y, a partir de ahí, sale a Internet o a la red local, según lo que hayas preparado.
Desde este momento, cualquier aplicación del móvil que haga uso de la red (navegadores, correo, apps bancarias, mensajería, etc.) verá como IP de salida la que tenga tu servidor VPN y no la asignada por tu ISP o la WiFi pública donde estés conectado. Además, todo ese tráfico se cifra de extremo a extremo entre tu Android y el servidor WireGuard, protegiéndote frente a escuchas en redes no confiables y permitiéndote saltar bloqueos o restricciones geográficas siempre que el servidor esté en otra ubicación.
Si en algún momento quieres dejar de usar la VPN, simplemente vuelve a la app de WireGuard y desactiva el interruptor del túnel. La conexión se cerrará y Android dejará de marcar el icono de VPN. Es un proceso inmediato y no requiere reiniciar ninguna aplicación, de manera que puedes conectar y desconectar WireGuard tantas veces como quieras a lo largo del día sin complicarte la vida.
Cómo se integra Android con otros clientes WireGuard (Windows y Linux)
Lo habitual es que no solo uses la VPN con el móvil, sino también con tu ordenador de sobremesa, portátil o incluso con una Raspberry Pi. WireGuard está disponible para prácticamente todas las plataformas: Windows, Linux, macOS, iOS y Android, lo que permite crear una red privada consistente en la que cada dispositivo tiene su propia clave y su IP en la VPN.
En Windows se instala un cliente oficial descargándolo desde la web del proyecto en la sección de instaladores para escritorio. Una vez descargas el ejecutable y lo ejecutas con permisos de administrador, el programa genera de forma automática un par de claves (pública y privada) y te deja crear túneles nuevos bien introduciendo los datos a mano, bien importando el mismo archivo peer1.conf que usas en otros equipos para ese cliente concreto.
Para Linux, en distribuciones que usan apt como gestor de paquetes, la instalación suele hacerse con un comando tipo sudo apt install wireguard openresolv. Después, copias el archivo de configuración del cliente (por ejemplo peer1.conf) a una ruta como /etc/wireguard/wg0.conf usando un comando del estilo sudo install -o root -g root -m 600 peer1.conf /etc/wireguard/wg0.conf para asegurar permisos correctos, y arrancas la interfaz con sudo systemctl start wg-quick@wg0. Opcionalmente activas el arranque automático con sudo systemctl enable wg-quick@wg0.
En todos los casos, Android forma parte del conjunto igual que el resto: cada dispositivo es un peer que aparece en la configuración del servidor con su propia clave pública y rango de AllowedIPs. Si en el servidor añades un bloque [Peer] por cada cliente (Windows, Linux, móvil, etc.), tu túnel será capaz de aceptar y enrutar el tráfico de todos ellos, siempre que tengas bien configuradas las reglas de enrutamiento y de firewall.
Claves, direcciones y parámetros clave en WireGuard
Para que todo funcione de forma segura y ordenada, cada elemento de la configuración de WireGuard tiene su razón de ser. Por un lado están las claves pública y privada de cada equipo. La privada nunca debe salir del dispositivo (móvil, PC, servidor), mientras que la pública se comparte con el otro extremo para que pueda cifrar la comunicación. En Linux, por ejemplo, se generan con un comando tipo wg genkey | tee private.key | wg pubkey > public.key, y algo equivalente hace la app de Windows al crear un nuevo túnel vacío.
En el bloque [Interface] de cada cliente, el campo Address define la IP interna dentro de la red VPN. Se suele usar un rango como 10.0.0.0/24 o 10.6.0.0/24, de forma que el servidor pueda ser, por ejemplo, 10.0.0.1, el primer cliente 10.0.0.2, el siguiente 10.0.0.3, y así sucesivamente. En Android no sueles ver directamente este fichero, pero está ahí internamente y es el que se importa al escanear el código QR.
El puerto por defecto de WireGuard es el 51820/UDP, aunque puede cambiarse si lo necesitas. Lo importante es que ese puerto esté abierto en tu router o cortafuegos y redirigido correctamente hacia la máquina donde corre el servidor. Si tienes un firewall como UFW en Linux, tendrías que ejecutar reglas del tipo ufw allow 51820/udp y, si accedes por SSH, algo como ufw allow 22/tcp. De lo contrario, tu móvil Android no podrá establecer el túnel aunque la app muestre el perfil como bien configurado.
En el servidor, además, suelen aparecer las directivas PostUp y PostDown en el archivo wg0.conf, que sirven para añadir o eliminar reglas de iptables que permitan reenviar tráfico y hacer NAT. Un ejemplo común es algo así como: PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE, junto con el correspondiente PostDown que borra esas reglas. Esas líneas son cruciales si quieres que tu Android tenga salida a Internet a través de la VPN.
No hay que olvidar tampoco el reenvío de paquetes IPv4 en el sistema. En muchas distribuciones se activa de manera temporal con sysctl -w net.ipv4.ip_forward=1 y de forma permanente editando archivos como /etc/sysctl.d/99-sysctl.conf para descomentar la línea net.ipv4.ip_forward=1. Sin ese ajuste, aunque la VPN se levante y el túnel se establezca entre tu Android y el servidor, podrías quedarte sin poder navegar a Internet desde el móvil a través de la VPN.
Gestión de varios clientes móviles (Android e iOS) y seguridad
Si quieres usar la VPN con varios smartphones o tablets, lo más ordenado es crear una carpeta específica para clientes móviles en el servidor, por ejemplo dentro de /etc/wireguard con un nombre como clientes_moviles. Desde ahí generas las claves y configuraciones para cada dispositivo que vayas a dar de alta, usando nombres descriptivos tipo android_oficina, android_personal o iphone_trabajo.
El procedimiento suele consistir en generar un nuevo par de claves con un comando similar a wg genkey | tee clientemovil_private.key | wg pubkey > clientemovil_public.key, crear un archivo de configuración como clientemovil.conf y editarlo para que incluya un bloque [Interface] con la clave privada del móvil, su Address (por ejemplo 10.0.0.4) y, si quieres, su ListenPort, y un bloque [Peer] con la clave pública del servidor, la línea Endpoint = TU_IP_PÚBLICA:51820, AllowedIPs = 0.0.0.0/0 (para enrutar todo el tráfico por la VPN) y un PersistentKeepAlive = 25 para mantener viva la conexión tras largos periodos de inactividad.
Una vez tengas preparado el archivo de configuración del cliente, debes añadir su clave pública al servidor dentro de wg0.conf añadiendo un nuevo bloque [Peer] que incluya la PublicKey del móvil, un AllowedIPs correspondiente (por ejemplo 10.0.0.4/32) y, opcionalmente, PersistentKeepAlive = 25. Después reinicias WireGuard en el servidor con órdenes tipo systemctl restart wg-quick@wg0 para que los cambios entren en vigor.
En cuanto a la seguridad, conviene restringir los permisos de los ficheros de claves privadas en el servidor para que solo el usuario root pueda acceder a ellos. Comandos como chmod 600 o el uso de install -m 600 ayudan a reducir el riesgo de que, si otra cuenta del sistema se ve comprometida, alguien pueda copiar claves y suplantar a tus clientes. Aunque tu Android almacena su propia clave privada internamente, cuidar el entorno del servidor es igual de importante.
Verificación, diagnóstico y mejores prácticas
Después de configurar tu Android y cualquier otro cliente, siempre es buena idea verificar que la VPN funciona y que el tráfico sale realmente por el servidor. Un método sencillo consiste en comprobar tu IP pública antes de conectarte a la VPN y después, usando servicios como ipv4.icanhazip.com desde un navegador o, en el caso de Linux, con un comando tipo curl ipv4.icanhazip.com. Si la IP cambia a la del servidor, sabrás que el enrutamiento está correctamente configurado.
Cuando algo falla, la utilidad systemctl en Linux es tu aliada para revisar el estado del servicio wg-quick@wg0. Con sudo systemctl status wg-quick@wg0 puedes ver si el servicio está activo, si ha habido errores al levantar la interfaz o si hay problemas con las reglas de iptables. Asimismo, el comando sudo wg te muestra una lista detallada de la interfaz, sus claves, el puerto de escucha y todos los peers registrados junto con sus últimas conexiones, IPs permitidas y bytes transmitidos.
En Android, si el túnel no llega a conectarse o se corta constantemente, revisa que tienes acceso a la IP o dominio del servidor (por ejemplo si hay CG-NAT, si el puerto 51820 está redirigido correctamente en el router, etc.) y que no hay ninguna app de ahorro de batería o gestor de energía que esté matando el proceso de WireGuard en segundo plano. En algunos móviles conviene marcar la app como exenta de optimización de batería para evitar desconexiones inesperadas.
Cuando vayas sumando más y más dispositivos a tu VPN, mantener un cierto orden en la asignación de IPs y en los nombres de los peers te ahorrará muchos dolores de cabeza. Puedes llevar un pequeño listado donde apuntes, por ejemplo, que 10.0.0.2 es tu portátil, 10.0.0.3 tu PC de sobremesa, 10.0.0.4 tu móvil Android personal y 10.0.0.5 el móvil del trabajo. Así, si algún día quieres revocar el acceso de uno de ellos, solo tendrás que borrar o comentar su bloque [Peer] en el servidor y reiniciar WireGuard.
Montar tu propia VPN con WireGuard y usarla desde Android te permite convertir tu móvil en un auténtico “satélite” de tu red doméstica o de tu servidor en la nube: todo el tráfico viaja cifrado, sales a Internet con la IP del servidor, accedes a tus recursos internos como si estuvieras allí y, además, puedes integrar fácilmente otros dispositivos como Windows, Linux, iOS o macOS.
Siguiendo los pasos para generar claves, crear archivos de configuración, activar el reenvío de paquetes y escanear el QR desde la app, en muy poco tiempo tendrás una infraestructura VPN sólida, flexible y bajo tu control, que puedes ir ampliando con nuevos clientes sin depender de terceros ni sacrificar tu privacidad. Comparte esta guía para que más usuarios conozcan del tema.
