Cómo crear un servidor VPN

Montar tu propia red privada virtual te da control total sobre el cifrado, el tráfico y la privacidad de tus dispositivos, sin depender de proveedores de terceros. Un servidor VPN bien configurado protege tus conexiones en redes WiFi públicas, permite acceder de forma segura a tus equipos desde fuera de casa u oficina y centraliza el acceso remoto con reglas que tú mismo defines.

En esta guía vas a aprender cómo crear un servidor VPN desde cero, qué decisiones tomar antes de instalar nada (proveedor, protocolo, sistema operativo), y un recorrido paso a paso para desplegarlo con las tecnologías más fiables del momento. También verás prácticas de seguridad esenciales, una tabla comparativa de protocolos y consejos para resolver problemas típicos de NAT y DNS.

Cómo crear un servidor VPN

Requisitos y decisiones previas

Antes de instalar, define dónde residirá tu servidor. La opción más flexible es un VPS en la nube (1 vCPU y 1 GB de RAM bastan para grupos pequeños), que suele ofrecer IP pública estática, buen ancho de banda y alta disponibilidad. Como alternativa, puedes alojarlo en casa con un mini PC o Raspberry Pi; en ese caso, verifica que tu router permita redirección de puertos y que tu ISP no use CGNAT, ya que esto puede impedir conexiones entrantes.

El segundo paso es elegir el protocolo VPN. Hoy, WireGuard destaca por su rendimiento, simplicidad y criptografía moderna. OpenVPN continúa siendo un estándar probado con enorme compatibilidad y opciones avanzadas. IKEv2/IPsec funciona especialmente bien en móviles por su rápida reconexión. Tu elección dependerá del equilibrio entre velocidad, compatibilidad y facilidad de gestión.

El tercer aspecto es el sistema operativo. Debian/Ubuntu Server ofrecen repositorios actualizados y documentación abundante. Para routers compatibles, OpenWrt puede ser una gran base si prefieres centralizar la VPN en la puerta de enlace. En todos los casos, planifica el cortafuegos, el esquema de direccionamiento (por ejemplo, 10.8.0.0/24) y el método de DNS que usarán los clientes para evitar fugas.

  • Ubicación del servidor: VPS con IP pública vs. servidor en casa con reenvío de puertos.
  • Protocolo: WireGuard (rendimiento y simplicidad), OpenVPN (compatibilidad), IKEv2 (movilidad).
  • Sistema operativo: Debian/Ubuntu por facilidad; OpenWrt en routers; otras distros si ya las dominas.
  • Red y cortafuegos: rangos internos, puertos a abrir, reglas NAT y políticas de salida.
  • Gestión de nombres: dominio propio o DNS dinámico si no tienes IP fija.
ProtocoloCifrado por defectoRendimiento estimado (VPS 1 vCPU)CompatibilidadComplejidad de gestión
WireGuardCriptografía moderna (ChaCha20, Poly1305)400–800 Mbps según CPUAlta (Windows, macOS, Linux, iOS, Android)Baja (configuración simple por pares)
OpenVPNOpenSSL (AES-256-GCM, etc.)100–300 Mbps según cifradoMuy alta (amplio soporte y appliances)Media/Alta (muchas opciones)
IKEv2/IPsecAES-GCM, Suite B300–600 Mbps según hardwareAlta en móviles y sistemas modernosMedia (requiere IPsec y certificados)

Si vas a instalar el servidor en hardware propio y necesitas preparar el sistema, te será útil crear un USB booteable de Linux para realizar la instalación inicial de forma rápida y segura.

Para complementar tu arquitectura o segmentar servicios, una guía para crear un servidor proxy puede ayudarte a añadir capas de control de acceso, filtrado o caché a ciertos flujos, manteniendo la VPN como canal cifrado principal.

Paso a paso: desplegar tu servidor VPN

A continuación, verás un flujo de trabajo general aplicable a VPS o a tu red doméstica. Usaremos WireGuard como ejemplo por su equilibrio entre seguridad y simplicidad, pero puedes sustituir los pasos de instalación por OpenVPN sin problemas si necesitas compatibilidad adicional.

1) Provisiona el servidor. En un VPS, elige Ubuntu 22.04/24.04 o Debian estable. En casa, instala una distro ligera y actualízala. Asegura el acceso por SSH con claves y desactiva el login por contraseña. Actualiza paquetes y kernel.

  • Actualiza el sistema: sudo apt update && sudo apt -y upgrade
  • Configura el hostname y la zona horaria correcta.
  • Opcional: instala fail2ban y activa unattended-upgrades.

2) Configura el cortafuegos y el NAT. Si usarás WireGuard, abre el puerto 51820/udp (por defecto). Para OpenVPN, el habitual es 1194/udp. Permite SSH entrante, bloquea lo innecesario y habilita masquerade para que los clientes salgan a Internet a través del servidor.

  • Con UFW: permite OpenSSH y el puerto UDP de tu VPN, habilita UFW y comprueba el estado.
  • Reglas NAT: asegúrate de hacer masquerading en la interfaz WAN del servidor.

3) Instala WireGuard. En Debian/Ubuntu: sudo apt install wireguard. Genera un par de claves para el servidor y define la red interna (por ejemplo, 10.8.0.1/24 para el servidor).

  • Archivo de configuración típico: /etc/wireguard/wg0.conf con la clave privada del servidor, ListenPort 51820, Address 10.8.0.1/24 y comandos PostUp/PostDown para aplicar reglas de cortafuegos.
  • Levanta la interfaz: sudo systemctl enable --now wg-quick@wg0 y verifica con wg.

