Cómo crear tu propia VPN con WireGuard y Raspberry Pi Zero (Paso a Paso)

¿Te conectas a redes Wi-Fi públicas en cafeterías o aeropuertos? ¿Quieres acceder a los archivos de tu red doméstica mientras estás fuera de casa? Crear tu propia VPN privada es la mejor manera de proteger tu tráfico sin pagar suscripciones mensuales a terceros.

En este tutorial aprenderás a transformar una Raspberry Pi Zero W (o Zero 2 W) en un servidor VPN rápido y ligero utilizando PiVPN y WireGuard.

Warsaw, Poland – February 2, 2016: Raspberry Pi Zero, small computer developed in the UK by the Raspberry Pi Foundation.

Requisitos previos

Antes de comenzar, asegúrate de tener a mano:

  • Raspberry Pi Zero W / Zero 2 W con Raspberry Pi OS instalado y conexión Wi-Fi configurada.
  • IP local estática asignada a la Raspberry Pi (puedes fijarla desde la configuración de tu router).
  • Acceso a la consola de comandos mediante SSH.
  • Un smartphone o portátil para probar la conexión.

Paso 1: Actualizar el sistema

Accede a tu Raspberry Pi por SSH y ejecuta el siguiente comando para asegurar que todos los paquetes estén actualizados:

Bash

sudo apt update && sudo apt upgrade -y

Paso 2: Instalar PiVPN con WireGuard

La forma más sencilla y segura de desplegar WireGuard es usando el script automatizado PiVPN. Ejecuta este comando en la terminal:

Bash

curl -L https://install.pivpn.io | bash

El instalador mostrará una interfaz en texto que te guiará por el proceso:

  1. Confirmación de IP estática: El asistente verificará si tu Raspberry Pi tiene una IP fija. Selecciona Yes.
  2. Elección de usuario: Selecciona tu usuario habitual (por defecto pi).
  3. Selección del protocolo: Elige WireGuard (es más rápido y consume menos recursos en la Pi Zero que OpenVPN).
  4. Puerto por defecto: Puedes dejar el puerto UDP 51820 por defecto.
  5. Proveedor DNS: Elige un proveedor seguro como Cloudflare (1.1.1.1) o Google (8.8.8.8).
  6. Nombre de dominio o IP pública: Si tu operador te asigna una IP dinámica, es recomendable usar un servicio DDNS (como DuckDNS). Si tienes IP fija, selecciona tu IP pública.

Al finalizar, el instalador te pedirá reiniciar la Raspberry Pi.

Paso 3: Abrir el puerto en tu Router (Port Forwarding)

Para que las peticiones desde fuera de tu red lleguen a la Raspberry Pi, debes acceder a la configuración de tu router y redirigir el tráfico:

ParámetroValor
Puerto externo51820
Puerto interno51820
ProtocoloUDP
Dirección IP de destinoIP local de tu Raspberry Pi (ej. 192.168.1.50)

Paso 4: Crear perfiles de usuario

Una vez reiniciado el sistema, crea un perfil de acceso para tu teléfono o portátil ejecutando:

Bash

pivpn add

Introduce un nombre para el cliente (por ejemplo, movil-juan). El script generará un archivo de configuración .conf.

Paso 5: Conectar tus dispositivos

Para conectar tu smartphone de forma rápida:

  1. Descarga la aplicación oficial WireGuard desde Google Play o App Store.
  2. En la terminal de la Raspberry Pi, ejecuta:Bashpivpn -qr
  3. Selecciona el perfil que creaste y verás un código QR en la pantalla.
  4. Abre la app de WireGuard en tu móvil, pulsa en el botón +, selecciona Escanear código QR y enfoca la pantalla.

¡Listo! Activa el interruptor en la app y todo tu tráfico navegará cifrado a través de tu hogar, sin importar en qué lugar del mundo te encuentres.