
Autoaloje una VPN WireGuard en un VPS.
Quince minutos para tener su propia VPN personal.
Cinco pasos desde «sin servidor» hasta «mi propia VPN personal» — sin KYC en el registro, pagado en criptomoneda, sin proveedor de VPN de terceros en la cadena de confianza. Probado en Debian 12 con WireGuard 1.0+ en el kernel principal.
- 01
Aprovisionar
Un VPS nórdico
- 02
Instalar
apt install wireguard
- 03
Configurar
Claves + wg0.conf
- 04
Cortafuegos
UDP 51820 + reenvío
- 05
Conectar
wg-quick up wg0
Elija un bastión nórdico cercano a donde vive.
En el panel: Ordenar → VPS → Sentinel ($5.90/mes, 2 vCPU / 4 GB / 120 GB NVMe). El Sentinel tiene ancho de banda ilimitado y un enlace ascendente de 1 Gbps — más que suficiente para una VPN personal incluso a plena transmisión. Elija el bastión más cercano a donde se encuentra físicamente, porque cada byte que envía pasa a través del VPS antes de llegar a su destino. Un cliente europeo elige Stockholm o Helsinki; un cliente de América / Asia elige Reykjavík (menor latencia transatlántica) u Oslo.
Imagen del sistema operativo: Debian 12 es la recomendación. Ubuntu 22.04+ funciona de forma idéntica. Alpine funciona pero usa diferentes nombres de paquetes (apk add wireguard-tools). FreeBSD también funciona pero la sintaxis de configuración diverge. El servidor arranca en aproximadamente 90 segundos; las credenciales de root se muestran una vez en el panel.
Un paquete, ya en el kernel.
Conéctese por SSH como root. A continuación:
apt update
apt install -y wireguard qrencode
Eso es todo. WireGuard está en el kernel principal de Linux desde la versión 5.6 (marzo de 2020), por lo que apt solo instala las herramientas de espacio de usuario (wg, wg-quick) — sin compilación de módulos, sin DKMS, sin recompilación del kernel. El paquete qrencode será útil en el paso 5 para enviar la configuración del cliente a un teléfono como QR.
Habilite el reenvío de IP ahora para no olvidarlo en el paso 4:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p
Genere claves, escriba wg0.conf. Dos minutos.
Genere un par de claves de servidor:
cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
Ahora genere un par de claves de cliente por dispositivo:
wg genkey | tee laptop_private.key | wg pubkey > laptop_public.key
wg genkey | tee phone_private.key | wg pubkey > phone_public.key
Cree /etc/wireguard/wg0.conf con la configuración del servidor + un bloque [Peer] por cliente:
[Interface]
PrivateKey = <contents of server_private.key>
Address = 10.66.66.1/24, fd00:66::1/64
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
# laptop
PublicKey = <contents of laptop_public.key>
AllowedIPs = 10.66.66.2/32
[Peer]
# phone
PublicKey = <contents of phone_public.key>
AllowedIPs = 10.66.66.3/32
Abra UDP 51820. Bloquee el resto.
Si utiliza UFW (predeterminado en Ubuntu):
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # SSH (consider port-knocking or VPN-only in production)
ufw allow 51820/udp # WireGuard
ufw enable
Los bastiones de NordBastion también tienen un cortafuegos upstream gestionado desde el panel — puede replicar las mismas reglas allí para defensa en profundidad. El cortafuegos a nivel de bastión bloquea antes de que el paquete llegue al VPS, lo que ahorra CPU en el escaneo volumétrico.
Un consejo de privacidad que vale la pena seguir: cambie el ListenPort de WireGuard de 51820 (el predeterminado, que los escáneres buscan) a un puerto aleatorio entre 1024 y 65535. No mejora la seguridad contra un adversario determinado, pero reduce el ruido de los escáneres aleatorios.
Active el túnel. Primer cliente conectado en segundos.
En el servidor:
systemctl enable --now wg-quick@wg0
wg # status: should show interface up
Cree una configuración de cliente (laptop.conf) en el servidor y luego cópiela al portátil:
[Interface]
PrivateKey = <contents of laptop_private.key>
Address = 10.66.66.2/24, fd00:66::2/64
DNS = 1.1.1.1, 9.9.9.9 # or your favourite privacy resolver
[Peer]
PublicKey = <contents of server_public.key>
Endpoint = <server-ip>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Para móvil, pase la configuración a través de qrencode y escanee con la aplicación WireGuard:
qrencode -t ansiutf8 < phone.conf
Eso es todo. El cliente se conecta, el túnel se establece y el portátil / teléfono ahora accede a Internet a través del bastión nórdico. Verifique con: curl https://api.ipify.org — la IP devuelta es la IP pública del VPS, no la de su hogar.
Preguntas, respondidas.
Ocho preguntas que un cliente de VPN autoalojada por primera vez hace.
¿Por qué autoalojar una VPN WireGuard en lugar de usar NordVPN / Mullvad / ProtonVPN?
Tres razones reales. (1) La cadena de confianza se reduce. Una VPN comercial es «confíe en esta empresa para que no registre su actividad»; una autoalojada es «confíe en este proveedor de VPS para que no registre su actividad» — un actor menos. (2) El endpoint de la VPN es solo suyo. Las IP de salida de las VPN comerciales se comparten entre miles de usuarios y muchos servicios las bloquean; su endpoint autoalojado es una IP limpia y nueva que nadie ha marcado. (3) Coste. Un NordBastion Sentinel cuesta $5.90/mes y ejecuta una VPN con ancho de banda ilimitado; las VPN comerciales cuestan entre $5 y $15/mes por infraestructura compartida.
¿Por qué WireGuard en lugar de OpenVPN?
WireGuard es más pequeño (4.000 líneas de código de kernel frente a las ~100.000 de OpenVPN), más rápido (a menudo 3-5 veces mayor rendimiento en el mismo hardware), más sencillo de configurar (un único archivo de configuración en lugar de la fontanería de CA/cert/dhparam) y más fácil de auditar. Está en el kernel principal de Linux desde la versión 5.6 (2020), por lo que no requiere compilación. OpenVPN sigue siendo útil para compatibilidad heredada y tráfico basado en TCP; para todo lo demás, WireGuard es el predeterminado moderno.
¿Mi ISP sabe que estoy ejecutando una VPN?
Su ISP ve tráfico UDP cifrado en el puerto 51820 hacia una IP de NordBastion. Ese patrón es reconocible como tráfico VPN; lo que hay al otro lado no lo es. Si «usar una VPN en absoluto» es sensible en su contexto, ejecute WireGuard en el puerto 443 (habla UDP, no TCP, pero el puerto es el mismo que HTTPS), y considere un envoltorio de ofuscación como udp2raw si el ISP bloquea activamente los apretones de manos de WireGuard.
¿Puedo usar el VPS como VPN Y como servidor para otras cosas?
Sí, patrón habitual. El VPS ejecuta WireGuard más lo que necesite — un sitio web personal, un nodo Bitcoin, una instancia de Mastodon. Las reglas del cortafuegos mantienen el tráfico VPN y los servicios públicos aislados; iptables/nft puede enrutar los clientes VPN a servicios locales específicos y no a otros.
¿Qué ocurre con la geolocalización IP — pensarán los sitios que estoy en Sweden?
Sí — su IP de salida es el bastión de NordBastion que haya elegido. Los servicios de streaming que aplican geocercas por IP le tratarán como sueco (bastión Stockholm), finlandés (Helsinki), noruego (Oslo) o islandés (Reykjavík). Los sitios bancarios que detectan «inicio de sesión desde un nuevo país» activarán sus reglas antifraude; ese es el comportamiento normal, no un problema de VPN.
¿Cuántos clientes puede manejar un servidor WireGuard?
Prácticamente ilimitado para uso personal. Cada par añade unos pocos KB de memoria. La limitación es el ancho de banda y el enlace ascendente del bastión, no el demonio WireGuard en sí. El nivel Sentinel con ancho de banda ilimitado y un enlace ascendente de 1 Gbps se saturará mucho antes de que el proceso WireGuard lo note.
¿Debo ejecutar esto en un VPS dedicado o compartirlo con otras cargas de trabajo?
Un VPS dedicado es más limpio desde una perspectiva de OPSEC — lo único con lo que la IP está asociada es «mi VPN personal». Si mezcla cargas de trabajo, el tráfico VPN y el tráfico de la otra carga comparten una IP saliente, y cualquier problema reputacional de uno se traslada al otro. Por $5.90 al mes es razonable mantenerlos separados.
¿El WireGuard autoalojado tiene capacidad de kill-switch?
Sí, en el lado del cliente. Las configuraciones de WireGuard admiten un bloque PostUp / PostDown donde añadir reglas iptables que descarten el tráfico no VPN cuando el túnel está activo; también puede configurar el SO del cliente para rechazar conexiones no VPN por defecto. Varias aplicaciones de gestión de código abierto (wg-easy, WireGuard-UI, Pi-VPN) automatizan esto por usted.
Ordene un Sentinel e inicie su propia VPN.
Última revisión · 2026-05-20 · Probado · Debian 12 · WireGuard 1.0.20210914
Anonymous VPS hosting in 2026 — the cluster.
This guide is one spoke of a larger series. The pillar walks the three privacy layers end to end — the sibling spokes below dive into the specifics.
Three independent layers — signup, payment, network — explained, legal context included, common mistakes flagged.
A v3 .onion address that survives reboots and IP changes.
What “no KYC” actually means — and what it does not.
Why Sweden, Finland, Norway and Iceland — the legal floor of each.
XMR end-to-end — wallet, transfer, confirmations, change.