Seguridad / Privacidad Digital 12 min lectura

VPN gratis de verdad en 2026: monta tu propio WireGuard sin depender de apps sospechosas

Aprende a montar tu propia VPN gratuita con WireGuard en Oracle Cloud Free Tier, sin apps sospechosas ni límites ocultos. Incluye comandos, configuración móvil, pruebas y alternativas.

Por Equipo Starbyte

VPN gratis de verdad en 2026: monta tu propio WireGuard sin depender de apps sospechosas

VPN gratis de verdad en 2026: monta tu propio WireGuard sin depender de apps sospechosas

El problema del post anterior: prometía privacidad, pero no enseñaba a construirla

Muchas guías sobre “VPN gratis” terminan recomendando aplicaciones freemium.

Eso puede servir para un usuario que solo quiere instalar, tocar un botón y navegar. Pero no resuelve el problema de fondo:

Si quieres una VPN gratuita, efectiva y controlada por ti, la mejor opción no es instalar una app desconocida: es montar tu propio servidor VPN.

En este post vamos a hacerlo de forma práctica.

No vamos a prometer anonimato mágico.
No vamos a decir que una VPN te vuelve invisible.
No vamos a venderte una app.

Vamos a montar una VPN real con WireGuard, usando un servidor gratuito de Oracle Cloud Free Tier o, si prefieres algo más simple en casa, herramientas como wg-easy o PiVPN.

La idea es que entiendas qué estás instalando, por qué funciona y qué límites tiene.


Qué vas a construir

Vas a crear este esquema:

Celular / laptop
→ túnel WireGuard cifrado
→ servidor propio en Oracle Cloud
→ internet

Tu dispositivo se conectará a internet saliendo por la IP pública de tu servidor.

Eso te permite:

  • protegerte mejor en redes WiFi públicas;
  • evitar que la red local vea tu tráfico;
  • tener una IP estable controlada por ti;
  • conectar tus dispositivos por túnel cifrado;
  • aprender una tecnología real usada en producción;
  • no depender de VPN gratuitas con modelos de negocio dudosos.

Pero también hay límites:

  • Oracle Cloud verá que tu servidor consume tráfico;
  • no serás anónimo frente a todos;
  • no sirve para hacer actividades ilegales;
  • algunos servicios pueden bloquear IPs de data centers;
  • debes mantener el servidor actualizado;
  • si configuras mal el firewall, puedes exponerte.

Una VPN propia no es magia. Es control.


Por qué WireGuard

WireGuard es un protocolo VPN moderno, simple y rápido. Su propio sitio oficial lo describe como una VPN moderna, segura y de alto rendimiento, diseñada para ser más simple que IPsec y más eficiente que alternativas tradicionales.

La ventaja práctica es clara:

menos complejidad,
menos configuración,
buen rendimiento,
clientes para Windows, macOS, Linux, Android e iOS.

Para una VPN personal, WireGuard es una de las mejores opciones.


Por qué Oracle Cloud Free Tier

Oracle Cloud ofrece recursos Always Free, incluyendo instancias Ampere A1 basadas en ARM y transferencia saliente gratuita mensual dentro de sus límites. La documentación de Oracle indica que Always Free incluye recursos que no expiran mientras se respeten sus condiciones.

Esto permite montar una VPN personal sin pagar servidor mensual, siempre que configures solo recursos elegibles como Always Free.

Advertencias importantes:

  • Oracle puede pedir tarjeta para validar identidad.
  • La disponibilidad de Ampere A1 puede variar por región.
  • Debes evitar crear recursos fuera de Always Free.
  • Conviene activar alertas de presupuesto.
  • Si eliges mal la forma de instancia o almacenamiento, podrías generar costos.

No es “internet gratis infinito”. Es un free tier útil si lo usas con cuidado.


Qué necesitas antes de empezar