4) Crea y registra clientes. Para cada dispositivo, genera su par de claves y asígnale una IP del segmento (por ejemplo, 10.8.0.2/32). Añádelo como Peer en el servidor y crea el archivo de configuración del cliente con el Endpoint público del servidor y AllowedIPs.

  • AllowedIPs: usa 0.0.0.0/0, ::/0 para túnel completo (todo el tráfico pasa por la VPN) o limita a rangos específicos para split tunneling.
  • DNS: especifica un servidor confiable (p. ej., el propio servidor VPN u otro resolutor) para evitar fugas DNS.
  • MTU: en redes con overhead, un MTU=1420 suele ser estable.

5) Gestiona el nombre y la IP. Si el servidor está en casa y tu IP pública cambia, configura DNS dinámico para actualizar automáticamente el registro que usan los clientes. En un VPS con IP estática, puedes usar un subdominio dedicado a la VPN.

6) Pruebas y verificación. Conecta un cliente por 4G o desde otra red ajena a la tuya. Verifica que navega y que la IP pública corresponde a la del servidor. Comprueba que el tráfico viaja cifrado y que el servidor aplica las reglas de salida esperadas.

  • Prueba la conectividad con ping y traceroute a direcciones internas y externas.
  • Valida que los registros del servidor no muestran errores de handshake o de firewall.

Buenas prácticas de seguridad. Mantén el sistema actualizado, desactiva servicios innecesarios, limita el acceso SSH a IPs de administración, y revisa periódicamente las claves y peers autorizados. Si usas OpenVPN, emplea AES-256-GCM o suites modernas y certificados con suficiente longitud. Para WireGuard, considera rotar claves y separar perfiles de equipo personal y trabajo.

  • Hardening SSH: claves, puertos no estándar, Port Knocking opcional.
  • Fail2ban: filtros para SSH y, si procede, para paneles web auxiliares.
  • Backups: copia de seguridad de /etc/wireguard o directorios de OpenVPN y del firewall.

Solución de problemas frecuentes. Si no puedes conectarte desde fuera, revisa que el puerto UDP esté abierto en el firewall y, si estás en casa, que el router reenvíe correctamente hacia la IP del servidor. Ante doble NAT o CGNAT, puede que necesites un VPS como relay o túnel inverso. Si navegas pero ciertos servicios no cargan, ajusta MTU. Si hay fuga DNS, fuerza resolutores bajo la VPN y bloquea consultas directas fuera del túnel.

Por último, si además de cifrar el tráfico quieres exponer de forma segura servicios internos (SMB, RDP, paneles, etc.), plantéate mantenerlos exclusivos para la subred de la VPN en lugar de publicarlos en Internet. Revisa logs con moderación (minimizando datos personales) y define un calendario de actualizaciones.

Con estos pasos y recomendaciones, tendrás un servidor VPN robusto, escalable y fácil de mantener, ya sea en la nube o en tu red doméstica. Con el tiempo, podrás ampliar con políticas de split tunneling por dispositivo, listas de control de acceso por puertos y monitorización ligera para asegurarte de que todo funciona como esperas.

Si quieres seguir endureciendo tu infraestructura y añadir capas de control a ciertos flujos HTTP/HTTPS, puedes incorporar un proxy a medida como complemento de la VPN para segmentar y auditar accesos sensibles.

Preguntas frecuentes

¿Cuál es el mejor protocolo para un servidor VPN casero?

WireGuard suele ser la mejor opción por su rendimiento, simplicidad y criptografía moderna. Si necesitas compatibilidad amplia con equipos antiguos o appliances, OpenVPN es excelente. Para móviles con cambios frecuentes de red, IKEv2/IPsec destaca por reconectar muy rápido.

¿Puedo crear un servidor VPN si mi operador usa CGNAT?

Con CGNAT no tienes puertos entrantes directamente. Puedes solucionarlo usando un VPS como punto con IP pública y hacer un túnel desde tu red doméstica al VPS (por ejemplo, con WireGuard en modo site-to-site), o contratar un servicio que te asigne IP pública/port mapping. El DNS dinámico por sí solo no resuelve CGNAT.

¿Qué recursos de hardware necesito?

Para 5–20 usuarios simultáneos, un 1 vCPU/1 GB RAM suele ser suficiente, alcanzando de 200 a 600 Mbps según protocolo y cifrado. Si planeas cifrar tráfico a gigabit o usar cargas intensivas, considera CPU con AES-NI y más núcleos.

En la mayoría de países, , es legal para uso personal o empresarial legítimo. Debes cumplir la normativa local, los términos de tu proveedor (VPS/ISP) y políticas corporativas si aplica. No uses la VPN para actividades ilícitas.

¿Cómo evito fugas de DNS e IPv6?

Configura DNS explícitos en el cliente dentro del túnel y bloquea consultas fuera de la interfaz VPN. Si tu configuración no enruta IPv6, desactívalo en el cliente o enrútalo correctamente (añadiendo ::/0 en AllowedIPs y soporte en el servidor). Un kill switch en el cliente ayuda a evitar tráfico fuera del túnel si la VPN cae.

Deja un comentario