WireGuard sigue siendo la base más sólida para entrar a tu homelab desde fuera sin exponer cada servicio individualmente a internet. Este tutorial monta un túnel básico entre un servidor y un cliente — la base sobre la que luego puedes construir algo como NetBird si quieres gestión más avanzada.
Cómo montar tu propia VPN con WireGuard
8 de agosto de 2026por Adrián Muñoz Valverde
- 1
Paso 1: Instala WireGuard en el servidor
sudo apt install wireguard
- 2
Paso 2: Genera las claves del servidor
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
- 3
Paso 3: Crea la configuración del servidor
# /etc/wireguard/wg0.conf [Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = <contenido de server_private.key> [Peer] PublicKey = <clave pública del cliente, la generas en el paso 5> AllowedIPs = 10.0.0.2/32
- 4
Paso 4: Habilita el reenvío de paquetes IP
Sin esto, el servidor recibe el tráfico del túnel pero no sabe reenviarlo a donde debería.
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
- 5
Paso 5: Genera las claves del cliente y completa la configuración
wg genkey | tee client_private.key | wg pubkey | tee client_public.key
# Configuración del cliente (wg0.conf en tu portátil/móvil) [Interface] Address = 10.0.0.2/24 PrivateKey = <contenido de client_private.key> [Peer] PublicKey = <contenido de server_public.key> Endpoint = tu-servidor.com:51820 AllowedIPs = 10.0.0.0/24 PersistentKeepalive = 25
Ahora vuelve al paso 3 y pega la clave pública del cliente en el
[Peer]del servidor. - 6
Paso 6: Arranca la interfaz en el servidor
sudo systemctl enable --now wg-quick@wg0
- 7
Paso 7: Abre el puerto en el firewall
sudo ufw allow 51820/udp
- 8
Paso 8: Conecta desde el cliente y verifica
sudo wg-quick up wg0 ping 10.0.0.1
Si el
pingresponde, el túnel está funcionando.
Conclusión
Con esto tienes un túnel WireGuard básico funcionando entre un cliente y tu servidor. Para varios dispositivos, repite los pasos 5-6 con una IP distinta (10.0.0.3, 10.0.0.4...) y un bloque [Peer] nuevo por cada uno en el servidor.