Necesitas:

  • una cuenta de Oracle Cloud;
  • una VM Ubuntu 22.04 o 24.04;
  • acceso SSH;
  • puerto UDP 51820 abierto;
  • 20 a 30 minutos;
  • cliente WireGuard en tu celular o laptop.

Recomendación de VM:

VM.Standard.A1.Flex
1 OCPU
1 GB RAM
Ubuntu
ARM64

Para una VPN personal, eso suele ser suficiente.


Arquitectura recomendada

[Cliente WireGuard]
IP VPN: 10.8.0.2

        ↓ túnel cifrado

[Servidor WireGuard]
IP VPN: 10.8.0.1
Puerto: UDP 51820
NAT hacia internet

        ↓

[Internet]

Usaremos red interna 10.8.0.0/24.


Paso 1: crear la VM en Oracle Cloud

En Oracle Cloud:

  1. Entra a Compute → Instances.
  2. Crea una instancia nueva.
  3. Elige Ubuntu 22.04 o 24.04.
  4. Usa shape VM.Standard.A1.Flex si está disponible.
  5. Configura 1 OCPU y 1 GB RAM.
  6. Agrega tu clave SSH.
  7. Crea la instancia.

Después, anota la IP pública.

Ejemplo:

IP pública del servidor: 123.123.123.123

Paso 2: abrir el puerto WireGuard en Oracle Cloud

WireGuard usa UDP.

En la red de Oracle:

Virtual Cloud Network
→ Security Lists o Network Security Groups
→ Ingress Rules
→ Add Ingress Rule

Regla:

Source CIDR: 0.0.0.0/0
IP Protocol: UDP
Destination Port Range: 51820
Description: WireGuard VPN

No abras más puertos de los necesarios.

Para SSH, deja solo el puerto 22 y, si puedes, limita acceso a tu IP.


Paso 3: conectarte al servidor

Desde tu PC:

ssh ubuntu@IP_PUBLICA_DEL_SERVIDOR

Actualiza el sistema:

sudo apt update && sudo apt upgrade -y

Instala WireGuard y herramientas:

sudo apt install wireguard qrencode iptables-persistent -y

Paso 4: activar reenvío de paquetes

WireGuard necesita que el servidor pueda reenviar tráfico.

echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system

Verifica:

sysctl net.ipv4.ip_forward

Debe mostrar:

net.ipv4.ip_forward = 1

Paso 5: generar llaves del servidor

sudo mkdir -p /etc/wireguard
cd /etc/wireguard
sudo umask 077
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key

Ver llaves:

sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key

Guarda la pública. La privada no se comparte.


Paso 6: generar llaves del cliente

wg genkey | tee client_private.key | wg pubkey | tee client_public.key

Ver llaves:

cat client_private.key
cat client_public.key

Paso 7: detectar la interfaz de red pública

Ejecuta:

ip route | awk '/default/ {print $5; exit}'

En Oracle normalmente puede ser:

ens3

Guarda ese nombre. En los ejemplos usaré ens3.

Si tu servidor muestra otro nombre, reemplázalo.


Paso 8: crear configuración del servidor

Edita:

sudo nano /etc/wireguard/wg0.conf

Pega esto, cambiando las llaves:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = PEGA_AQUI_SERVER_PRIVATE_KEY

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

[Peer]
PublicKey = PEGA_AQUI_CLIENT_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

Guarda con:

CTRL + O
ENTER
CTRL + X

Protege el archivo:

sudo chmod 600 /etc/wireguard/wg0.conf

Paso 9: levantar WireGuard

sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

Ver estado:

sudo systemctl status wg-quick@wg0

Ver interfaz:

sudo wg

Paso 10: abrir firewall del servidor

Si usas UFW:

sudo ufw allow OpenSSH
sudo ufw allow 51820/udp
sudo ufw enable
sudo ufw status

Si no usas UFW, las reglas de iptables del archivo wg0.conf se encargarán del NAT cuando levante WireGuard.


Paso 11: crear configuración del cliente

