Maak van Linux jouw eigen VPN met WireGuard voor 0 euro of vanaf 5 €/maand

Configurar tu VPN propio con WireGuard se vuelve cada vez más sencillo y económico en comparación con pagar una suscripción mensual a un proveedor comercial. Puedes hacerlo prácticamente por 0 euros adicionales usando un ordenador, mini PC o Raspberry Pi que ya tengas encendido en casa, o desplegarlo en un VPS con IP pública por solo unos pocos euros al mes. Aunque no ofrece exactamente lo mismo que NordVPN, Proton VPN o Mullvad, para acceder de forma segura a una red privada, proteger el tráfico en una Wi-Fi pública o disponer de una IP de salida propia, puede ser incluso más interesante.

Las claves para montar una VPN propia en 30 segundos

  • WireGuard está integrado en muchas distribuciones Linux modernas y su configuración es mucho más sencilla que la de IPsec.
  • Un equipo doméstico permite montar la VPN sin coste adicional mensual, aunque requiere una IP accesible y, normalmente, configuración de redirección de puertos.
  • Con CG-NAT, habitual en algunos operadores, un VPS con IP pública suele ser la solución más sencilla.
  • Un servidor Linux básico es suficiente: proveedores españoles como GINERNET, Raiola Networks o plataformas de cloud como Aire Cloud pueden usarse.
  • Una VPN propia brinda control total, pero no garantiza automáticamente el anonimato que ofrecen VPN comerciales con miles de usuarios compartiendo IP.

WireGuard es un túnel VPN moderno que encapsula el tráfico IP usando UDP y criptografía basada en claves públicas y privadas. Está disponible en las principales distribuciones Linux, con clientes oficiales para Windows, macOS, Android e iOS. La documentación del proyecto contempla además el enrutamiento de todo el tráfico de Internet a través del túnel.

La primera decisión, más importante que la instalación, es: ¿usar un servidor en casa o contratar un VPS?

En casa, VPS o cloud: tres formas diferentes de montar WireGuard

La opción más económica consiste en reutilizar un equipo que ya esté encendido permanentemente.

Puede ser una Raspberry Pi, un mini PC, un NAS compatible con WireGuard o incluso un servidor Linux. El dispositivo debe permanecer encendido cuando se quiera usar la VPN desde fuera.

La ventaja principal es que no implica costos mensuales adicionales en infraestructura. Además, cuando estés de viaje, el teléfono u ordenador podrá conectarse a Internet usando la IP de tu conexión doméstica.

No obstante, hay tres requisitos que pueden complicar la configuración:

  1. El router debe permitir redirigir un puerto UDP hacia el servidor.
  2. La conexión necesita una IP accesible desde Internet.
  3. Si la IP cambia, es recomendable configurar DNS dinámico.

El principal problema es CG-NAT (Carrier-Grade NAT). Algunos proveedores comparten una sola IP pública IPv4 entre varios clientes, por lo que no basta con abrir un puerto en el router para recibir conexiones desde Internet.

En estos casos, puedes solicitar una IP pública al operador, usar IPv6 si toda la infraestructura está preparada o trasladar la configuración a un VPS.

Un VPS puede ser incluso más sencillo de gestionar.

Un servidor VPN requiere recursos mínimos, como CPU y memoria, para uso personal. Por ejemplo, GINERNET ofrece VPS en Madrid desde 5 euros al mes en su configuración con Intel, con IPv4 dedicada y 1 TB de tráfico, mientras que su opción Cloud S con AMD, 1 vCore, 1 GB RAM y 10 GB NVMe cuesta 6 euros mensuales. El propio proveedor menciona el uso de VPN entre las funcionalidades del plan básico.

Raiola Networks también ofrece VPS KVM con IP europea dedicada y recursos garantizados, aptos para este propósito.

Para empresas que quieran integrar la VPN en una infraestructura más amplia, opciones como Aire Cloud o otros proveedores de infraestructura europea son adecuados. En estos casos, lo importante no es tanto buscar el VPS más barato, sino disponer de una IP fija, suficiente transferencia, buena red y una ubicación geográfica apropiada.

Una configuración mínima recomendada para uso personal sería:

EscenarioRecursos razonablesVentaja principal
Raspberry Pi / mini PC1 GB RAMCoste adicional cercano a cero mensualmente
VPS básico1 vCPU / 1 GB RAMIP pública fija y servicio 24/7
Cloud empresarialSegún tráficoRedes privadas y integración con infraestructura
Servidor dedicadoNormalmente excesivoPara grandes volúmenes o muchos usuarios

