Tener tu propia VPN ya no requiere comprar un appliance empresarial ni pagar obligatoriamente una suscripción mensual. Con un pequeño servidor Linux, WireGuard y software libre puedes crear un túnel cifrado para conectarte desde una laptop o teléfono y acceder de forma segura a tu red doméstica, empresa, NAS, servidores o incluso utilizar tu propia conexión como salida a Internet cuando estás de viaje.
La idea es sencilla: en lugar de exponer directamente SSH, paneles administrativos, carpetas compartidas, cámaras, bases de datos y otros servicios hacia Internet, publicas únicamente la VPN y accedes al resto de recursos a través del túnel privado.
En esta guía utilizaremos principalmente WireGuard, una VPN moderna incorporada al ecosistema Linux que destaca por su arquitectura sencilla, rendimiento y configuración basada en claves públicas y privadas.
También veremos cuándo puede interesar OpenVPN, cómo configurar el firewall, qué hacer si tu conexión utiliza CGNAT y cómo conectarte desde Windows, Linux, Android, iPhone o una red Wi-Fi pública.
Puede leer también | ¿Necesitas una VPN si usas Linux?
¿Para qué sirve montar tu propio servidor VPN?
Una VPN crea un túnel cifrado entre tu dispositivo y un servidor remoto.
Esto permite que una laptop conectada desde un hotel, aeropuerto, universidad o red móvil pueda comportarse como si estuviera conectada de manera segura a una red privada.
Por ejemplo, podrías estar fuera de casa y acceder mediante la VPN a:
- Un servidor Linux.
- Un NAS.
- Nextcloud.
- Home Assistant.
- Una computadora de escritorio mediante escritorio remoto.
- Aplicaciones empresariales internas.
- Paneles de administración.
- Servicios que no quieres publicar directamente en Internet.
También puedes configurar la VPN para que todo el tráfico de Internet de tu dispositivo viaje primero hasta tu servidor.
VPN comercial y VPN propia no son exactamente lo mismo
Conviene hacer una distinción importante.
Los servicios VPN comerciales suelen disponer de servidores en numerosos países y normalmente se utilizan para cambiar la dirección IP pública de salida o evitar que una red local pueda observar directamente el destino del tráfico.
Tu VPN propia tiene otro objetivo principal:
proporcionarte acceso seguro a una infraestructura que controlas.
| VPN comercial | VPN propia |
|---|---|
| Infraestructura de un tercero | Servidor controlado por ti |
| Múltiples países normalmente disponibles | Ubicación de tu servidor |
| Pago recurrente frecuente | Puede utilizar infraestructura existente |
| Proveedor administra el servidor | Tú administras seguridad y actualizaciones |
| Orientada frecuentemente a salida a Internet | Excelente para acceso remoto privado |
Ambas soluciones pueden coexistir porque resuelven necesidades diferentes.
¿Por qué WireGuard?
WireGuard está diseñado como un túnel VPN moderno y relativamente sencillo.
A diferencia de soluciones que requieren una gran cantidad de parámetros, certificados y componentes, WireGuard trabaja fundamentalmente con interfaces de red, claves criptográficas y peers autorizados.
Cada dispositivo dispone de:
- Una clave privada que nunca debe compartirse.
- Una clave pública que puede entregarse al otro extremo.
- Una dirección dentro de la red VPN.
- Una lista de redes que puede alcanzar mediante el túnel.
Una arquitectura sencilla puede verse así:
INTERNET
|
|
IP pública / Router
|
UDP 51820
|
+---------------+
| Servidor Linux|
| WireGuard |
| 10.20.0.1 |
+---------------+
/ \
/ \
Red interna Internet
192.168.1.0/24
Túnel cifrado
^
|
+----------------------+
| Laptop / Smartphone |
| 10.20.0.2 |
+----------------------+
¿Qué necesitas antes de empezar?
Para una instalación básica necesitarás:
- Un servidor o máquina Linux que permanezca encendida.
- Debian, Ubuntu Server, Fedora, Rocky Linux u otra distribución compatible.
- Acceso administrativo al equipo.
- Una dirección IP pública o una forma de alcanzar el servidor desde Internet.
- Acceso al router si el servidor se encuentra dentro de tu casa o empresa.
El servidor no necesita ser especialmente potente.
Para unos pocos usuarios puede bastar una máquina pequeña, un mini PC, una Raspberry Pi suficientemente reciente o una máquina virtual.
Opción 1: instalar la VPN dentro de tu casa o empresa
En este escenario el servidor WireGuard se encuentra detrás del router.
Internet | Router | +---- Linux + WireGuard | +---- NAS | +---- PCs | +---- Servidores
Será necesario configurar en el router una redirección del puerto UDP utilizado por WireGuard hacia la dirección privada del servidor.
El puerto habitual en muchos ejemplos es:
51820/UDP
No es obligatorio utilizar precisamente ese número, pero utilizaremos 51820 durante esta guía.
Opción 2: instalar WireGuard en un VPS
También puedes utilizar una máquina virtual Linux en un proveedor cloud.
Laptop | Internet | VPS Linux WireGuard | Internet
Esta opción resulta útil cuando quieres disponer de una dirección pública estable o cuando tu proveedor de Internet doméstico dificulta las conexiones entrantes.
Para acceder además a una red privada de casa o de una oficina sería necesario conectar esa infraestructura al VPS mediante otro peer o un esquema site-to-site.
Comprueba primero si tienes CGNAT
Este punto puede ahorrar horas de frustración.
Algunos proveedores de Internet colocan a sus clientes detrás de Carrier-Grade NAT o CGNAT. En ese escenario, la dirección pública visible en Internet no está asignada directamente a tu router.
Como consecuencia, una simple redirección de puertos en tu router puede no permitir conexiones entrantes desde Internet.
Si estás detrás de CGNAT tienes varias alternativas:
- Solicitar al operador una dirección IPv4 pública.
- Utilizar IPv6 correctamente configurado si está disponible.
- Utilizar un VPS como punto público de la VPN.
- Crear una arquitectura donde la red privada establezca primero una conexión saliente hacia ese servidor público.
Instalar WireGuard en Ubuntu o Debian
En Ubuntu y Debian la instalación es sencilla:
sudo apt update
sudo apt install wireguard
En Fedora:
sudo dnf install wireguard-tools
WireGuard dispone también de herramientas y clientes para Windows, macOS, Android e iOS, por lo que los dispositivos que se conectan no necesitan ejecutar Linux.
Generar las claves del servidor
WireGuard utiliza criptografía de clave pública.
Primero cambiaremos los permisos por defecto para que los nuevos archivos privados no puedan ser leídos por otros usuarios:
umask 077
Luego podemos generar la clave privada:
wg genkey > server_private.key
Y obtener su correspondiente clave pública:
wg pubkey < server_private.key > server_public.key
También puede realizarse en una sola operación:
wg genkey | tee server_private.key | wg pubkey > server_public.key
La clave privada nunca debe publicarse ni compartirse.
La clave pública, por el contrario, será utilizada por los peers para identificar al servidor.
Crear la configuración del servidor WireGuard
Crearemos:
/etc/wireguard/wg0.conf
Una configuración inicial puede ser:
[Interface]
Address = 10.20.0.1/24
ListenPort = 51820
PrivateKey = CLAVE_PRIVADA_DEL_SERVIDOR
La red:
10.20.0.0/24
será utilizada exclusivamente por los dispositivos de la VPN.
En este ejemplo:
Servidor VPN -> 10.20.0.1 Laptop -> 10.20.0.2 Teléfono -> 10.20.0.3 Tablet -> 10.20.0.4
Generar las claves del primer cliente
Cada dispositivo debería tener sus propias claves.
umask 077
wg genkey > cliente1_private.key
wg pubkey < cliente1_private.key > cliente1_public.key
No reutilices la misma clave privada en todos los teléfonos y computadoras.
Tener claves separadas permite revocar únicamente el dispositivo perdido o comprometido sin afectar al resto.
Agregar el cliente al servidor
Al final de /etc/wireguard/wg0.conf agregaremos:
[Peer]
PublicKey = CLAVE_PUBLICA_CLIENTE1
AllowedIPs = 10.20.0.2/32
El servidor sabe ahora que la dirección 10.20.0.2 corresponde a ese peer.
Crear la configuración del cliente
En la laptop o smartphone utilizaremos algo similar a:
[Interface]
PrivateKey = CLAVE_PRIVADA_CLIENTE1
Address = 10.20.0.2/32
[Peer]
PublicKey = CLAVE_PUBLICA_SERVIDOR
Endpoint = vpn.midominio.com:51820
AllowedIPs = 10.20.0.0/24, 192.168.1.0/24
PersistentKeepalive = 25
Observa que el cliente contiene:
- Su propia clave privada.
- La clave pública del servidor.
- La dirección pública o nombre DNS del servidor.
- Las redes que deben enviarse por la VPN.
¿Qué significa AllowedIPs?
Este parámetro es fundamental.
Si únicamente quieres acceder a la VPN y a la red de tu casa:
AllowedIPs = 10.20.0.0/24, 192.168.1.0/24
estás creando básicamente un split tunnel.
Solo el tráfico destinado a esas redes pasa por la VPN.
El resto de Internet continúa utilizando normalmente la conexión del teléfono o laptop.
¿Quieres enviar todo el tráfico por tu VPN?
Entonces puedes configurar:
AllowedIPs = 0.0.0.0/0
En este modo, el servidor VPN se convierte también en la puerta de salida hacia Internet.
Laptop en hotel
|
| tráfico cifrado
v
Servidor WireGuard
|
v
Internet
Esto puede resultar especialmente útil en redes Wi-Fi que no consideras confiables.
Si además deseas transportar IPv6 mediante el túnel, debes configurar correctamente direccionamiento, encaminamiento y firewall IPv6. No conviene simplemente añadir una ruta IPv6 global sin comprobar que el servidor puede manejarla adecuadamente.
Activar el encaminamiento IPv4 en Linux
Si el servidor debe enviar tráfico desde la VPN hacia otras redes, Linux debe actuar como router.
Crea:
/etc/sysctl.d/70-wireguard-routing.conf
con:
net.ipv4.ip_forward = 1
Y aplica el cambio:
sudo sysctl -p /etc/sysctl.d/70-wireguard-routing.conf
Configurar NAT con nftables
Si los clientes van a utilizar el servidor como salida a Internet, normalmente será necesario aplicar NAT.
Primero identifica la interfaz que conecta el servidor con Internet:
ip route
Supongamos que se llama eth0.
Un ejemplo básico con nftables sería:
sudo nft add table ip vpn_nat
sudo nft 'add chain ip vpn_nat postrouting { type nat hook postrouting priority 100; policy accept; }'
sudo nft add rule ip vpn_nat postrouting ip saddr 10.20.0.0/24 oifname "eth0" masquerade
La regla masquerade hace que el tráfico de los clientes pueda salir utilizando la dirección del servidor.
Estas reglas deben integrarse posteriormente en la configuración persistente de nftables.
Importante: si el equipo utiliza UFW, firewalld u otro sistema para administrar Netfilter, no conviene comenzar a añadir reglas nativas nftables independientemente sin comprender cómo interactúan. Utiliza una sola estrategia de administración del firewall.
Puede leer también | Herramientas esenciales para proteger tu Sistema Operativo Linux de Hackers
Abrir únicamente el puerto necesario
El servidor debe permitir las conexiones UDP hacia WireGuard.
Conceptualmente:
UDP 51820 -> permitido
Si utilizas un VPS también tendrás que comprobar el firewall del proveedor cloud.
Si el servidor está en casa detrás de un router, necesitarás una redirección:
Puerto externo: 51820 UDP
|
v
192.168.1.50:51820
Servidor WireGuard
No necesitas publicar SSH, Samba, PostgreSQL o los paneles internos simplemente porque quieras acceder remotamente a ellos.
Precisamente una de las ventajas de la VPN es mantener esos servicios fuera de Internet.
Iniciar WireGuard
Una vez creada la configuración:
sudo wg-quick up wg0
Para comprobar el estado:
sudo wg show
Si todo funciona correctamente, podemos hacer que la interfaz se active durante el arranque:
sudo systemctl enable --now wg-quick@wg0
Para detenerla manualmente:
sudo wg-quick down wg0
Cómo saber si realmente está funcionando
El comando:
sudo wg show
puede mostrar información como:
peer: xxxxxxxxxxxxxxxxx endpoint: 203.0.113.20:53214 allowed ips: 10.20.0.2/32 latest handshake: 18 seconds ago transfer: 52.34 KiB received, 81.10 KiB sent
Uno de los datos más útiles es:
latest handshake
Si aparece un intercambio reciente, significa que ambos peers pudieron comunicarse criptográficamente.
Primeras pruebas
Desde el cliente intenta primero alcanzar la dirección VPN del servidor:
ping 10.20.0.1
Después prueba algún recurso interno autorizado:
ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
o abre desde el navegador:
https://192.168.1.30
Si utilizas un túnel completo, también puedes comprobar cuál es tu dirección IP pública desde el cliente. Debería aparecer la dirección de salida del servidor VPN.
Conectarse desde Windows
WireGuard dispone de cliente oficial para Windows.
El proceso habitual consiste en:
- Instalar WireGuard.
- Importar la configuración del cliente.
- Activar el túnel.
Windows creará una interfaz WireGuard y aplicará automáticamente las rutas indicadas mediante AllowedIPs.
Conectarse desde Android
WireGuard dispone también de aplicación para Android.
Una opción cómoda consiste en importar el perfil o utilizar un código QR.
En Linux puedes instalar una herramienta como:
sudo apt install qrencode
y generar un QR desde un archivo de configuración:
qrencode -t ansiutf8 < cliente-android.conf
El teléfono puede escanearlo directamente desde la aplicación WireGuard.
Trata el código QR como si fuera una contraseña. Contiene la clave privada del cliente y no debería guardarse en lugares públicos ni enviarse mediante canales inseguros.
Conectarse desde iPhone o iPad
La aplicación WireGuard está disponible también para iOS y permite importar configuraciones o escanear un código QR.
Esto facilita mantener perfiles independientes:
Laptop -> 10.20.0.2 Android -> 10.20.0.3 iPhone -> 10.20.0.4 Tablet -> 10.20.0.5
Cada dispositivo debería tener su propio par de claves.
Conectarse desde otro Linux
En otra máquina Linux instala WireGuard:
sudo apt install wireguard
Guarda el perfil como:
/etc/wireguard/wg0.conf
y activa el túnel:
sudo wg-quick up wg0
¿Para qué sirve PersistentKeepalive = 25?
Los teléfonos y laptops frecuentemente están detrás de NAT.
Cuando permanecen un tiempo sin transmitir, determinados routers pueden eliminar el estado que permitía devolver paquetes hacia el dispositivo.
WireGuard permite configurar:
PersistentKeepalive = 25
para enviar periódicamente pequeños paquetes autenticados y mantener ese mapeo cuando resulte necesario.
No es obligatorio activarlo en todos los peers. Resulta especialmente útil en clientes que se encuentran detrás de NAT y necesitan poder continuar recibiendo tráfico.
Usar un dominio en lugar de recordar la IP
En lugar de escribir:
198.51.100.27:51820
puedes utilizar algo como:
vpn.midominio.com:51820
Si tu conexión doméstica cambia periódicamente de dirección pública, puedes complementar el servidor con un servicio de DNS dinámico o DDNS.
De esta forma el nombre puede actualizarse cuando cambie la IP.
Seguridad: no conviertas la VPN en una puerta hacia toda la red
Una VPN proporciona un canal cifrado, pero eso no significa que cualquier cliente conectado deba tener acceso absoluto.
Por ejemplo:
VPN usuarios 10.20.0.0/24 Servidores 192.168.10.0/24 Administración 192.168.20.0/24 Cámaras 192.168.30.0/24
El firewall puede decidir qué clientes VPN pueden llegar a cada red.
Una laptop personal quizá necesite acceder a Nextcloud, pero no a la interfaz de administración de un hipervisor.
WireGuard no administra usuarios como una VPN tradicional
WireGuard identifica principalmente peers mediante claves criptográficas.
Esto es muy potente y sencillo, pero implica que debes administrar correctamente las claves.
Cuando un teléfono se pierde, elimina su peer del servidor.
Por ejemplo, si el teléfono utilizaba:
10.20.0.3/32
deberías retirar del servidor la clave pública asociada.
Ya no podrá establecer un túnel válido aunque conserve su configuración anterior.
No compartas una configuración entre todos los empleados
Imagine una empresa con diez trabajadores y un único archivo:
empresa-vpn.conf
copiado en todos los equipos.
Si uno de esos dispositivos es robado, no puedes revocar únicamente ese dispositivo sin cambiar las credenciales utilizadas por todos.
Es mejor crear:
daniel-laptop -> clave independiente ana-laptop -> clave independiente ventas-01 -> clave independiente telefono-01 -> clave independiente
La administración requiere un poco más de trabajo, pero mejora notablemente el control.
Una capa criptográfica adicional con PreSharedKey
WireGuard permite añadir opcionalmente una clave previamente compartida entre dos peers.
Puede generarse mediante:
wg genpsk > peer.psk
Y añadirse dentro de la sección correspondiente:
[Peer]
PublicKey = CLAVE_PUBLICA
PresharedKey = CLAVE_PRESHARED
AllowedIPs = 10.20.0.2/32
La documentación de WireGuard y Ubuntu la presentan como una capa criptográfica simétrica adicional y opcional.
¿Y el DNS?
Si quieres utilizar nombres internos como:
nas.empresa.local git.interno monitor.interno
el cliente VPN necesitará poder consultar un servidor DNS capaz de resolverlos.
Si dispones de un DNS interno podrías configurar en el perfil del cliente:
DNS = 192.168.1.53
Siempre que las rutas y el firewall permitan alcanzarlo.
No configures simplemente una dirección DNS de ejemplo si no existe realmente un resolver funcionando allí.
Evitar fugas DNS cuando utilizas túnel completo
Si utilizas la VPN como puerta de enlace predeterminada para proteger la conexión desde una red pública, conviene revisar también qué servidor DNS utiliza el dispositivo.
De lo contrario, parte de las consultas DNS podría continuar enviándose al resolver de la red local dependiendo de la plataforma y configuración.
El objetivo de un full tunnel bien diseñado es decidir explícitamente qué ocurre tanto con el tráfico IP como con la resolución DNS.
Split tunnel o full tunnel: ¿cuál elegir?
| Modo | Uso recomendado |
|---|---|
| Split tunnel | Acceder únicamente a servidores y redes privadas. |
| Full tunnel | Enviar también la navegación de Internet por el servidor VPN. |
Para una empresa, split tunnel puede reducir tráfico y carga sobre el servidor.
Para una laptop en una red Wi-Fi pública, full tunnel puede ser interesante cuando quieres utilizar tu servidor como salida controlada.
¿WireGuard reemplaza HTTPS?
No.
La VPN protege el túnel entre peers.
Los servicios que utilizan TLS deberían continuar utilizándolo.
Por ejemplo, Nextcloud debería seguir funcionando con HTTPS aunque únicamente sea accesible desde la VPN.
La seguridad funciona mejor por capas.
No abras el panel del router para “facilitar” la administración
Uno de los mejores usos de una VPN propia es precisamente evitar publicar herramientas administrativas.
En lugar de exponer:
SSH Proxmox Grafana NAS Router Base de datos Home Assistant
puedes publicar únicamente:
WireGuard UDP 51820
y acceder después a los servicios desde la red privada.
Puede leer también | Las mejores herramientas de código abierto para proteger su servidor Linux
Mantén actualizado el servidor
Una VPN no vuelve inmune al sistema operativo.
El servidor continúa necesitando:
- Actualizaciones de seguridad.
- Firewall correctamente configurado.
- SSH endurecido.
- Usuarios con mínimo privilegio.
- Protección de claves privadas.
- Copias de seguridad de la configuración.
- Monitoreo.
Un servidor VPN es una puerta de entrada a la infraestructura y debe tratarse como un activo especialmente sensible.
Haz copia de la configuración, pero protege las claves
Es recomendable conservar copia de:
/etc/wireguard/ configuración nftables sysctl inventario de peers documentación de red
Pero las copias que contienen claves privadas deben estar cifradas y protegidas.
Un backup de configuración VPN almacenado públicamente puede convertirse directamente en una credencial de acceso.
Monitorizar WireGuard
El comando:
wg show
permite observar peers, endpoints, últimos handshakes y cantidad de datos transferidos.
Para instalaciones empresariales esta información puede integrarse en sistemas de monitoreo.
Conviene alertar, por ejemplo, cuando:
- El servidor VPN deja de responder.
- La interfaz wg0 no existe.
- El servicio no arranca después de una actualización.
- Se agota el espacio del servidor.
- La conectividad externa desaparece.
¿Qué ocurre si cambia la IP del teléfono?
Una de las ventajas prácticas de WireGuard es que un peer puede moverse entre redes.
Un teléfono podría pasar de:
Wi-Fi de casa
|
v
Red móvil 5G
|
v
Wi-Fi de un hotel
y seguir utilizando su configuración VPN.
El servidor aprende el endpoint reciente autenticado del peer sin que tengas que configurar manualmente todas las posibles direcciones del cliente.
WireGuard también sirve para conectar dos oficinas
Hasta ahora hemos utilizado un modelo:
usuario remoto -> servidor
pero WireGuard también puede crear conexiones site-to-site.
OFICINA LIMA OFICINA AREQUIPA
192.168.10.0/24 192.168.20.0/24
| |
Gateway WireGuard ===== INTERNET ===== Gateway WireGuard
| túnel cifrado |
+-------------------------------------+
Los usuarios de ambas redes pueden acceder a determinados servicios de la otra sede sin necesidad de ejecutar un cliente VPN individual en cada computadora.
¿Y OpenVPN?
OpenVPN continúa siendo una alternativa importante y madura.
Puede resultar interesante cuando una infraestructura ya dispone de OpenVPN, necesita compatibilidad con determinados equipos o requiere características específicas de su ecosistema.
Su configuración tradicional suele implicar más elementos, especialmente cuando se utiliza una PKI con certificados.
WireGuard, en cambio, adopta un modelo más pequeño basado principalmente en pares de claves y configuración de red.
| WireGuard | OpenVPN |
|---|---|
| Configuración generalmente sencilla | Ecosistema muy maduro |
| Utiliza UDP | Puede trabajar con UDP o TCP según configuración |
| Modelo basado en claves de peers | Puede utilizar infraestructura PKI/certificados |
| Muy integrado con Linux | Amplia trayectoria multiplataforma |
Para una nueva VPN sencilla de acceso remoto, WireGuard suele ser una excelente primera opción.
Puede leer también | OpenVPN Connect Client, una herramienta para conexiones VPN
Arquitectura recomendada para casa
INTERNET
|
Router
|
UDP 51820 solamente
|
WireGuard
10.20.0.1/24
|
+------------+------------+
| | |
NAS PC Home Server
192.168.1.10 .20 .30
Desde el teléfono:
Android
10.20.0.3
|
Túnel WireGuard
|
NAS / PC / Servidor
Arquitectura recomendada para una pequeña empresa
INTERNET
|
Firewall
|
WireGuard VPN
10.20.0.0/24
|
Firewall interno
_________|_________
| | |
Usuarios Servidores Gestión
VLAN VLAN VLAN
Aquí el servidor VPN no debería proporcionar automáticamente acceso sin restricciones.
Las reglas del firewall deben determinar qué recursos puede utilizar cada tipo de conexión.
Checklist antes de publicar tu servidor VPN
| Comprobación | Estado esperado |
|---|---|
| WireGuard actualizado | Sí |
| Clave diferente para cada dispositivo | Sí |
| Claves privadas protegidas | Sí |
| IP forwarding configurado solo si es necesario | Sí |
| Firewall activo | Sí |
| Puerto WireGuard permitido | Sí |
| Servicios administrativos no expuestos innecesariamente | Sí |
| Acceso VPN segmentado | Según necesidades |
| Backup cifrado de configuración | Sí |
| Prueba desde una red externa | Sí |
| Procedimiento para revocar dispositivos | Sí |
| IPv6 revisado conscientemente | Sí |
| DNS correctamente definido | Sí |
Problemas frecuentes y qué revisar
No aparece ningún handshake: comprueba IP o dominio público, puerto UDP, firewall, redirección del router y posible CGNAT.
Existe handshake pero no accedo a la LAN: comprueba AllowedIPs, IP forwarding, rutas y reglas del firewall.
Puedo acceder a la VPN pero no navegar por Internet: si utilizas full tunnel, revisa forwarding, NAT y DNS.
Funciona desde Wi-Fi pero no desde red móvil: revisa NAT, firewall, endpoint y considera PersistentKeepalive.
Después de reiniciar desaparece la VPN: comprueba:
systemctl status wg-quick@wg0
y que el servicio se encuentre habilitado.
Recomendamos
- ¿Necesitas una VPN si usas Linux?
- OpenVPN Connect Client, una herramienta para conexiones VPN
- Herramientas esenciales para proteger tu Sistema Operativo Linux de Hackers
- Las mejores herramientas de código abierto para proteger su servidor Linux
En resumen
Montar tu propia VPN con Linux es actualmente mucho más sencillo gracias a WireGuard.
Un servidor pequeño puede actuar como punto de entrada seguro a tu casa, oficina o infraestructura cloud. Cada laptop y teléfono obtiene su propio par de claves y una dirección privada dentro de la VPN.
WireGuard cifra el túnel, mientras Linux se encarga del direccionamiento, forwarding y firewall utilizando sus herramientas habituales.
Con un esquema split tunnel puedes utilizar la VPN únicamente para acceder a recursos privados. Con un full tunnel puedes enviar también la navegación por el servidor.
Y cuando necesitas conectar dos redes completas, el mismo protocolo puede utilizarse para construir un enlace site-to-site.
Conclusión editorial
Una VPN propia representa uno de esos proyectos donde Linux y el software libre permiten recuperar control sobre una parte importante de nuestra infraestructura.
No necesitas publicar en Internet cada servidor que quieres utilizar remotamente. Tampoco necesitas abrir PostgreSQL, SMB, SSH, un NAS o un panel de administración para poder acceder desde fuera de casa.
Una estrategia mucho más segura consiste en disponer de un único punto de acceso VPN correctamente protegido y mantener los demás servicios dentro de redes privadas.
WireGuard ha simplificado enormemente esta arquitectura. Su modelo de claves, peers e interfaces permite desplegar conexiones rápidas y fáciles de comprender sin ocultar la red detrás de una enorme cantidad de componentes.
Sin embargo, montar tu propia VPN también significa asumir responsabilidades.
El servidor necesita actualizaciones. Las claves deben protegerse. Los dispositivos perdidos deben revocarse. El firewall debe limitar qué puede hacer cada cliente. Y las configuraciones que contienen secretos necesitan copias seguras.
Si todo eso se administra correctamente, el resultado es una herramienta extremadamente útil: tu propia red privada, cifrada y controlada por ti, disponible prácticamente desde cualquier lugar donde tengas conexión a Internet.
Fuentes técnicas: Proyecto WireGuard, WireGuard Quick Start, Ubuntu Server — WireGuard VPN, nftables Wiki y OpenVPN Community Documentation.

