guía para configurar wireguard
Publicado 13 de Abril de 2026 a las 16:31 por marco-ml
Guía Completa de WireGuard con Panel Web (wg-easy)
Introducción
WireGuard es una VPN moderna, rápida y segura que permite crear túneles cifrados entre dispositivos. En esta guía aprenderás a configurarlo en un VPS (como Contabo) usando wg-easy, una solución que añade un panel web para gestionar usuarios fácilmente.
Requisitos
- Un VPS (ej. Contabo VPS 10)
- Acceso SSH como root
- Sistema Ubuntu o Debian
- IP pública del servidor
Instalación de Docker
# Verificar si Docker está instalado
command -v docker >/dev/null 2>&1 && echo "Docker instalado" || echo "Docker no instalado"
# Instalar Docker si no existe
apt update && apt install -y docker.io && systemctl enable --now docker
Configuración de Firewall
# Instalar y habilitar UFW
apt install -y ufw
# Abrir puertos necesarios
ufw allow 51820/udp
ufw allow 51821/tcp
# Activar firewall
ufw --force enable
Despliegue de WireGuard con Panel Web
# Crear directorio de trabajo
mkdir -p /opt/wg-easy && cd /opt/wg-easy
# Ejecutar contenedor
docker run -d \
--name=wg-easy \
--restart unless-stopped \
-e WG_HOST="TU_IP_PUBLICA" \
-e PASSWORD="TU_PASSWORD_FUERTE" \
-v /opt/wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
weejewel/wg-easy
Acceso al Panel Web
Una vez iniciado el contenedor, accede al panel desde tu navegador:
http://TU_IP:51821
- Usuario: admin
- Contraseña: la definida en PASSWORD
Creación de Clientes
Desde el panel web puedes:
- Crear nuevos clientes
- Descargar archivos .conf
- Escanear códigos QR
- Eliminar accesos
Conexión desde Dispositivos
# Pasos generales:
1. Instalar la app WireGuard en tu dispositivo
2. Importar archivo .conf o escanear QR
3. Activar la conexión
Verificación de Funcionamiento
# Ver contenedor activo
docker ps
# Ver logs
docker logs wg-easy --tail 50
Para verificar conexión, revisa tu IP pública desde el dispositivo conectado.
Configuraciones Importantes
- Usar un cliente por dispositivo
- No compartir configuraciones
- Respaldar /opt/wg-easy regularmente
Manejo de Errores
# Ver logs detallados
docker logs wg-easy --tail 200
# Verificar puertos abiertos
ss -lntp | grep 51821
Solución de Problemas
Problemas Comunes:
- Puerto 51820 bloqueado (VPN no conecta)
- Puerto 51821 bloqueado (panel no abre)
- WG_HOST incorrecto
- Firewall mal configurado
Seguridad
- Usar contraseñas fuertes
- No exponer el panel públicamente sin protección adicional
- Considerar uso de HTTPS con proxy inverso
Ejemplo Completo
# Instalación completa en una sola secuencia
apt update && apt install -y docker.io ufw && \
systemctl enable --now docker && \
ufw allow 51820/udp && ufw allow 51821/tcp && ufw --force enable && \
mkdir -p /opt/wg-easy && cd /opt/wg-easy && \
docker run -d \
--name=wg-easy \
--restart unless-stopped \
-e WG_HOST="TU_IP_PUBLICA" \
-e PASSWORD="TU_PASSWORD_FUERTE" \
-v /opt/wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
weejewel/wg-easy