Hosting Equipo Avantys 7 min

VPN en tu VPS con WireGuard: Guía Completa

Configura tu propia VPN con WireGuard en tu VPS. Instalación, configuración de clientes, seguridad y casos de uso prácticos.

// Compartir

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

¿Por qué pagar por una VPN comercial cuando puedes tener la tuya propia? Con un VPS y WireGuard, tienes control total sobre tu privacidad.

WireGuard es el protocolo VPN más moderno: rápido, seguro y sorprendentemente fácil de configurar. En 15 minutos tienes tu VPN funcionando.

Esta guía te enseña a montar tu propia VPN en tu VPS paso a paso.

Por qué tu propia VPN

VPN comercial vs VPN propia

AspectoVPN ComercialVPN Propia
Confianza¿Guardan logs?Tú controlas
VelocidadCompartidaDedicada
UbicaciónLimitadaDonde quieras
Coste mensual€5-15Incluido en VPS
ConfiguraciónFácilModerada
IP dedicadaExtra €€Incluida

Casos de uso

  • Privacidad: Tu tráfico sale desde tu VPS, no desde casa
  • Acceso remoto: Conectar a recursos de tu VPS de forma segura
  • Bypass geo-restricciones: IP de otro país
  • WiFi público: Proteger conexiones en cafeterías, aeropuertos
  • Trabajo remoto: Acceso seguro a servicios internos

Por qué WireGuard

Cómo funciona WireGuard

Comparativa de protocolos

ProtocoloVelocidadSeguridadComplejidadCódigo
WireGuardExcelenteModernaSimple4.000 líneas
OpenVPNBuenaProbadaCompleja100.000+ líneas
IPSecVariableProbadaMuy complejaEnorme

Ventajas de WireGuard

  • Rápido: Menos overhead, mejor rendimiento
  • Simple: 4.000 líneas de código vs 100.000+ de OpenVPN
  • Moderno: Criptografía actual (ChaCha20, Curve25519)
  • Integrado: En el kernel de Linux desde 5.6
  • Roaming: Cambio de red sin reconectar

Requisitos previos

  • VPS con Ubuntu 20.04+ o Debian 11+
  • Acceso root o sudo
  • Puerto UDP disponible (51820 por defecto)
  • Firewall configurado

Instalación en el servidor

Instalar WireGuard

sudo apt update
sudo apt install wireguard -y

Generar claves del servidor

# Crear directorio seguro
sudo mkdir -p /etc/wireguard
cd /etc/wireguard

# Generar par de claves
wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey

# Asegurar permisos
sudo chmod 600 privatekey

Verificar claves

sudo cat privatekey
# Ejemplo: 4Hh0K1jGxxxxxxxxxxxxxxxxxxxxxxxxxxxxMo=

sudo cat publickey
# Ejemplo: 8Bv2L3kHyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJk=

Configuración del servidor

Crear archivo de configuración

sudo nano /etc/wireguard/wg0.conf
[Interface]
# IP privada del servidor VPN
Address = 10.0.0.1/24

# Puerto de escucha
ListenPort = 51820

# Clave privada del servidor
PrivateKey = TU_CLAVE_PRIVADA_DEL_SERVIDOR

# Reglas de firewall automáticas
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

# Clientes (se añaden después)
# [Peer]
# ...

Nota: Reemplaza eth0 por tu interfaz de red real (ip a para verificar).

Habilitar IP forwarding

echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Abrir puerto en firewall

sudo ufw allow 51820/udp

Iniciar WireGuard

# Iniciar
sudo wg-quick up wg0

# Verificar estado
sudo wg show

# Habilitar al arranque
sudo systemctl enable wg-quick@wg0

Configuración de clientes

Generar claves del cliente

En el servidor (o en el cliente):

wg genkey | tee client1-privatekey | wg pubkey | tee client1-publickey

Añadir cliente al servidor

Editar /etc/wireguard/wg0.conf:

[Peer]
# Cliente 1
PublicKey = CLAVE_PUBLICA_DEL_CLIENTE
AllowedIPs = 10.0.0.2/32

Recargar configuración:

