Hosting Equipo Avantys 11 min

VPN con WireGuard en VPS: Guía Completa Paso a Paso

Monta tu propia VPN con WireGuard en un VPS Linux en menos de 20 minutos. Guía paso a paso con comandos reales, hardening y comparativa vs OpenVPN.

// Compartir

VPN con WireGuard en VPS: Guía Completa Paso a Paso

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.

Arquitectura de una VPN WireGuard en un VPS conectando portátil, móvil, oficina y servidor IoT

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ísticaWireGuardOpenVPN
Líneas de código~4.000~600.000
ProcesamientoKernel-spaceUserspace
CifradoChaCha20-Poly1305 fijoAES-256-GCM configurable
Tiempo de conexión<100 ms5-10 s (handshake TLS)
TransporteSolo UDPUDP y TCP
Bypass de firewalls estrictosLimitadoExcelente (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

Los 5 pasos para instalar WireGuard en un VPS: contratar VPS, instalar WireGuard, generar claves, configurar wg0.conf y añadir peers

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 timer que reinicie wg0 cada 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

Gráfico comparativo de throughput, líneas de código y tiempo de conexión entre WireGuard y OpenVPN

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

ErrorCausa habitualSolución
El túnel no conectaPuerto UDP bloqueado por el firewall del VPSAbrir el puerto en iptables/ufw y en el firewall del panel de control
Conecta pero no hay internetFalta ip_forward=1 o regla NAT mal escritaRevisar sysctl y la interfaz real en PostUp
DNS no resuelve dentro del túnelCliente sin DNS = en su configuraciónAñadir un resolver como 1.1.1.1 en el bloque [Interface]
Se desconecta tras un ratoNAT del cliente cierra la sesión UDPAñadir PersistentKeepalive = 25
Un dispositivo pisa la IP de otroMisma AllowedIPs asignada a dos peersAsignar una IP /32 única por cliente

VPN propia vs servicio VPN comercial

AspectoVPN propia en VPSServicio VPN comercial
Control de logsTotal, lo decides túDepende de la política del proveedor
Coste con varios usuariosFijo, un solo VPS para todo el equipoEscala por licencia/usuario
Ubicación del servidorLa eliges tú (útil para España/UE)Limitada a los países del proveedor
MantenimientoTú (o un VPS administrado)Lo gestiona el proveedor
Acceso a red interna de empresaSí, sin límitesNo, 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.

Parte de la guía principal
Mejor VPS en España: Guía Definitiva

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.

Ver infraestructura administrada
// Boletín

Suscríbete al boletín

Guías nuevas, sin spam. Cancela cuando quieras.