Montar una VPN con WireGuard en un VPS es, hoy, la forma más rápida y barata de tener una red privada propia sin depender de proveedores externos que registran tu tráfico. En Avantys llevamos años desplegando servidores VPN para agencias y equipos remotos, y WireGuard ha sustituido casi por completo a OpenVPN en nuestros despliegues nuevos.
En esta guía te explico, con comandos reales, cómo instalar y asegurar tu propio servidor WireGuard en un VPS Linux en menos de 20 minutos. También verás cuándo tiene sentido frente a contratar un servicio VPN comercial, y qué errores evitar para no dejar el servidor expuesto.
Qué es WireGuard y por qué está desbancando a OpenVPN
WireGuard es un protocolo VPN de código abierto integrado directamente en el kernel de Linux desde 2020. A diferencia de OpenVPN, que corre en espacio de usuario, WireGuard procesa los paquetes dentro del propio kernel, lo que elimina buena parte del overhead de rendimiento.
La diferencia de tamaño de código es la que mejor explica el resto de ventajas: WireGuard tiene alrededor de 4.000 líneas de código, frente a las más de 600.000 de OpenVPN. Menos código significa menos superficie de ataque y auditorías de seguridad mucho más rápidas y completas.
En cuanto a criptografía, WireGuard no negocia nada: usa siempre ChaCha20-Poly1305 para cifrar, Curve25519 para el intercambio de claves y BLAKE2s para el hashing. No hay cifras antiguas ni configuraciones débiles posibles, algo que sí puede pasar en un OpenVPN mal configurado.
| Característica | WireGuard | OpenVPN |
|---|---|---|
| Líneas de código | ~4.000 | ~600.000 |
| Procesamiento | Kernel-space | Userspace |
| Cifrado | ChaCha20-Poly1305 fijo | AES-256-GCM configurable |
| Tiempo de conexión | <100 ms | 5-10 s (handshake TLS) |
| Transporte | Solo UDP | UDP y TCP |
| Bypass de firewalls estrictos | Limitado | Excelente (TCP 443) |
Por qué montar tu propia VPN en un VPS en vez de pagar un servicio comercial
Un servicio VPN comercial es cómodo, pero comparte tu servidor con miles de usuarios y decide qué registra. Con tu propio VPS tienes:
- IP dedicada exclusiva para ti, no compartida con desconocidos.
- Control total sobre logs: decides tú qué se guarda y qué no.
- Ubicación exacta del servidor, útil para cumplir requisitos de residencia de datos en España o la UE.
- Sin límites de dispositivos ni de ancho de banda artificiales.
- Coste fijo mensual, normalmente muy por debajo de una suscripción VPN premium para varios usuarios.
Esto encaja especialmente bien con el resto de decisiones que ya cubrimos en qué es un VPS y para qué sirve y en IP dedicada vs compartida, dos piezas clave antes de exponer un servicio como este a internet.
Requisitos previos
Antes de instalar nada, necesitas:
- Un VPS con Linux (Ubuntu 22.04/24.04 o Debian 12 recomendado), con kernel 5.6 o superior (WireGuard va integrado desde ahí).
- Acceso root o sudo por SSH.
- Una IP pública asignada al VPS (si dudas entre IP dedicada o compartida para este caso, la dedicada es la opción segura).
- Al menos 512 MB de RAM y 1 vCPU: WireGuard es tan ligero que no necesita más para uso personal o de equipos pequeños.
Si todavía no tienes claro qué plan elegir, revisa antes nuestra guía de errores al elegir un VPS.
Instalación paso a paso de WireGuard en tu VPS
1. Actualiza el sistema e instala WireGuard
sudo apt update && sudo apt upgrade -y
sudo apt install wireguard wireguard-tools -y
2. Genera el par de claves del servidor
El directorio /etc/wireguard solo es accesible como root, así que abre primero una shell de root:
sudo -i
cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
Guarda el contenido de server_private.key y server_public.key: los necesitarás en el siguiente paso.
3. Crea el archivo de configuración wg0.conf
sudo nano /etc/wireguard/wg0.conf
Contenido base:
[Interface]
PrivateKey = TU_CLAVE_PRIVADA_SERVIDOR
Address = 10.10.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Sustituye eth0 por el nombre real de tu interfaz de red (compruébalo con ip a).
Nota: evita la opción SaveConfig = true que verás en otros tutoriales. Con ella activada, wg-quick down sobrescribe wg0.conf con la configuración en memoria, y cualquier peer que hayas añadido editando el archivo a mano se pierde.
4. Activa el reenvío de paquetes IPv4
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
5. Levanta la interfaz y habilítala al arranque
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0
Comprueba que está activa con sudo wg show. Si ves la interfaz con su clave pública, el servidor ya está funcionando.
Configurar los dispositivos cliente
Cada dispositivo necesita su propio par de claves (nunca reutilices la misma clave en dos dispositivos). En el cliente:
wg genkey | tee client_private.key | wg pubkey > client_public.key
Archivo wg0-client.conf en el dispositivo:
[Interface]
PrivateKey = CLAVE_PRIVADA_CLIENTE
Address = 10.10.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = CLAVE_PUBLICA_SERVIDOR
Endpoint = IP_DEL_VPS:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
En el servidor, añade el peer correspondiente a wg0.conf:
[Peer]
PublicKey = CLAVE_PUBLICA_CLIENTE
AllowedIPs = 10.10.0.2/32
Reinicia la interfaz con sudo wg-quick down wg0 && sudo wg-quick up wg0 y ya tienes el túnel activo. Repite el proceso por cada portátil, móvil u oficina que quieras conectar.
Seguridad y hardening del servidor VPN
Un servidor VPN mal asegurado es peor que no tener VPN. Aplica siempre esto:
- Firewall estricto: abre solo el puerto UDP de WireGuard (51820 o el que elijas) y SSH en un puerto no estándar. Consulta nuestra comparativa UFW vs iptables si necesitas ayuda con las reglas.
- Cambia el puerto por defecto: reduce el ruido de escaneos automatizados.
- Nunca compartas la clave privada: equivale a una contraseña maestra y no se puede rotar, solo regenerar.
- Kill switch en el cliente: bloquea todo el tráfico si el túnel se cae, para no filtrar tráfico en claro por tu ISP.
- Reinicio periódico de la interfaz: WireGuard guarda en memoria la última IP conocida de cada peer; un
systemd timerque reiniciewg0cada noche mitiga esta exposición. - Copia de seguridad de
wg0.conf: sin backup del servidor, perder el VPS significa reconfigurar todos los clientes desde cero. Aquí encaja directamente nuestra guía de backups en VPS.
Si prefieres no gestionar tú mismo firewall, claves y actualizaciones del kernel, este es exactamente el tipo de tarea que cubre nuestra infraestructura administrada: gestionamos tu servidor donde ya lo tengas (o te lo montamos nosotros) y nos encargamos del hardening y las actualizaciones de seguridad mientras tú usas la VPN.
Rendimiento: WireGuard vs OpenVPN en un VPS real
En pruebas independientes sobre una conexión de 1 Gbps, WireGuard suele alcanzar entre 940 y 960 Mbps, frente a unos 480 Mbps de OpenVPN sobre UDP en el mismo hardware. La diferencia se explica por el procesamiento en kernel-space, que evita el intercambio constante de paquetes entre kernel y espacio de usuario.
El tiempo de conexión también es muy distinto: WireGuard establece el túnel en menos de 100 milisegundos, mientras que el handshake TLS de OpenVPN suele tardar entre 5 y 10 segundos, algo perceptible sobre todo en móvil al cambiar de Wi-Fi a datos.
En entornos cloud virtualizados el resultado puede variar según el hipervisor: en pruebas sobre VMware, WireGuard mostró un throughput TCP muy superior y menos pérdida de paquetes que OpenVPN, mientras que en Azure ambos protocolos partieron de un rendimiento similar, con OpenVPN comportándose algo mejor bajo latencias muy altas. Para el caso habitual de un VPS Linux con virtualización KVM, como los que usamos en Avantys, WireGuard es la opción más rápida en la práctica totalidad de escenarios.
Casos de uso reales para PYMEs
- Teletrabajo seguro: el equipo accede a herramientas internas (CRM, ERP, servidores de ficheros) como si estuviera en la oficina, sin exponer esos servicios directamente a internet.
- Acceso a bases de datos y paneles de administración: restringes cPanel, Plesk o phpMyAdmin solo a IPs dentro del túnel VPN, en vez de dejarlos accesibles al mundo.
- Conexión segura entre sedes: dos oficinas se conectan como si fueran una sola red local, sin líneas dedicadas caras.
- Dispositivos IoT y sensores: máquinas remotas envían datos cifrados a tu VPS sin depender de VPNs comerciales limitadas.
- Navegación privada del equipo: salida a internet a través de tu propio VPS, útil cuando trabajáis desde redes Wi-Fi públicas.
Errores comunes y cómo solucionarlos
| Error | Causa habitual | Solución |
|---|---|---|
| El túnel no conecta | Puerto UDP bloqueado por el firewall del VPS | Abrir el puerto en iptables/ufw y en el firewall del panel de control |
| Conecta pero no hay internet | Falta ip_forward=1 o regla NAT mal escrita | Revisar sysctl y la interfaz real en PostUp |
| DNS no resuelve dentro del túnel | Cliente sin DNS = en su configuración | Añadir un resolver como 1.1.1.1 en el bloque [Interface] |
| Se desconecta tras un rato | NAT del cliente cierra la sesión UDP | Añadir PersistentKeepalive = 25 |
| Un dispositivo pisa la IP de otro | Misma AllowedIPs asignada a dos peers | Asignar una IP /32 única por cliente |
VPN propia vs servicio VPN comercial
| Aspecto | VPN propia en VPS | Servicio VPN comercial |
|---|---|---|
| Control de logs | Total, lo decides tú | Depende de la política del proveedor |
| Coste con varios usuarios | Fijo, un solo VPS para todo el equipo | Escala por licencia/usuario |
| Ubicación del servidor | La eliges tú (útil para España/UE) | Limitada a los países del proveedor |
| Mantenimiento | Tú (o un VPS administrado) | Lo gestiona el proveedor |
| Acceso a red interna de empresa | Sí, sin límites | No, solo salida a internet |
Si tu objetivo es solo cambiar de IP para ver contenido geobloqueado, un servicio comercial es más simple. Pero si necesitas acceso seguro a sistemas internos de tu empresa, control real de los datos o varios usuarios sin coste por licencia, montar tu propia VPN en un VPS sale más barato y te da mucho más control.
Preguntas frecuentes
¿Necesito conocimientos avanzados de Linux para montar WireGuard? No. Con los comandos de esta guía y 20-30 minutos, cualquier persona con nociones básicas de terminal puede tenerlo funcionando.
¿Qué VPS necesito como mínimo? Con 512 MB de RAM y 1 vCPU es suficiente para uso personal o de un equipo pequeño. Si vas a servir a muchos usuarios simultáneos, sube a un plan con más CPU.
¿WireGuard es más seguro que OpenVPN? Ambos son seguros si están bien configurados. WireGuard reduce el riesgo de error humano porque no permite elegir cifrados débiles, algo que sí es posible en una configuración antigua de OpenVPN.
¿Puedo usar WireGuard en el móvil? Sí, hay apps oficiales para iOS y Android. Solo tienes que generar un par de claves para el móvil y añadirlo como peer en el servidor.
¿Qué pasa si pierdo la clave privada de un cliente? Genera un nuevo par de claves para ese dispositivo y sustituye el peer correspondiente en el servidor. No hay forma de recuperar una clave privada perdida.
¿Puedo tener varias VPN en el mismo VPS?
Sí, puedes crear varias interfaces (wg0, wg1) con distintos rangos de IP y puertos, por ejemplo una para el equipo y otra para invitados.
¿WireGuard funciona si mi ISP bloquea VPNs? Al usar solo UDP, algunas redes muy restrictivas pueden bloquearlo. En ese caso, OpenVPN sobre TCP 443 sigue siendo la alternativa más fiable para saltarse ese tipo de bloqueos.
¿Cuánto tráfico consume el propio protocolo? El overhead de WireGuard es mínimo, unos pocos bytes por paquete gracias a su cabecera reducida, muy por debajo del de OpenVPN.
¿Necesito un dominio o me sirve solo la IP del VPS? Te sirve la IP pública del VPS. Un dominio es opcional, útil solo si la IP puede cambiar.
¿Puedo revocar el acceso a un dispositivo sin tocar los demás?
Sí, basta con eliminar el bloque [Peer] de ese dispositivo en wg0.conf del servidor y reiniciar la interfaz.
Conclusión
Montar tu propia VPN con WireGuard en un VPS te da control total sobre tus datos, mejor rendimiento que OpenVPN y un coste fijo mucho más bajo que licenciar un servicio comercial para todo un equipo. Con los pasos de esta guía tienes todo lo necesario para tenerla funcionando hoy mismo.
Si prefieres no encargarte tú del hardening, las actualizaciones de kernel y la monitorización del servidor, deja que lo llevemos nosotros con la infraestructura administrada de Avantys: tu servidor donde ya lo tengas o montado por nosotros, con una persona que responde. Tú solo añades tus dispositivos a la VPN.
Artículos relacionados del clúster VPS España
¿Y si esto lo lleváramos nosotros?
Tu servidor, gestionado donde ya lo tengas, o montado por nosotros. Parches, copias, vigilancia y una persona que responde. Desde 60 €/mes.