sudo wg-quick down wg0
sudo wg-quick up wg0

# O sin reiniciar (añadir peer en caliente)
sudo wg set wg0 peer CLAVE_PUBLICA_DEL_CLIENTE allowed-ips 10.0.0.2/32

Configuración del cliente

Crear archivo en el dispositivo cliente:

Linux/Mac: /etc/wireguard/wg0.conf

Windows: Importar en app WireGuard

Android/iOS: Importar o escanear QR

[Interface]
# IP del cliente en la VPN
Address = 10.0.0.2/24

# Clave privada del cliente
PrivateKey = CLAVE_PRIVADA_DEL_CLIENTE

# DNS (opcional, pero recomendado)
DNS = 1.1.1.1, 8.8.8.8

[Peer]
# Clave pública del servidor
PublicKey = CLAVE_PUBLICA_DEL_SERVIDOR

# IP pública del servidor y puerto
Endpoint = IP_DE_TU_VPS:51820

# Qué tráfico enviar por la VPN
AllowedIPs = 0.0.0.0/0, ::/0

# Mantener conexión activa (importante detrás de NAT)
PersistentKeepalive = 25

Tipos de AllowedIPs

Todo el tráfico (full tunnel):

AllowedIPs = 0.0.0.0/0, ::/0

Solo red interna (split tunnel):

AllowedIPs = 10.0.0.0/24

Acceso a servicios específicos:

AllowedIPs = 10.0.0.0/24, 192.168.1.0/24

Clientes por plataforma

Linux

sudo apt install wireguard
sudo nano /etc/wireguard/wg0.conf
# Pegar configuración del cliente

sudo wg-quick up wg0

Windows

  1. Descarga WireGuard para Windows
  2. Añadir túnel → Importar desde archivo
  3. Pegar configuración
  4. Activar

macOS

  1. Instalar desde App Store o brew install wireguard-tools
  2. Importar configuración
  3. Activar

Android

  1. Instalar WireGuard desde Play Store
  2. Añadir túnel → Crear desde QR o archivo
  3. Activar

iOS

  1. Instalar WireGuard desde App Store
  2. Añadir túnel → Escanear QR o importar
  3. Activar

Generar código QR para móviles

sudo apt install qrencode

# Generar QR desde archivo de config
qrencode -t ansiutf8 < client1.conf

# O guardar como imagen
qrencode -o client1-qr.png < client1.conf

Script de instalación automática

Para simplificar, usa un script:

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
sudo ./wireguard-install.sh

El script:

  • Instala WireGuard
  • Configura el servidor
  • Genera configs de clientes
  • Crea códigos QR

Añadir múltiples clientes

Estructura recomendada

/etc/wireguard/
├── wg0.conf           # Config servidor
├── privatekey         # Clave privada servidor
├── publickey          # Clave pública servidor
└── clients/
    ├── client1.conf
    ├── client2.conf
    └── client3.conf

Servidor con múltiples peers

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = CLAVE_SERVIDOR
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

[Peer]
# Móvil personal
PublicKey = CLAVE_MOVIL
AllowedIPs = 10.0.0.2/32

[Peer]
# Portátil trabajo
PublicKey = CLAVE_PORTATIL
AllowedIPs = 10.0.0.3/32

[Peer]
# Tablet
PublicKey = CLAVE_TABLET
AllowedIPs = 10.0.0.4/32

Casos de uso avanzados

Casos de uso de VPN en VPS

Acceso a red interna del VPS

Accede a servicios que solo escuchan en localhost:

# Cliente
AllowedIPs = 10.0.0.0/24

Ahora puedes acceder a 10.0.0.1:3306 (MySQL), 10.0.0.1:6379 (Redis), etc.

Site-to-site VPN

Conectar dos redes (oficina y servidor):

# En servidor VPS
[Peer]
PublicKey = CLAVE_ROUTER_OFICINA
AllowedIPs = 10.0.0.5/32, 192.168.1.0/24

# En router oficina
[Interface]
Address = 10.0.0.5/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

VPN para bypass geo-restricciones

Con VPS en otro país, tu tráfico sale desde esa ubicación.

