En GMhost montamos WireGuard corporativo a clientes casi cada semana. Config de servidor — diez líneas, añadir un usuario nuevo — un script bash de 30 líneas y un QR para el móvil en diez segundos.
En esta guía — el procedimiento completo desde Ubuntu limpio hasta las primeras conexiones. Unos 30 minutos y tienes tu propia VPN con control sobre los logs, que aguanta 1 Gbps en un VPS típico.
Por qué WireGuard y no OpenVPN
OpenVPN son más de 100 000 líneas de código, un stack TLS complejo en user-space y un límite de ~250 Mbps en un VPS típico. WireGuard — unas 4 000 líneas, funciona en el kernel Linux 5.6+ y en el mismo VPS saca 850-950 Mbps sin optimizaciones especiales.
Criptografía moderna (Curve25519, ChaCha20-Poly1305) — sin legacy tipo 3DES. Config de servidor — diez líneas. Soporte out-of-the-box en iOS, Android, Windows, macOS, OpenWrt y MikroTik.
Único defecto notable — no hay 2FA nativo. Si necesitas SSO/MFA — encima ponemos Firezone (lo cuento al final).
VPS o dedicated — cómo elegir
Comando | Qué es suficiente |
|---|---|
5-15 usuarios, web + email | VPS 2 vCPU / 2 GB / 50 GB NVMe |
15-50 usuarios + sesiones RDP | VPS 4 vCPU / 4 GB / 80 GB NVMe |
50-200 usuarios, intra-oficina, tráfico de backups | Dedicated en Xeon Gold 6138/6230, 32-64 GB |
200+ o reseller de servicio VPN | Dedicated 2× Xeon Platinum 8163, 64+ GB |
Cada conexión WireGuard consume CPU. En un VPS de dos núcleos, 200 peers simultáneos dan un jitter notable. En nuestros Xeon Gold con AES-NI, WG aguanta 10 Gbps sin sudar — por eso con un equipo de 50+ tiene sentido ir directamente a dedicado.
Paso 1. Preparamos el sistema (5 min)
Ubuntu 24.04 LTS o Debian 12 recién instalados. Trabajamos como root o por sudo.
Paso 2. Config del servidor (10 min)
Generamos el par de claves:
Creamos /etc/wireguard/wg0.conf:
eth0 reemplaza por el tuyo (ip route | grep default lo dice). Lanzamos:
Si wg show muestra la interfaz — el servidor está vivo.
Paso 3. Añadimos empleados (10 min para 5 personas)
Un único script que genera el cliente, añade el peer en el servidor y saca el QR para el móvil.
/usr/local/bin/wg-add-client:
Lanzamiento:
En el terminal aparecerá un QR — Maria lo escanea en el WireGuard móvil en 10 segundos. Al portátil — le envías .conf archivo por un canal seguro, se importa con un clic. Tras añadirlo guarda el estado: wg-quick save wg0.
Split tunneling — cuando no todo el tráfico va por la VPN
Por defecto AllowedIPs = 0.0.0.0/0 — todo el tráfico del cliente va por la VPN. A menudo hace falta otra cosa: a los recursos corporativos — por el túnel, a Zoom y Spotify — nativo. En la config de cliente lo cambiamos por una lista de subredes necesarias:
La primera — los propios clientes VPN, luego servidores de oficina y la segunda filial. Todo lo que esté fuera de esos rangos va por la ruta habitual.
Monitorización
Rápido y sin stack adicional:
Muestra la clave pública y cuántos segundos hace del último handshake. En cron — trigger a Telegram si el handshake es de hace más de 10 minutos. Más serio — prometheus-wireguard-exporter + Grafana dashboard 12177.
Qué sigue
- Backup de configs.
/etc/wireguard/— unos 30 KB. Súbelo a nuestro Backup Storage cada día. Sin backup y con el servidor perdido tendrás que reemitir claves a todos los empleados. - Rotación de preshared keys. Una vez cada 6 meses. Script
wg-add-clientse ajusta lo mínimo para una rotación masiva. - 2FA / SSO. Si la seguridad es crítica — Firezone (frontend para WireGuard con OIDC, SAML, Google Workspace, Microsoft Entra). Se monta sobre el mismo servidor, las configs de cliente se reparten por un portal web.
- Escalado. Mudarse de VPS a dedicated es
scp -r /etc/wireguard new-server:/etc/, cambio de Endpoint en las configs de cliente, reinicio. Unos quince minutos.
¿Quieres una configuración concreta?
Elegimos VPS o dedicado según tu escenario — número de usuarios, si hace falta canal de respaldo, si habrá rutas intra-oficina. Escribe a [email protected] o al bot @gmhost_support_bot — te recomendamos tarifa y te ayudamos con la migración.

