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
Instala WireGuard en el servidor
sudo apt install wireguard
Genera las claves del servidor
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
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
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
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.Arranca la interfaz en el servidor
sudo systemctl enable --now wg-quick@wg0
Abre el puerto en el firewall
sudo ufw allow 51820/udp
Conecta desde el cliente y verifica
sudo wg-quick up wg0 ping 10.0.0.1
Si el ping responde, 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.