Ejemplo: VPS en USA para acceder a contenido de USA.

Acceso seguro a WordPress admin

Restringe /wp-admin solo a IPs de la VPN:

location /wp-admin {
    allow 10.0.0.0/24;
    deny all;
    # ... resto de config
}

Seguridad adicional

Cambiar puerto por defecto

[Interface]
ListenPort = 41194

Actualiza firewall y configs de clientes.

Limitar acceso por IP

En el firewall, permite el puerto solo desde IPs conocidas:

sudo ufw allow from 203.0.113.0/24 to any port 51820

Deshabilitar IPv6 si no lo usas

[Interface]
Address = 10.0.0.1/24
# Sin dirección IPv6

Logs y monitorización

# Ver estado
sudo wg show

# Ver conexiones activas
sudo wg show wg0 latest-handshakes

# Logs del sistema
sudo journalctl -u wg-quick@wg0

Troubleshooting

No conecta

  1. Verificar firewall: sudo ufw status
  2. Verificar WireGuard activo: sudo wg show
  3. Verificar IP forwarding: cat /proc/sys/net/ipv4/ip_forward (debe ser 1)
  4. Verificar interfaz de red: ip a (¿eth0, ens3, otro?)

Conecta pero sin internet

  1. Verificar reglas NAT: sudo iptables -t nat -L
  2. Verificar PostUp/PostDown en wg0.conf
  3. Interfaz correcta en POSTROUTING (eth0, ens3, etc.)

Conexión lenta

  1. MTU: Añadir a [Interface] del cliente: MTU = 1420
  2. Servidor sobrecargado: Verificar recursos

Handshake pero sin tráfico

# Verificar AllowedIPs
sudo wg show wg0

# Debe mostrar "allowed ips" correctos para cada peer

Comparativa: WireGuard vs OpenVPN

AspectoWireGuardOpenVPN
Velocidad~400+ Mbps~100-200 Mbps
LatenciaMuy bajaModerada
ConfiguraciónSimpleCompleja
AuditoríaFácil (poco código)Difícil
SoporteKernel LinuxUserspace
ProtocoloUDPTCP o UDP

Veredicto: WireGuard para nuevas instalaciones. OpenVPN si necesitas TCP (redes restrictivas).

Rendimiento esperado

VPSVelocidad VPN típica
1 core200-400 Mbps
2 cores400-600 Mbps
4+ cores600+ Mbps

WireGuard es muy eficiente. Un VPS básico puede saturar conexiones de 1 Gbps.

Preguntas frecuentes

¿Es legal tener mi propia VPN?

Sí, en la mayoría de países. La VPN es solo una herramienta de privacidad.

¿Cuántos clientes puede manejar?

Un VPS pequeño puede manejar decenas de clientes sin problema. El límite es el ancho de banda.

¿Afecta al rendimiento del VPS?

Mínimamente. WireGuard es muy eficiente. Solo notarás impacto con mucho tráfico.

¿Puedo usar la misma config en varios dispositivos?

No recomendado. Cada dispositivo debe tener su propio par de claves e IP.

Nuestra recomendación

Para uso personal: WireGuard con el script automático. En 5 minutos tienes VPN funcionando.

Para múltiples usuarios: Configura manualmente con estructura organizada de clientes.

¿Quieres VPN sin complicarte? Los VPS de Avantys con administración gestionada pueden incluir configuración VPN profesional.


Conclusión

Tu propia VPN con WireGuard es rápida, segura y sorprendentemente fácil de configurar. En 15 minutos tienes privacidad real sin depender de terceros.

No necesitas pagar por VPNs comerciales. Con tu VPS ya tienes todo lo necesario.

¿Quieres un VPS para tu VPN personal? Explora los VPS de Avantys con IP dedicada incluida.


Guías relacionadas


¿Quieres la guía completa con todos los casos de uso?

→ Volver a la guía maestra: Mejor VPS en España 2026

¿Quieres que lo hagamos por ti?

En Avantys gestionamos tu web, hosting y crecimiento digital de punta a punta. Tú a lo importante.

Hablar con Avantys
// Boletín

Suscríbete al boletín

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