En tu PC local crea un archivo:

starbyte-vpn.conf

Contenido:

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

[Peer]
PublicKey = PEGA_AQUI_SERVER_PUBLIC_KEY
Endpoint = IP_PUBLICA_DEL_SERVIDOR:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Explicación:

  • AllowedIPs = 0.0.0.0/0 hace que todo el tráfico IPv4 salga por la VPN.
  • PersistentKeepalive = 25 ayuda en redes móviles o NAT.
  • DNS = 1.1.1.1 usa DNS de Cloudflare. Puedes cambiarlo por 9.9.9.9 o el DNS que prefieras.

Paso 12: instalar cliente WireGuard

Descarga el cliente oficial desde:

https://www.wireguard.com/install/

Luego:

  • En Windows/macOS: importa starbyte-vpn.conf.
  • En Android/iOS: instala WireGuard y escanea un QR.
  • En Linux: usa wg-quick.

Para mostrar QR:

qrencode -t ansiutf8 < starbyte-vpn.conf

Paso 13: probar si funciona

Conecta la VPN y abre:

https://ifconfig.me

o:

https://ipleak.net

La IP visible debe ser la IP pública de tu servidor Oracle.

También prueba DNS leak:

https://dnsleaktest.com

Si tu IP no cambia, revisa:

  • puerto UDP 51820 abierto en Oracle;
  • wg0 activo;
  • llave pública correcta;
  • endpoint correcto;
  • interfaz ens3 correcta;
  • firewall local;
  • configuración del cliente.

Método más fácil: usar wg-easy

Si prefieres panel web y códigos QR sin editar archivos manualmente, puedes usar el repo wg-easy.

Repositorio:

https://github.com/wg-easy/wg-easy

La documentación de wg-easy indica que requiere un host administrable, una IP pública o dominio, y arquitectura compatible como x86_64 o arm64.

Ventaja:

  • panel web;
  • creación de clientes;
  • QR automático;
  • menos edición manual.

Riesgo:

  • debes proteger muy bien el panel;
  • no lo expongas públicamente sin HTTPS, autenticación fuerte y firewall;
  • para producción, revisa siempre la documentación oficial actualizada.

Si solo quieres una VPN personal y aprender, el método manual con WireGuard es más transparente.

Si vas a administrar varios usuarios, wg-easy simplifica bastante.


Alternativa casera: PiVPN

Si tienes Raspberry Pi o un mini PC encendido en casa, puedes usar PiVPN.

Repositorio:

https://github.com/pivpn/pivpn

PiVPN permite instalar WireGuard u OpenVPN de forma más sencilla.

Escenario ideal:

quieres conectarte desde fuera a tu red de casa

Limitación:

  • necesitas IP pública o configurar DDNS;
  • si tu operador usa CGNAT, tendrás problemas para entrar desde internet;
  • en ese caso conviene usar Tailscale o un servidor cloud como puente.

Alternativa si estás detrás de CGNAT: Tailscale con exit node

Si no quieres abrir puertos o estás detrás de CGNAT, Tailscale es una alternativa muy práctica.

No es exactamente “montar WireGuard puro”, pero usa WireGuard como base y simplifica mucho la conexión entre dispositivos.

La función importante es Exit Node.

Tailscale explica que un exit node permite enrutar todo el tráfico público de internet a través de otro dispositivo de tu red, usando rutas por defecto 0.0.0.0/0 y ::/0, similar a una VPN tradicional.

Ejemplo:

celular fuera de casa
→ Tailscale
→ mini PC de casa como exit node
→ internet desde tu red doméstica

Ideal para:

  • acceder a servicios caseros;
  • navegar como si estuvieras en casa;
  • evitar abrir puertos;
  • redes con CGNAT.

Si quieres controlarlo tú mismo a nivel servidor de coordinación, existe Headscale, una implementación open source y self-hosted del servidor de control de Tailscale. Pero para la mayoría de usuarios, Tailscale es más rápido de implementar.


