Skip to content

Crear una VPN WireGuard segura en Ubuntu para acceder a tu red local

Crea una VPN WireGuard segura en Ubuntu y accede a tu red local de forma remota. Guía completa con interfaz web, Docker y configuración paso a paso.

REDACCIÓN: ADRIEN PIRON ACTUALIZADO EL 6 DE SEPTIEMBRE DE 2026 8 MIN DE LECTURA

Entre las redes Wi-Fi públicas no seguras y las restricciones de red en el extranjero, nada mejor que acceder directamente a tu propia red local. Con WireGuard y un sencillo servidor Ubuntu, puedes conectarte a distancia como si estuvieras físicamente en casa. Impresoras, domótica y discos compartidos: todo queda accesible mediante una conexión cifrada, rápida y discreta. Así puedes crear tu propia VPN personal o profesional.

¿Por qué crear tu propia VPN WireGuard?

Configurar tu propio servidor VPN con WireGuard en Ubuntu es mucho más que un simple proyecto técnico: significa recuperar el control total de tus conexiones, tus datos y tu red. A diferencia de las VPN comerciales, que prometen anonimato pero imponen sus propias reglas (y a veces sus limitaciones), un servidor WireGuard autoalojado ofrece una solución personalizada, transparente y muy segura. Sus ventajas son numerosas:

  • Mayor seguridad: el cifrado moderno de WireGuard se basa en protocolos seguros (Curve25519, ChaCha20…) y en una base de código muy ligera, lo que reduce considerablemente el riesgo de vulnerabilidades.
  • Privacidad bajo control: ningún tercero interviene en la transmisión de tus datos.
  • Acceso remoto a tu red local: estés al otro lado del mundo o simplemente fuera de casa, puedes acceder a todos tus dispositivos como si estuvieras en casa: NAS, impresoras, equipos domóticos, cámaras IP y mucho más.
  • Eludir las restricciones de red: en algunos lugares (hoteles, empresas o países), el acceso a ciertos servicios puede estar bloqueado. Con tu propia VPN, todo tu tráfico pasa por tu conexión doméstica como si nunca hubieras salido del sofá.

Frente a alternativas como OpenVPN (más pesado y complejo de configurar) o PPTP (obsoleto y poco seguro), WireGuard destaca por su rapidez y solidez.

Requisitos para crear tu VPN WireGuard

Antes de empezar, asegúrate de tener:

  • Un servidor Ubuntu 22.04+ (un servidor o un ordenador de placa única)
  • Una conexión a Internet con una IP pública
  • El puerto UDP 51820 redirigido al servidor (a través de tu router)

Instalar WireGuard en Ubuntu

El primer paso para configurar tu VPN es instalar WireGuard, un protocolo VPN moderno, rápido y seguro.

Empieza actualizando el sistema para asegurarte de que todos los paquetes están al día:

Debian
sudo apt update && sudo apt upgrade -y

A continuación, instala WireGuard y sus herramientas:

Debian
sudo apt install wireguard wireguard-tools -y

El reenvío de IP es necesario para que los clientes de la VPN puedan acceder a Internet a través del servidor. Actívalo con el siguiente comando:

Debian
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Configuración básica del servidor WireGuard

Crea las claves privada y pública del servidor. Son necesarias para establecer un canal de comunicación cifrado:

Debian
cd /etc/wireguard
umask 077
sudo wg genkey | tee server_private.key | wg pubkey > server_public.key

A continuación, recupera la clave privada (la necesitarás para la configuración):

Debian
cat /etc/wireguard/server_private.key

Crea el archivo de configuración principal de la interfaz VPN:

Debian
sudo nano /etc/wireguard/wg0.conf

Pega el siguiente contenido y sustituye <COLLEZ_ICI_LE_CONTENU_DE_server_private.key> por tu clave privada:

Debian
[Interface]
Address = 10.10.0.1/24
PrivateKey = <COLLEZ_ICI_LE_CONTENU_DE_server_private.key>
ListenPort = 51820
SaveConfig = true

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Nota: si tu interfaz de red principal no es eth0 (por ejemplo, en un VPS), sustitúyela por el nombre correcto (puedes comprobarlo con el comando ip route show default | grep '^default' | awk '{print $5}').

Inicia el servicio WireGuard y configúralo para que arranque automáticamente al iniciar el sistema:

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

Comprueba que la VPN funciona correctamente:

Debian
sudo wg show

Instalar Docker y Docker Compose

Para utilizar una interfaz gráfica de gestión como WGDashboard, necesitas Docker. Instálalo de la siguiente manera:

Debian
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start docker

Instalar el binario de Docker Compose (según la arquitectura)

Primero, crea el directorio donde se guardará el binario de Docker Compose:

Debian
sudo mkdir -p /usr/local/lib/docker/cli-plugins

Después, descarga la versión adecuada para tu sistema:

  • Para sistemas ARM64 (Raspberry Pi, servidores ARM, etc.):
Debian
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-aarch64 -o /usr/local/lib/docker/cli-plugins/docker-compose
  • Si utilizas un PC o un VPS (x86_64):
Debian
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose

Haz ejecutable el binario:

Debian
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

Comprueba las versiones instaladas:

Debian
docker --version
docker compose version

Desplegar la interfaz WGDashboard con Docker Compose

Crea un directorio nuevo para guardar los archivos de configuración de WGDashboard:

Debian
mkdir ~/wg-dashboard && cd ~/wg-dashboard
nano docker-compose.yml

Pega el siguiente contenido en el archivo docker-compose.yml:

Debian
version: "3.8"

services:
wg-dashboard:
container_name: wg-dashboard
image: ghcr.io/donaldzou/wgdashboard:latest
ports:
- "10086:10086"
volumes:
- ./data:/app/db
- /etc/wireguard:/etc/wireguard
restart: unless-stopped
environment:
- WG_CONF_DIR=/etc/wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
network_mode: "host"

Iniciar la interfaz web

Inicia el contenedor:

Debian
docker compose up -d

A continuación, comprueba que el contenedor está en ejecución:

Debian
docker ps

Acceder a la interfaz web de WGDashboard

Una vez instalado y funcionando WGDashboard, puedes gestionarlo desde una interfaz web accesible con cualquier navegador. Introduce la siguiente dirección en la barra de direcciones:

Debian
http://<IP-de-votre-serveur>:10086

De forma predeterminada, la interfaz está protegida por un usuario y una contraseña definidos inicialmente como:

  • Usuario: admin
  • Contraseña: admin

En el primer inicio de sesión, se te pedirá que personalices estas credenciales para proteger el acceso.

También se recomienda activar la autenticación de dos factores (2FA), disponible en los ajustes, para reforzar la protección frente a accesos no autorizados.

No dejes que el algoritmo decida por ti

Añade Assistouest a tus fuentes preferidas en Google para encontrar nuestras guías más rápido cuando busques una solución informática.

Crear un cliente VPN (peer)

Desde la interfaz principal verás la conexión VPN activa.

Para añadir un cliente nuevo, haz clic en esta conexión y después en la pestaña «Peer».

Entonces podrás crear un nuevo cliente VPN y asignarle un nombre (por ejemplo: Ordenador de trabajo, Portátil, Smartphone, etc.).

Una vez creado el peer, WGDashboard genera automáticamente el archivo de configuración correspondiente. Después podrás descargarlo en formato .conf.

Este archivo está diseñado para utilizarse directamente con los clientes WireGuard, pero a veces requiere una pequeña modificación, sobre todo si el servidor utiliza una dirección IPv6.

Veamos un ejemplo de archivo generado automáticamente:

Debian
[Interface]
PrivateKey = MEWI0s1Va/Hmv9bIjMThg1HShP8XIs069hDOafLtgWM=
Address = 10.10.0.2/32
MTU = 1420
DNS = 9.9.9.9

[Peer]
PublicKey = itwr+yW2BpsVJgCMPiNXA5HglNwgoydEyHh1RGCxPRQ=
AllowedIPs = 0.0.0.0/0
Endpoint = 2a01:e0a:4b7:2500:dea6:32ff:fe02:4409:51820
PersistentKeepalive = 21

En este ejemplo, el campo Endpoint contiene una dirección IPv6. Para que el cliente WireGuard la interprete correctamente, esta dirección debe estar obligatoriamente entre corchetes. De lo contrario, el cliente rechazará la importación o mostrará un error.

Por tanto, el archivo corregido debería tener este aspecto:

Debian
[Interface]
PrivateKey = MEWI0s1Va/Hmv9bIjMThg1HShP8XIs069hDOafLtgWM=
Address = 10.10.0.2/32
MTU = 1420
DNS = 9.9.9.9

[Peer]
PublicKey = itwr+yW2BpsVJgCMPiNXA5HglNwgoydEyHh1RGCxPRQ=
AllowedIPs = 0.0.0.0/0
Endpoint = [2a01:e0a:4b7:2500:dea6:32ff:fe02:4409]:51820
PersistentKeepalive = 21

Este sencillo ajuste evita errores al importar el archivo en el cliente WireGuard.

⚠️ Este archivo contiene las claves privadas y los datos de conexión al servidor VPN. Permite acceder directamente a tu red local. Por eso, nunca lo compartas con terceros. En este ejemplo se utilizó un entorno de prueba y el servidor ya está desactivado.

Instalar el cliente WireGuard

Para establecer la conexión VPN, ahora debes instalar el cliente WireGuard en el dispositivo que quieras conectar (ordenador, smartphone, etc.).

Visita el sitio web oficial de WireGuard y descarga el cliente adecuado para tu sistema operativo (Windows, macOS, Linux, Android o iOS).

Instala la aplicación y ábrela.

Haz clic en «Importar túnel(es) desde un archivo» y selecciona el archivo .conf que has modificado previamente.

Una vez importado, haz clic en «Activar» para establecer la conexión VPN.

Crea una VPN WireGuard segura en Ubuntu y accede a tu red local de forma remota. Guía completa con interfaz web, Docker y configuración paso a paso.

Una vez activada la conexión, todo tu tráfico pasará por el túnel WireGuard. Puedes comprobar que está activa consultando tu dirección IP pública mediante un servicio en línea como ifconfig.me. Si todo está bien configurado, la dirección IP mostrada será la de tu servidor VPN y no la de tu conexión habitual a Internet.

Nuestros artículos son gratuitos gracias a la publicidad
¡Oh! Utilizas un bloqueador de anuncios
Para seguir leyendo y apoyar nuestro trabajo, desactiva tu bloqueador de anuncios o suscríbete para disfrutar de todos nuestros trucos y tutoriales.
He desactivado mi bloqueador de anuncios

El contenido se desbloqueará automáticamente después de la verificación.