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 dominioPASSWORD: Establece una contraseña segura para la interfaz webWG_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
- Abre tu navegador y accede a:
http://tu-ip-o-dominio:51821
- Ingresa con la contraseña que configuraste en PASSWORD
Gestión de clientes
Agregar un nuevo cliente:
- Accede a la interfaz web
- Haz clic en «New Client»
- Ingresa un nombre para el cliente
- Haz clic en «Create»
Conectar clientes:
- Descarga la aplicación WireGuard en el dispositivo cliente
- 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
- Cambia la contraseña predeterminada de la interfaz web
- Limita el acceso al puerto 51821 solo a IPs confiables
- Considera usar HTTPS para la interfaz web
- Mantén actualizado el contenedor
- 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