WireGuard consume pocos recursos. En un uso personal, el límite suele estar en el ancho de banda de la conexión más que en la capacidad de procesamiento del servidor.

Cómo instalar WireGuard en Ubuntu o Debian

En un servidor actualizado basado en Ubuntu o Debian, solo necesitas instalar las herramientas necesarias:

sudo apt update
sudo apt install wireguard qrencode -y

La instalación oficial de WireGuard en estas distribuciones se realiza simplemente con:

sudo apt install wireguard

Luego, es recomendable crear las claves con permisos restrictivos:

sudo -i
cd /etc/wireguard

umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key

La clave privada nunca debe compartirse, mientras que la pública será necesaria para configurar los clientes.

A continuación, identifica la interfaz que conecta el servidor a Internet con:

ip route show default

Por ejemplo, si responde:

default via 185.xxx.xxx.1 dev ens3

la interfaz será ens3.

Luego, habilita que Linux reenvíe paquetes con:

cat >/etc/sysctl.d/99-wireguard.conf <

De esta forma, evitas modificar continuamente /etc/sysctl.conf.

Crear la configuración del servidor

Puedes usar una red privada como 10.8.0.0/24, siendo 10.8.0.1 la IP del servidor.

Un ejemplo de configuración en /etc/wireguard/wg0.conf sería:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = CLAVE_PRIVADA_DEL_SERVIDOR
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE

Recuerda reemplazar ens3 por la interfaz real del servidor.

Si usas nftables en lugar de iptables, también puedes implementar NAT directamente con nftables. Aunque iptables sigue siendo común y sencillo para configuraciones básicas, en entornos empresariales lo recomendable es integrar las reglas en el sistema de firewall usado en el servidor.

El archivo contiene la clave privada del servidor, por lo que debe protegerse con permisos adecuados:

chmod 600 /etc/wireguard/wg0.conf

Una vez configurado, inicia el servicio con:

systemctl enable --now wg-quick@wg0

Y verifica el estado con:

wg show

La documentación oficial también ofrece wg-quick para automatizar la creación y eliminación de interfaces WireGuard.

El firewall y el router varían según dónde esté el servidor

Si usas UFW:

ufw allow 51820/udp

En un VPS con IP pública IPv4, esto puede ser suficiente, además de configurar cualquier firewall del panel de control del proveedor.

En conexión doméstica, debes crear una redirección en el router:

UDP 51820 → IP_LOCAL_SERVIDOR:51820

Por ejemplo:

UDP 51820 → 192.168.1.20:51820

Es recomendable asignar al servidor una IP local fija o una reserva DHCP.

Si la IP pública cambia, puedes usar un servicio de DNS dinámico y configurar el Endpoint como:

Endpoint = vpn.midominio.es:51820

en lugar de una IP fija.

Añadir el primer dispositivo (teléfono o PC)

Cada dispositivo necesita su par de claves propio. No debes compartir una sola clave privada entre varios dispositivos.

En el servidor, genera las claves para el cliente:

wg genkey | tee phone_private.key | wg pubkey > phone_public.key

La configuración en el teléfono podría ser así:

[Interface]
Address = 10.8.0.2/32
PrivateKey = CLAVE_PRIVADA_DEL_TELEFONO
DNS = 1.1.1.1

[Peer]
PublicKey = CLAVE_PUBLICA_DEL_SERVIDOR
Endpoint = IP_O_DOMINIO_DEL_SERVIDOR:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

PersistentKeepalive = 25 ayuda a mantener la conexión activa cuando el cliente está detrás de NAT o firewall, como recomienda la documentación de WireGuard.

En el servidor, hay que añadir el peer del dispositivo:

[Peer]
PublicKey = CLAVE_PUBLICA_DEL_TELEFONO
AllowedIPs = 10.8.0.2/32

Y aplicar la configuración con:

wg syncconf wg0 <(wg-quick strip wg0)

Para facilitar la configuración en Android o iPhone, puedes convertir el archivo a un código QR con:

qrencode -t ansiutf8 < phone.conf

La app oficial de WireGuard puede escanear ese código directamente.