¿Cuál opción elegir?

Caso Mejor opción
Quiero VPN gratis con IP propia en la nube WireGuard en Oracle Cloud Free Tier
Quiero panel web y QR fácil wg-easy
Tengo Raspberry Pi en casa PiVPN
Estoy detrás de CGNAT Tailscale con exit node
Quiero control total del control server Headscale
Solo quiero instalar y no aprender nada VPN freemium confiable

El post anterior se enfocaba demasiado en la última fila. Esta versión prioriza control real.


Buenas prácticas de seguridad

No expongas paneles innecesarios

Si usas wg-easy, no dejes el panel abierto al mundo sin protección.

Actualiza el servidor

sudo apt update && sudo apt upgrade -y

Usa claves por dispositivo

No uses el mismo perfil en todos tus equipos.

Revoca clientes perdidos

Si pierdes el celular, elimina su peer del servidor.

No guardes llaves privadas en notas

La clave privada es tu identidad VPN.

Revisa logs y tráfico

Una VM gratuita puede usarse mal si queda comprometida.

Activa alertas de presupuesto en Oracle

Evita sorpresas.


Qué no debes prometer en un post sobre VPN

Una VPN propia no significa:

  • anonimato absoluto;
  • protección contra malware;
  • invisibilidad ante todos;
  • libertad para violar leyes;
  • protección si instalas software malicioso;
  • ocultamiento frente a servicios donde inicias sesión;
  • privacidad total frente al proveedor cloud.

Una VPN propia sí significa:

  • cifrado entre tu dispositivo y tu servidor;
  • control de configuración;
  • menos dependencia de apps desconocidas;
  • una IP de salida propia;
  • aprendizaje real;
  • mejor protección en WiFi públicas.

Esa diferencia hace que el post sea profesional y no sensacionalista.


Errores comunes y solución

No conecta

Revisa que el puerto UDP 51820 esté abierto en Oracle y en el firewall del servidor.

Conecta, pero no hay internet

Revisa net.ipv4.ip_forward=1 y la regla NAT con la interfaz correcta.

La IP no cambia

Revisa que el cliente tenga:

AllowedIPs = 0.0.0.0/0

Funciona en WiFi, pero no en datos móviles

Agrega:

PersistentKeepalive = 25

El servidor se reinició y la VPN no volvió

Ejecuta:

sudo systemctl enable wg-quick@wg0

DNS leak

Define DNS en el cliente:

DNS = 1.1.1.1

Checklist final

Revisión Estado
VM Always Free creada
Puerto UDP 51820 abierto
WireGuard instalado
IP forwarding activo
Llaves generadas
wg0.conf creado
servicio activo
cliente configurado
IP pública verificada
DNS leak probado
alertas de presupuesto activas

Fuentes útiles

  • Oracle Cloud Free Tier: https://www.oracle.com/cloud/free/
  • Oracle Always Free Resources: https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm
  • WireGuard: https://www.wireguard.com/
  • WireGuard Quick Start: https://www.wireguard.com/quickstart/
  • wg-easy: https://github.com/wg-easy/wg-easy
  • PiVPN: https://github.com/pivpn/pivpn
  • Tailscale Exit Nodes: https://tailscale.com/docs/features/exit-nodes
  • Headscale: https://headscale.net/

Idea clave

Si el título promete “VPN gratis”, el contenido debe enseñar algo más útil que instalar una app freemium. Una VPN propia con WireGuard en Oracle Cloud Free Tier no es perfecta ni anónima, pero sí es gratuita dentro de límites, efectiva, educativa y controlada por ti. Para un lector técnico o curioso, esa es una solución mucho más honesta y valiosa.

Etiquetas: #vpn-gratis #wireguard #oracle-cloud-free-tier #wg-easy #pivpn #privacidad-digital #vpn-propia #ciberseguridad #redes #linux