WireGuard Easy proporciona una interfaz web amigable para gestionar tu servidor VPN WireGuard. Esta guía te mostrará cómo configurarlo usando Docker Compose.

Prerrequisitos

  • Puerto UDP 51820 abierto en el firewall
  • Servidor Linux con Docker y Docker Compose instalados
  • Puerto TCP 51821 abierto para la interfaz web (opcional)
  • Un dominio o IP pública

Paso 1: Crear la estructura del proyecto

mkdir -p ~/wireguard-easy
cd ~/wireguard-easy

Paso 2: Crear el archivo docker-compose.yml

Crea el archivo docker-compose.yml con el siguiente contenido:

version: '3.8'
services:
wg-easy:
image: weejewel/wg-easy
container_name: wg-easy
environment:
- WG_HOST=tu-ip-o-dominio.com
- PASSWORD=tu-contraseña-admin
- WG_PORT=51820
- WG_DEFAULT_DNS=1.1.1.1
- WG_PERSISTENT_KEEPALIVE=25
volumes:
- ./config:/etc/wireguard
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1

Paso 3: Configurar las variables de entorno

Modifica en el docker-compose.yml:

  • WG_HOST: Coloca tu IP pública o dominio
  • PASSWORD: Establece una contraseña segura para la interfaz web
  • WG_DEFAULT_DNS: Puedes usar 1.1.1.1 (Cloudflare) o 8.8.8.8 (Google)

Paso 4: Iniciar el servicio


docker-compose up -d

Acceso a la interfaz web

  1. Abre tu navegador y accede a:

http://tu-ip-o-dominio:51821
  1. Ingresa con la contraseña que configuraste en PASSWORD

Gestión de clientes

Agregar un nuevo cliente:

  1. Accede a la interfaz web
  2. Haz clic en “New Client”
  3. Ingresa un nombre para el cliente
  4. Haz clic en “Create”

Conectar clientes:

  1. Descarga la aplicación WireGuard en el dispositivo cliente
  2. En la interfaz web, puedes:
    • Escanear el código QR directamente
    • Descargar el archivo de configuración (.conf)

Mantenimiento

Actualizar WireGuard Easy:


docker-compose pull
docker-compose up -d

Ver logs:


docker-compose logs -f

Consideraciones de seguridad

  1. Cambia la contraseña predeterminada de la interfaz web
  2. Limita el acceso al puerto 51821 solo a IPs confiables
  3. Considera usar HTTPS para la interfaz web
  4. Mantén actualizado el contenedor
  5. Revisa regularmente los clientes conectados

Solución de problemas

Si no puedes acceder a la interfaz web:
  • Verifica que el puerto 51821 esté abierto
  • Comprueba los logs del contenedor
  • Verifica la configuración del firewall

Si los clientes no pueden conectarse:

  • Verifica que el puerto 51820/UDP esté abierto
  • Comprueba que WG_HOST sea accesible
  • Revisa los logs del contenedor

Si hay problemas de DNS:

  • Ajusta WG_DEFAULT_DNS en el docker-compose.yml
  • Verifica la configuración de DNS en los clientes

Comandos útiles

Ver estado del contenedor


docker-compose ps

Reiniciar el servicio


docker-compose restart

Ver logs en tiempo real


docker-compose logs -f

Detener el servicio


docker-compose down