Por qué ejecutar tu propia VPN
Una VPN comercial te pide confiar en la afirmación de «sin registros» de una sola empresa a través de miles de usuarios que comparten un puñado de IP de salida. Autoalojar WireGuard en un VPS offshore invierte ese modelo de confianza: tú tienes las claves, tú estableces la política de registros, y los únicos metadatos que existen son los que tú decides conservar. Para algunos modelos de amenaza ese es el trato correcto — dejas de confiar en el texto de marketing y empiezas a confiar en tu propia configuración más la jurisdicción en la que se asienta el servidor.
WireGuard es la opción moderna para el trabajo. Son unos pocos miles de líneas de código de kernel auditado con una superficie de ataque diminuta frente a OpenVPN o IPsec, y trae criptografía moderna fija — Curve25519, ChaCha20-Poly1305, BLAKE2s — de modo que no hay ninguna suite de cifrado que configurar mal y dejar débil. Los handshakes son rápidos, el roaming entre Wi-Fi y móvil es fluido, y un túnel inactivo casi no consume nada. En un VPS offshore obtienes una salida dedicada en una jurisdicción que eliges entre 6 regiones, en línea en aproximadamente 15 min, con la mitigación L3/4 1.5 Tbps y un puerto sin medición de serie en todos los planes.
SP·02Qué oculta un túnel autoalojado — y qué no
Sé honesto sobre el modelo antes de construirlo. Un túnel autoalojado cifra todo entre tu dispositivo y el VPS, ocultándolo de tu red local y de tu ISP, y reemplaza tu IP doméstica por la IP del VPS para todo lo que enrutes a través de él. Eso es genuinamente útil en un Wi-Fi hostil, para alcanzar tus propios servicios tras una dirección estable, o para mantener a tu ISP de acceso fuera de tu navegación.
Lo que no hace es volverte anónimo. La IP de salida es solo tuya — no hay una multitud de otros usuarios con la que mezclarse, de modo que cualquiera que pueda correlacionar ambos extremos de la conexión, u obtener una orden vinculante contra el host, puede atribuir esa dirección a tu cuenta. En el lado del host, la postura es fija: las notificaciones DMCA no se procesan ni se responden — la DMCA es una ley estadounidense sin vigencia en nuestras jurisdicciones, y solo actuamos ante una orden vinculante de un tribunal con jurisdicción sobre el servidor concreto. Eso te protege de los robots de retirada automatizados; no convierte una VPN de un solo usuario en una herramienta de anonimato. Si tu adversario es un observador pasivo global, recurre a Tor en su lugar. Un túnel autoalojado es una herramienta de confidencialidad y control, no un manto de invisibilidad.
SP·03Elige primero la ubicación y el plan
Una VPN personal está limitada por el ancho de banda, no por la CPU, así que el plan más pequeño sobra — el VPS Drift a $8.00/mes saturará su puerto mucho antes de que la vCPU se inmute. Gasta tu presupuesto de decisión en el dónde en su lugar. Pon el servidor cerca de ti cuando importe la latencia para un uso interactivo, o lejos de ti cuando la distancia legal importe más que el tiempo de ida y vuelta.
Rumanía y los Países Bajos facturan a tarifa base y cuentan con la mejor conectividad europea; Suiza, Islandia, Malasia y Panamá aplican un modificador regional que se muestra en vivo en el configurador. Malasia es la opción de Asia-Pacífico; Panamá e Islandia se inclinan con más fuerza hacia la distancia jurisdiccional. Si no lo tienes claro, la guía complementaria ¿qué ubicación offshore deberías elegir? recorre los compromisos región por región. Elijas la que elijas, recarga tu saldo desde $30.00 con cripto y despliega — no hay verificación de identidad ni tarjeta en archivo.
SP·04Cómo encajan las piezas
WireGuard modela una VPN como un conjunto de pares, cada uno identificado por una clave pública, que se comunican sobre una interfaz virtual (aquí wg0). El servidor obtiene una subred privada — digamos 10.66.0.0/24 más una ULA IPv6 — y cada cliente toma una dirección dentro de ella. El bloque [Interface] del servidor contiene su clave privada y su puerto de escucha; cada cliente es un bloque [Peer] que lleva la clave pública de ese cliente y las direcciones que se le permite usar.
En el lado del cliente, AllowedIPs = 0.0.0.0/0, ::/0 es lo que convierte esto en una VPN de túnel completo: le indica al cliente que enrute todo el tráfico a través de wg0. El servidor luego aplica NAT a ese tráfico hacia su interfaz de red real con una regla de masquerade, razón por la cual hay que habilitar el reenvío de IP en el kernel. PersistentKeepalive = 25 mantiene la ruta abierta a través de cortafuegos con estado y del NAT del operador. Configura DNS en el cliente apuntando a un resolutor en el que confíes para que las consultas viajen dentro del túnel en lugar de filtrarse a tu red local. WireGuard en sí es sin conexión — no hay una sesión de larga duración que se caiga, así que el enlace sobrevive a un portátil en suspensión o a un móvil que pasa de Wi-Fi a datos móviles sin ningún baile de reconexión. Si una ruta tiene una MTU incómoda y los paquetes grandes se atascan, bajar la MTU de la interfaz del cliente a alrededor de 1380 suele resolverlo. Asimila esas cuatro ideas — interfaz, pares, AllowedIPs, masquerade — y la configuración de abajo se lee como prosa.
Refuerza el servidor ya que estás en ello
Vale la pena blindar un punto de salida de VPN. Cambia SSH a autenticación solo por clave y desactiva el inicio de sesión por contraseña y como root en /etc/ssh/sshd_config (PasswordAuthentication no, PermitRootLogin prohibit-password), y luego recarga sshd. Mantén el firewall con denegación por defecto: los únicos puertos de entrada que necesita una máquina con WireGuard son SSH y UDP 51820. Todo lo demás permanece cerrado.
Mantén los archivos de clave de WireGuard en 0600 — el umask 077 de los pasos a continuación se encarga de eso — y nunca copies una clave privada fuera del host al que pertenece. Activa las actualizaciones de seguridad desatendidas para que el kernel y el paquete wireguard se mantengan parcheados sin necesidad de supervisión. Comprueba si hay fugas de DNS una vez que el túnel esté activo — una consulta que se resuelve a través del resolver que elegiste, y no del ISP de tu acceso, confirma que las consultas realmente permanecen dentro de wg0. Si más adelante expones otros servicios, añade fail2ban y reglas por servicio en lugar de ampliar el firewall. Nada de esto depende del host: el VPS es tuyo, root es tuyo, y el compromiso de disponibilidad de 99.9% mantiene la máquina accesible para que tu túnel siga activo.
Añade más dispositivos y mantenlo en funcionamiento
Cada dispositivo que se conecta necesita su propio par de claves y su propio bloque [Peer] en el servidor, cada uno con una dirección única dentro de la subred — reutilizar un mismo par de claves en un portátil y un teléfono rompe el roaming y enturbia cualquier diagnóstico. Genera un nuevo par client2.key/client2.pub, añade un peer, y luego recarga la interfaz con wg syncconf wg0 <(wg-quick strip wg0) o reiníciala con systemctl restart wg-quick@wg0.
Para los teléfonos, omite por completo la copia del archivo: renderiza la configuración del cliente como código QR en el servidor con qrencode -t ansiutf8 < client.conf y escanéalo directamente en la app oficial de WireGuard. Para ver quién está conectado y cuándo realizó cada peer su último handshake, ejecuta wg show — es toda la monitorización que necesita un despliegue personal. Tomar instantáneas antes de una actualización del kernel te da una reversión limpia si alguna nueva versión llega a comportarse mal.
Cuándo una VPN comercial o Tor es la mejor herramienta
El autoalojamiento no siempre es la respuesta, y fingir lo contrario sería deshonesto. Si tu objetivo es desaparecer entre la multitud, una VPN multiusuario reputada te da IP de salida compartidas que muchas personas usan a la vez — un túnel de un solo inquilino no puede ofrecer eso. Si necesitas saltar entre países de salida bajo demanda, un servicio comercial con una app de cambio con un clic es simplemente más cómodo que levantar máquinas. Y si necesitas anonimato genuino frente a un adversario con muchos recursos, el enrutamiento en cebolla de Tor está diseñado precisamente para el problema de correlación que una VPN autoalojada no puede resolver.
Donde gana el autoalojamiento es en control y confidencialidad: no confías en la política de registros de nadie más, obtienes una IP dedicada estable para administración y listas de permitidos, y tú decides la jurisdicción. Muchas personas usan ambos — un túnel autoalojado para la confidencialidad cotidiana y Tor para la tarea poco frecuente que exige anonimato. Elige la herramienta que se ajuste a la amenaza, no la que tenga la mejor página de aterrizaje.
SP·08Paso a paso
-
01
Despliega el VPS e instala WireGuard
Despliega un VPS con Debian 13 o Ubuntu 24.04, inicia sesión como root por SSH, y luego actualiza e instala los dos paquetes que necesitas.
apt update && apt full-upgrade -y apt install -y wireguard qrencode
-
02
Habilita el reenvío de IP
Una VPN de túnel completo reenvía el tráfico del cliente por la interfaz del servidor, así que el kernel debe permitir el reenvío para IPv4 e IPv6.
cat > /etc/sysctl.d/99-wg.conf <<'EOF' net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1 EOF sysctl --system
-
03
Genera las claves del servidor
Trabaja en
/etc/wireguardcon un umask restrictivo para que cada archivo de clave quede en0600.cd /etc/wireguard umask 077 wg genkey | tee server.key | wg pubkey > server.pub
-
04
Genera un par de claves de cliente
Cada dispositivo recibe su propio par de claves. Crea el primero ahora.
wg genkey | tee client.key | wg pubkey > client.pub
-
05
Escribe la configuración del servidor
Encuentra tu interfaz de red real con
ip route get 1.1.1.1y reemplazaeth0abajo si es distinta (a menudo esenp1s0). Las llamadas$(cat ...)insertan en línea las claves que acabas de crear.cat > /etc/wireguard/wg0.conf <<EOF [Interface] Address = 10.66.0.1/24, fd86:ea04:1115::1/64 ListenPort = 51820 PrivateKey = $(cat server.key) PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = $(cat client.pub) AllowedIPs = 10.66.0.2/32, fd86:ea04:1115::2/128 EOF
-
06
Escribe la configuración del cliente
Crea
client.confen el mismo directorio. Pega el contenido declient.keyyserver.pubdonde se indica, y estableceEndpointen la IP pública de tu servidor.AllowedIPs = 0.0.0.0/0, ::/0enruta todo a través del túnel.[Interface] PrivateKey = <paste client.key> Address = 10.66.0.2/32, fd86:ea04:1115::2/128 DNS = 9.9.9.9 [Peer] PublicKey = <paste server.pub> Endpoint = YOUR_SERVER_IP:51820 AllowedIPs = 0.0.0.0/0, ::/0 PersistentKeepalive = 25
-
07
Abre el firewall
Permite SSH y el puerto UDP de WireGuard, y luego habilita
ufw. Mantén la postura de denegación por defecto para todo lo demás.ufw allow OpenSSH ufw allow 51820/udp ufw enable
-
08
Levanta el túnel
Habilita la interfaz para que sobreviva a los reinicios, y luego confirma los peers y los handshakes.
systemctl enable --now wg-quick@wg0 wg show
-
09
Conecta un teléfono con un código QR
Renderiza la configuración del cliente como un código escaneable e impórtalo en la app móvil de WireGuard — sin necesidad de transferir archivos.
qrencode -t ansiutf8 < client.conf