Es importante señalar que, si solo quieres enrutar tráfico IPv4, NO debes añadir ::/0 en la configuración del cliente para IPv6, ya que esto puede causar problemas si el servidor no soporta IPv6. Para tunelizar IPv6 también, hay que asignar direcciones IPv6, habilitar el forwarding IPv6 y configurar el enrutamiento correctamente.

Split Tunneling o todo el tráfico por la VPN

WireGuard admite dos modos de configuración muy diferentes.

Con:

AllowedIPs = 0.0.0.0/0

todo el tráfico IPv4 pasa por la VPN, ideal para conectarse en un aeropuerto, hotel o Wi-Fi pública y usar la VPN como salida a Internet.

Pero si solo quieres acceder a la oficina o a tu red doméstica, puedes configurar:

AllowedIPs = 10.8.0.0/24, 192.168.1.0/24

Esto crea un split tunnel: solo el tráfico dirigido a esas redes pasa por la VPN; el resto de Internet, como YouTube o navegación, sigue usando tu conexión habitual.

Es una opción muy útil para acceder remotamente a recursos de una empresa o red privada sin redirigir todo el tráfico.

Una VPN propia NO equivale a una VPN comercial

Este es un matiz fundamental. Aunque WireGuard cifra de modo seguro la conexión entre el dispositivo y el servidor, no te hace automáticamente anónimo.

Con una VPN casera:

Móvil → Túnel cifrado → Casa → Internet

las páginas visitadas verán tu IP doméstica.

Con un VPS:

Móvil → Túnel cifrado → VPS → Internet

las páginas verán la IP del VPS.

Los proveedores comerciales suelen ofrecer diferentes ventajas: compartición de IPs entre miles de usuarios y cambio de país con facilidad, lo que aumenta el anonimato y la flexibilidad.

Por ello, una VPN propia es especialmente adecuada para seguridad, acceso remoto, control y protección de la privacidad en redes Wi-Fi no confiables. Pero no garantiza el anonimato absoluto ni simular estar en otros países.

Tampoco basta con decir que «no guarda logs». Aunque WireGuard no mantiene registros por sí solo, el sistema operativo, DNS, el proveedor del VPS y otros componentes pueden generar logs. Disponer de infraestructura propia permite decidir qué mantener y qué eliminar, pero hay que configurar adecuadamente.

¿Qué opción tiene más sentido?

Para alguien con fibra, IP pública y dispositivo encendido siempre, montar WireGuard en casa puede costar prácticamente 0 euros adicionales al mes, descontando electricidad y conexión habituales.

Para quienes tengan CG-NAT, no quieran abrir puertos o requieran disponibilidad permanente, un VPS pequeño con coste de 5-10 euros mensuales es muy recomendado. Esto equivale a unos 60-120 euros al año y además puede usarse para DNS privado, monitorización o bastion host.

GINERNET es una opción sencilla, con VPS en Madrid desde 5 euros mensuales y facturación por horas. Raiola Networks también ofrece VPS KVM españoles, y Aire Cloud resulta especialmente útil si la VPN forma parte de una infraestructura cloud empresarial.

La elección debe basarse en ubicación, IP pública, transferencia, conectividad y confianza del proveedor, no solo en el costo o número de CPUs.

La principal ventaja de WireGuard es que no requiere infraestructura compleja. Un Linux pequeño, una IP accesible y unos minutos de configuración bastan para tener un túnel cifrado que puede mantenerse funcionando años, sin la necesidad de suscripciones tradicionales de VPN.

Preguntas frecuentes

¿Cuánto cuesta montar una VPN propia con WireGuard?

Si usas un equipo doméstico encendido, el coste adicional es casi nulo, solo electricidad y conexión. En un VPS en España, opciones desde aproximadamente 5 euros al mes están disponibles.

¿Funciona WireGuard si uso CG-NAT en mi red doméstica?

No directamente con una redirección convencional de puertos IPv4. Pero puedes solicitar una IP pública, usar IPv6 si está preparada o usar un VPS con IP pública como servidor.

¿Una VPN propia me hace anónimo?

No necesariamente. Los sitios web verán normalmente tu IP doméstica o del VPS. La VPN propia cifra la conexión, pero no oculta tu identidad si el proveedor de Internet, DNS o el propio servidor mantienen registros.

¿Qué servidor necesita WireGuard?

Para pocos usuarios, con 1 vCPU y 1 GB de RAM suele ser suficiente. Lo que realmente limita es el ancho de banda y el tráfico permitido, no tanto los recursos del servidor.

Scroll naar boven