Cómo configurar WireGuard en Ubuntu 24.04 LTS y Linux Mint: guía paso a paso
Guía completa paso a paso para configurar WireGuard en Ubuntu 24.04 LTS y Linux Mint mediante NetworkManager (GUI) y CLI. En 60–90 minutos tendrás un VPN estable con inicio automático, DNS correcto y rutas configuradas, además de consejos para solucionar errores y configuraciones avanzadas.
Contenido del artículo
- Introducción
- Preparación previa
- Conceptos básicos
- Paso 1: instalación y verificación del entorno
- Paso 2: preparar configuración y claves
- Paso 3: configuración con networkmanager en ubuntu 24.04 (gnome)
- Paso 4: configuración con networkmanager en linux mint (cinnamon)
- Paso 5: configuración desde cli (nmcli): importar o crear manualmente
- Paso 6: dns, rutas y elegir entre túnel completo o dividido
- Paso 7: inicio automático, killswitch y fiabilidad
- Paso 8: inicio rápido importando configuración lista y alternativa práctica
- Verificación del resultado
- Errores comunes y soluciones
- Funciones adicionales
- Preguntas frecuentes
- Conclusión
Introducción
En esta guía paso a paso aprenderás desde cero hasta completar la configuración de WireGuard en Ubuntu 24.04 LTS y Linux Mint mediante dos métodos: usando la interfaz gráfica NetworkManager y a través de la línea de comandos (CLI). Te mostraremos cómo importar rápidamente un archivo de configuración existente, cómo crear un perfil manualmente, activar el inicio automático, configurar el DNS y las rutas (túnel completo o túnel dividido), así como diagnosticar y solucionar problemas comunes. Al final tendrás una conexión VPN predecible y estable que podrás activar con un solo clic y que se iniciará automáticamente al arrancar el sistema.
Esta guía es ideal para usuarios principiantes de Linux que buscan instrucciones claras y directas sin teoría innecesaria, pero con explicaciones sencillas. Además, en secciones específicas encontrarás técnicas avanzadas como la configuración de un "killswitch", ajustes finos de MTU, manejo de múltiples peers y scripts basados en nmcli.
¿Qué debes saber antes? Nada crítico: habilidades básicas en el uso del sistema, cómo ingresar comandos en el terminal y dónde encontrar los ajustes de red en la configuración. Todo lo demás lo iremos explicando paso a paso. Cuenta entre 60 y 90 minutos para completar toda la guía, incluyendo pruebas y corrección de posibles pequeños errores.
El resultado que obtendrás: una conexión WireGuard funcional, gestionada vía NetworkManager (botón "Activar/Desactivar" en la bandeja del sistema o en "Configuración"), rutas predecibles, DNS correcto sin fugas, inicio automático al arrancar el SO y un plan claro de acción para cuando surjan imprevistos.
Preparación previa
Antes de comenzar, asegúrate de tener todo lo necesario. Hemos recopilado los requisitos mínimos y explicamos para qué sirven.
Herramientas y accesos necesarios
- Acceso a un sistema con Ubuntu 24.04 LTS (versión Desktop) o Linux Mint (versión actual basada en Ubuntu 24.04). Puede ser un PC físico o una máquina virtual.
- Privilegios de administrador (sudo). Son necesarios para instalar paquetes y modificar la configuración de red.
- Datos para conectarte al servidor VPN WireGuard: puede ser un archivo de configuración .conf listo o un conjunto de parámetros: clave pública del servidor, dirección y puerto del servidor, tu clave privada, redes permitidas (AllowedIPs), dirección de interfaz (Address) y opcionalmente DNS.
Requisitos del sistema
- Kernel Linux 5.6+ (en Ubuntu 24.04 y versiones modernas de Linux Mint ya está integrado).
- NetworkManager versión 1.40+ con soporte nativo para WireGuard (incluido en las instalaciones estándar de escritorio de Ubuntu 24.04 y Linux Mint basadas en ella).
- Paquetes wireguard-tools (para generación de claves y diagnóstico) y nmcli (parte de NetworkManager) para la CLI.
Instalaciones previas
- Abre un terminal.
- Actualiza los índices de paquetes: sudo apt update
- Instala las herramientas: sudo apt install -y network-manager wireguard wireguard-tools
- Verifica la versión de NetworkManager: nmcli -v. Asegúrate que sea 1.40+ o superior. Si es menor, actualiza el sistema: sudo apt upgrade -y y reinicia: sudo reboot.
- Asegúrate que NetworkManager esté activo: systemctl status NetworkManager. El estado debe ser active (running).
Creación de copias de seguridad
Si planeas reemplazar perfiles VPN existentes o modificar configuraciones de red, haz copias de seguridad previamente:
- Exporta perfiles de NetworkManager: nmcli connection export "nombre-conexión" ~/backup-nombre-conexión.nmconnection
- Guarda las configuraciones actuales de WireGuard: si tienes archivos en /etc/wireguard o ~/.config/wireguard, cópialos a un lugar seguro: cp -a /etc/wireguard ~/wg-backup
⚠️ Atención: Cierra o pausa tareas de red críticas durante la configuración (sesiones remotas, descargas activas) para evitar interrupciones por cambios repentinos en las rutas.
Conceptos básicos
Antes de empezar la configuración, expliquemos con palabras sencillas algunos términos. Esto te ayudará a entender mejor qué hace cada parámetro y qué verificar durante un diagnóstico.
- Interfaz WireGuard — interfaz de red virtual en el sistema (usualmente wg0, aunque puedes elegir otro nombre). Por ella circula el tráfico cifrado.
- Claves — WireGuard tiene clave privada en el cliente y clave pública en el servidor (y viceversa). La clave pública identifica a los peers, la privada la guardas solo tú.
- Peer — el otro extremo del túnel. Para un cliente, normalmente el peer es el servidor.
- AllowedIPs — lista de redes que deben pasar por el túnel. Si pones 0.0.0.0/0, ::/0, todo el tráfico irá por VPN (túnel completo). Si pones solo subredes específicas, se hace un túnel dividido.
- Endpoint — dirección y puerto del servidor remoto WireGuard.
- DNS — servidores de nombres de dominio que el sistema usará dentro del VPN. En túnel completo suele usarse el DNS del proveedor VPN para evitar fugas.
- MTU — tamaño máximo del paquete. A veces hay que reducirla (por ejemplo a 1420 o 1280) para evitar fragmentación o inestabilidad.
- PersistentKeepalive — intervalo para enviar paquetes "vacíos" y mantener la conexión detrás de NAT. Comúnmente se usa 25 segundos.
Consejo: Si dudas en los valores, comienza con un archivo de configuración listo. Siempre puedes importarlo y probar. Luego entenderás qué significa cada campo y podrás configurar manualmente.
Paso 1: Instalación y verificación del entorno
Objetivo del paso
Al terminar este paso estarás seguro de que tienes los paquetes necesarios, que NetworkManager soporta WireGuard y que los servicios básicos de red funcionan correctamente.
Instrucciones paso a paso
- Abre el terminal con Ctrl+Alt+T.
- Actualiza la lista de paquetes: sudo apt update
- Instala los paquetes: sudo apt install -y network-manager wireguard wireguard-tools
- Verifica la versión de NM: nmcli -v. El resultado debe ser algo como nmcli tool, version 1.44.x o superior.
- Asegúrate que el servicio esté activo: systemctl is-active NetworkManager. Debe mostrar active.
- Verifica que la utilidad wg exista: wg --version. Debe mostrar la versión de wireguard-tools.
- Revisa el nombre de la conexión activa: nmcli connection show --active. Guarda el nombre de la interfaz que tiene conexión a internet (ejemplo: "Wired connection 1" o "Wi-Fi Hogar").
⚠️ Atención: Si tienes instalados otros administradores de red, desactívalos. Usar varias herramientas al mismo tiempo suele causar conflictos en las rutas.
Consejo: Si actualizaste NetworkManager o el kernel, reinicia el sistema: sudo reboot. Así evitas estados inconsistentes de los servicios.
Resultado esperado
Los paquetes están instalados, los comandos nmcli y wg funcionan, y NetworkManager está activo. Ya puedes configurar el perfil WireGuard.
✅ Verificación: Ejecuta nmcli general status. Los estados STATE y CONNECTIVITY deben indicar que la red está activa. El comando wg no debe mostrar errores.
Problemas frecuentes y soluciones
- Problema: nmcli no encontrado. Causa: falta NetworkManager. Solución: sudo apt install -y network-manager.
- Problema: wg no encontrado. Causa: falta wireguard-tools. Solución: sudo apt install -y wireguard-tools.
- Problema: NetworkManager no inicia. Causa: conflicto con otro daemon de red. Solución: desactiva o elimina otros administradores o usa la configuración estándar Desktop.
Paso 2: Preparar configuración y claves
Objetivo del paso
Obtener un archivo .conf listo para importar o crear tus propias claves y configuración. Al final tendrás los datos que puedes ingresar en la GUI o CLI.
Opción A: tienes un archivo de configuración
- Copia el archivo WireGuard (ejemplo: wg0.conf) a tu carpeta personal. Puedes usar ~/.config/wireguard para organizar.
- Verifica permisos: chmod 600 ~/.config/wireguard/wg0.conf. Protege el archivo si contiene claves privadas.
- Abre el archivo para revisar: cat ~/.config/wireguard/wg0.conf. Debe incluir secciones [Interface] y [Peer].
Opción B: generar claves y configurar manualmente
- Crea carpeta de trabajo: mkdir -p ~/.config/wireguard && cd ~/.config/wireguard
- Establece máscara segura: umask 077 para que las claves sean solo para ti.
- Genera claves privada y pública: wg genkey | tee client_private.key | wg pubkey > client_public.key
- Guárdalas en lugar seguro. No compartas tu clave privada. La pública la puedes enviar al administrador para añadir el cliente.
- Define valores para los campos: dirección local (ejemplo 10.14.0.2/32), servidor y puerto (203.0.113.10:51820), clave pública del servidor, AllowedIPs (0.0.0.0/0, ::/0 para túnel completo o subredes específicas para túnel dividido), DNS (ejemplo 10.14.0.1).
- Crea archivo de configuración: nano wg0.conf y escribe la estructura base: [Interface] Address = 10.14.0.2/32, fd42:42:42::2/128 PrivateKey = PON_TU_CLAVE_PRIVADA DNS = 10.14.0.1 [Peer] PublicKey = PON_LA_CLAVE_PUBLICA_DEL_SERVIDOR AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = 203.0.113.10:51820 PersistentKeepalive = 25
- Guarda y cierra el editor. Ajusta permisos: chmod 600 wg0.conf.
Consejo: Si gestionas el servidor, añade la clave pública del cliente a la configuración del servidor y asigna una dirección libre de la subred. Sin eso, el servidor no reconocerá al cliente y no habrá conexión.
Resultado esperado
Dispones de un archivo wg0.conf listo para importar o un conjunto de claves y valores para ingresar en NetworkManager o nmcli.
✅ Verificación: Asegúrate que wg0.conf se abre y contiene las secciones correctas, y que la clave privada es una cadena larga en base64. El comando ls -l debe mostrar permisos -rw-------.
Problemas comunes y cómo resolverlos
- Problema: falta clave pública del servidor. Causa: no tienes datos del admin. Solución: solicita PublicKey y Endpoint.
- Problema: no sabes tu dirección de interfaz. Causa: no tienes plan de direccionamiento. Solución: usa dirección del archivo o consulta con el administrador.
- Problema: subredes del cliente y servidor no coinciden. Causa: conflicto de direcciones. Solución: revisa Address y subredes en ambos lados.
Paso 3: Configuración con NetworkManager en Ubuntu 24.04 (GNOME)
Objetivo del paso
Crear y activar la conexión VPN WireGuard usando la interfaz gráfica de Ubuntu 24.04 para gestionarla con un solo botón.
Instrucciones paso a paso (importar archivo)
- Abre "Configuración" (icono de engranaje en el dock o en el menú del sistema).
- Ve a la sección "Red".
- Busca el bloque "VPN" y haz clic en "+" (Agregar VPN).
- Selecciona "Importar desde archivo...".
- Selecciona tu archivo wg0.conf y haz clic en "Abrir".
- Aparecerá una ventana con la configuración del perfil. Revisa el nombre (ejemplo "WireGuard wg0"), direcciones, claves, AllowedIPs y Endpoint. Ajusta si es necesario.
- Haz clic en "Guardar".
- En la lista de conexiones VPN verás el perfil nuevo. Activa el interruptor a la derecha de su nombre.
Instrucciones paso a paso (configuración manual sin archivo)
- Abre "Configuración" → "Red" → "VPN" → "+".
- Selecciona "WireGuard" (no importación, sino creación manual).
- Escribe un nombre para la conexión, por ejemplo "WG Casa".
- En "Nombre de interfaz" pon wg0 (o déjalo predeterminado).
- Pega tu clave privada en el campo "Clave privada". Si no tienes clave, genera una (algunas versiones de GNOME lo permiten) y luego exporta la pública para el servidor si es necesario.
- Agrega las "Direcciones" (ejemplo: 10.14.0.2/32 y si aplica fd42:42:42::2/128). Usa máscara de red.
- En "DNS" agrega la dirección DNS dentro del túnel (ejemplo 10.14.0.1) para evitar fugas.
- En "Peers": haz clic en "Agregar peer". Escribe la clave pública del servidor, Endpoint (ejemplo 203.0.113.10:51820), AllowedIPs (para túnel completo: 0.0.0.0/0, ::/0; para túnel dividido: solo las subredes necesarias). Si estás detrás de NAT, fija el PersistentKeepalive a 25.
- Guarda la configuración.
- Activa la conexión VPN con el interruptor en "VPN" o desde el menú de red en la bandeja del sistema.
Consejo: Si al activar la VPN pierdes acceso a la red local (por ejemplo, al router) y no esperabas esto, revisa si tienes un túnel completo (0.0.0.0/0). Si quieres acceso local, usa túnel dividido y añade las subredes locales en las excepciones.
⚠️ Atención: No ejecutes simultáneamente wg-quick y NetworkManager para la misma interfaz (ejemplo wg0), porque competirán por control y las rutas serán impredecibles.
Resultado esperado
En "Red" → "VPN" verás el perfil WireGuard. El interruptor "On/Off" activa y desactiva el túnel seguro.
✅ Verificación: Luego de activar el perfil, ejecuta wg show en terminal. Deberías ver tu interfaz (wg0), la clave pública del servidor como peer y estadísticas de tráfico. nmcli connection show --active debe listar la conexión VPN activa.
Problemas frecuentes y soluciones
- Problema: no aparece WireGuard en el asistente para añadir VPN. Causa: NetworkManager o entorno desactualizados. Solución: actualiza el sistema, asegúrate de usar el Desktop estándar con soporte para NM y reinicia "Configuración".
- Problema: conexión activa pero sin tráfico. Causa: AllowedIPs o DNS incorrectos. Solución: revisa las rutas (túnel completo o dividido) y agrega el DNS correcto del túnel.
- Problema: desconexiones frecuentes. Causa: NAT o filtrado. Solución: fija PersistentKeepalive=25.
Paso 4: Configuración con NetworkManager en Linux Mint (Cinnamon)
Objetivo del paso
Crear y activar un perfil WireGuard en Linux Mint usando las herramientas estándar disponibles en la configuración de Cinnamon y en el editor de conexiones NM.
Instrucciones paso a paso (usando "Conexiones de red")
- Abre el menú "Inicio" en Linux Mint.
- Ve a "Configuración" → "Red" o abre "Conexiones de red" (nm-connection-editor). Alternativamente, haz clic en el icono de red en la bandeja → "Configuración de red" → "VPN".
- En la ventana de "Conexiones de red", pulsa "+" (Agregar) en la parte inferior.
- Selecciona "WireGuard" de la lista de tipos (o "Importar desde archivo..." si tienes un wg0.conf listo).
- Si importas: selecciona el archivo, revisa los campos y guarda.
- Si configuras a mano: pon un nombre para la conexión (ejemplo "WG Mint"), nombre de interfaz (wg0), pega la clave privada, añade "Direcciones", "DNS" (ejemplo 10.14.0.1), y luego añade un "Peer" (clave pública del servidor, Endpoint, AllowedIPs, PersistentKeepalive).
- Guarda y cierra la ventana.
- Activa la conexión desde el icono de red en la bandeja: selecciona tu perfil WireGuard y haz clic para conectarte.
Consejo: Si temes cometer errores al pegar la clave, primero pégala en un editor de texto, verifica longitud y ausencia de caracteres extras, luego cópiala al campo "Clave privada".
Resultado esperado
Un perfil WireGuard aparece en la lista de conexiones de red y puedes activarlo desde la bandeja o "Conexiones de red".
✅ Verificación: Abre terminal y ejecuta ip addr show wg0. La interfaz wg0 debe tener tu dirección asignada (ejemplo 10.14.0.2/32). wg show debe mostrar el peer y estadísticas actualizadas tras el primer ping.
Problemas comunes y soluciones
- Problema: tipo WireGuard no aparece. Causa: versión vieja de nm-connection-editor o falta soporte. Solución: actualiza sistema, instala wireguard-tools y reinicia "Conexiones de red".
- Problema: conexión no aparece en la bandeja. Causa: perfil no guardado o NM deshabilitado. Solución: reinicia NetworkManager: sudo systemctl restart NetworkManager y vuelve a activar.
Paso 5: Configuración desde CLI (nmcli): importar o crear manualmente
Objetivo del paso
Aprender a realizar lo mismo sin interfaz gráfica: importar un archivo o crear un perfil desde cero con nmcli. Útil para automatización y servidores, aunque también válido para escritorio.
Importar un .conf listo
- Asegúrate de tener el archivo ~/.config/wireguard/wg0.conf con permisos correctos (chmod 600).
- Impórtalo al NM: nmcli connection import type wireguard file ~/.config/wireguard/wg0.conf
- Verifica que el perfil apareció: nmcli connection show | grep wireguard o busca por nombre.
- Actívalo: nmcli connection up "wg0" o con el nombre exacto asignado por NM.
Crear perfil manualmente
- Crea el perfil: nmcli connection add type wireguard con-name wg-home ifname wg0 ipv4.method manual ipv6.method ignore
- Configura direcciones: nmcli connection modify wg-home ipv4.addresses 10.14.0.2/32. Si usas IPv6: nmcli connection modify wg-home ipv6.method manual ipv6.addresses fd42:42:42::2/128
- Configura clave privada: nmcli connection modify wg-home wireguard.private-key "TU_CLAVE_PRIVADA"
- MTU (opcional): nmcli connection modify wg-home 802-3-ethernet.mtu 1420 o wireguard.mtu si tu NM lo soporta
- DNS para túnel completo: nmcli connection modify wg-home ipv4.dns 10.14.0.1 ipv4.ignore-auto-dns yes
- Agrega peer: nmcli connection modify wg-home +wireguard-peer.public-key "CLAVE_PUBLICA_DEL_SERVIDOR" +wireguard-peer.endpoint "203.0.113.10:51820" +wireguard-peer.allowed-ips "0.0.0.0/0,::/0" wireguard-peer.persistent-keepalive 25
- Activa la conexión: nmcli connection up wg-home
Túnel dividido con nmcli
- Cambia AllowedIPs del peer: nmcli connection modify wg-home wireguard-peer.allowed-ips "10.14.0.0/24,192.168.50.0/24"
- Configura para no usar VPN como ruta por defecto: nmcli connection modify wg-home ipv4.never-default yes
- Si deseas DNS local, no configures ipv4.dns en el perfil wg o configura split-DNS solo para zonas específicas usando NM y systemd-resolved. En escenarios simples basta no cambiar DNS.
- Aplica cambios: nmcli connection down wg-home && nmcli connection up wg-home
Consejo: Para ver todos los parámetros y validar los cambios, usa: nmcli connection show wg-home. Para estado activo del dispositivo: nmcli device show wg0.
Resultado esperado
El perfil WireGuard está creado, importado o configurado manualmente. Se activa con el comando nmcli connection up y aparece entre las conexiones activas.
✅ Verificación: Ejecute wg show e ip route. En túnel completo verás ruta por defecto vía wg0. En túnel dividido solo las redes listadas. nmcli connection show --active debe indicar el perfil activo.
Problemas comunes y soluciones
- Problema: nmcli da error modificando peer. Causa: error de tipografía en clave del parámetro. Solución: revisa prefijos wireguard-peer.* y usa + para añadir un nuevo peer.
- Problema: conexión sube pero no pasa tráfico. Causa: rutas o DNS incorrectos. Solución: para túnel completo usa AllowedIPs 0.0.0.0/0, ::/0 y configura DNS del túnel.
- Problema: no puede activar perfil. Causa: interfaz ocupada por wg-quick. Solución: desactiva wg-quick: sudo wg-quick down wg0 y usa solo NM.
Paso 6: DNS, rutas y elegir entre túnel completo o dividido
Objetivo del paso
Asegurar que el tráfico se dirija correctamente (por VPN solo lo que debe) y que las consultas DNS no se filtren fuera del túnel.
Configuración paso a paso en GUI
- Abre el perfil WireGuard en "Configuración" → "Red" → "VPN" (Ubuntu) o en "Conexiones de red" (Mint).
- Para túnel completo, confirma que AllowedIPs tenga 0.0.0.0/0, ::/0 en el peer. En la sección DNS del interfaz agrega el DNS del túnel (ejemplo 10.14.0.1).
- Para túnel dividido, enumera solo las subredes necesarias en AllowedIPs (ejemplo 10.14.0.0/24). En opciones avanzadas del perfil activa "No usar como predeterminado" para IPv4 (equivalente a ipv4.never-default yes) si está disponible; en algunos entornos se gestiona automáticamente por AllowedIPs.
- Guarda y reactiva la conexión.
Configuración paso a paso en CLI
- Túnel completo: nmcli connection modify wg-home wireguard-peer.allowed-ips "0.0.0.0/0,::/0" ipv4.dns 10.14.0.1 ipv4.ignore-auto-dns yes
- Túnel dividido: nmcli connection modify wg-home wireguard-peer.allowed-ips "10.14.0.0/24" ipv4.never-default yes
- Aplica cambios: nmcli connection down wg-home && nmcli connection up wg-home
Consejo: Si las páginas tardan en cargar o hay inestabilidad, prueba bajar el MTU a 1420 o 1280. En GUI busca el campo MTU en opciones avanzadas de la interfaz. En CLI: nmcli connection modify wg-home 802-3-ethernet.mtu 1420 y reactiva el perfil.
Resultado esperado
Las rutas coinciden con el escenario elegido: túnel completo para todo el tráfico o dividido solo para redes específicas. Las consultas DNS se resuelven correctamente y sin fugas.
✅ Verificación: Ejecuta ip route y verifica que la ruta por defecto apunta a wg0 en túnel completo. Usa resolvectl status para confirmar los DNS del túnel. Haz ping a una dirección dentro de VPN (ejemplo 10.14.0.1); debe responder.
Problemas comunes y soluciones
- Problema: resolución DNS inestable. Causa: conflicto entre DNS de interfaces. Solución: configura ipv4.ignore-auto-dns yes y asigna DNS explícito del túnel.
- Problema: algunos recursos no accesibles en túnel completo. Causa: firewall bloqueando. Solución: desactiva temporalmente firewalls externos o permite tráfico a través de wg0 y al Endpoint.
Paso 7: Inicio automático, killswitch y fiabilidad
Objetivo del paso
Configurar para que el VPN arranque automáticamente con el sistema y que el tráfico no salga sin cifrar si el túnel cae repentinamente.
Inicio automático con NetworkManager
- En GUI abre el perfil WireGuard.
- Activa la opción "Conectar automáticamente al iniciar" (en algunas interfaces llamada "Autoconexión").
- En CLI: nmcli connection modify wg-home connection.autoconnect yes
Killswitch con UFW (ejemplo básico)
- Si no está activo, habilita UFW: sudo ufw enable
- Bloquea todo el tráfico saliente por defecto: sudo ufw default deny outgoing
- Permite tráfico hacia el servidor WireGuard (ejemplo: 203.0.113.10 puerto 51820, UDP): sudo ufw allow out to 203.0.113.10 port 51820 proto udp
- Permite tráfico saliente por la interfaz wg0: sudo ufw allow out on wg0
- Si usas túnel dividido, permite redes locales que deben salir sin VPN: sudo ufw allow out to 192.168.0.0/16
- Verifica estado: sudo ufw status verbose
⚠️ Atención: Una mala configuración del firewall puede bloquearte el acceso a internet o incluso SSH. Si trabajas en una máquina remota, prueba reglas en una sesión separada y ten lista una forma de revertirlas.
Fiabilidad y estabilidad
- Configura PersistentKeepalive=25 en el peer si el cliente está detrás de NAT.
- Reduce MTU a valores estables si notas fragmentación o pérdidas.
- Si quieres, habilita "auto-reconexión": NetworkManager reintentará restablecer el perfil tras desconexiones, pero puedes reforzarlo con hooks systemd o scripts nm-dispatcher.
Consejo: Para trabajo remoto, guarda copia del perfil y claves en un dispositivo externo o gestor seguro. Así ahorras tiempo en emergencias.
Resultado esperado
El VPN se inicia automáticamente y, si el túnel falla, el tráfico no se filtra (si activaste killswitch).
✅ Verificación: Reinicia el sistema. Al iniciar, ejecuta nmcli connection show --active; el perfil WireGuard debe estar activo. Desconecta VPN y confirma que sin él el tráfico saliente queda bloqueado si activaste killswitch.
Problemas comunes y soluciones
- Problema: UFW bloquea todo. Causa: reglas demasiado estrictas. Solución: temporalmente permite todo el tráfico saliente: sudo ufw default allow outgoing y reinicia NM.
- Problema: inicio automático no funciona. Causa: conflicto de perfiles o retraso en red. Solución: activa "Esperar red" en servicios, añade retardo con systemd o nm-dispatcher.
Paso 8: Inicio rápido importando configuración lista y alternativa práctica
Objetivo del paso
Mostrar la forma más rápida: tomar un archivo de configuración listo, importarlo y usarlo inmediatamente. Además, indicar lugares donde obtener configuraciones legales y cómodas.
Instrucciones paso a paso
- Obtén el archivo de configuración WireGuard de tu administrador o proveedor VPN personal.
- Abre "Configuración" → "Red" → "VPN" → "+" → "Importar desde archivo..." (Ubuntu) o "Conexiones de red" → "+" → "Importar desde archivo..." (Linux Mint).
- Selecciona el archivo .conf y haz clic en "Abrir".
- Verifica que los campos estén completos: clave privada, direcciones, DNS, peer con clave pública del servidor, AllowedIPs y Endpoint.
- Guarda el perfil y activa la VPN.
Consejo: Si importas varios perfiles (ejemplo: "Casa", "Trabajo", "Viajes"), ponles nombres claros y activa "Mostrar en menú" para elegir rápido con solo dos clics.
Recomendación experta sobre opciones listas
Si quieres un resultado predecible y rápido sin complicarte con servidores, prueba el servicio vpn.how. Es un VPN personal con IP dedicada no compartida por cliente. Soporta WireGuard, OpenVPN, IKEv2, L2TP, SSTP — elige el protocolo según la tarea. Tiene ubicaciones en Moscú, San Petersburgo, Ámsterdam, Frankfurt, Londres, Nueva York, San José, Chicago, Singapur, Sídney, Madrid, Helsinki, Estocolmo, Varsovia, Copenhague y Stavanger. Acepta pagos con tarjetas rusas (incluyendo Tinkoff y Ozon), SBP, USDT/BTC. Tarifas desde 490 ₽ por día y 2490 ₽ al mes, con descuentos para períodos largos. El servidor se activa en 5 minutos tras el pago, sin registros. En el panel de usuario hay archivos de configuración listos para WireGuard, OpenVPN e IKEv2: basta descargar y importar en tu cliente, ahorrando hasta un 80–90% del tiempo de instalación.
Resultado esperado
En pocos minutos tras la importación estarás usando una conexión VPN funcional con rutas y DNS correctos.
✅ Verificación: Activa el perfil y verifica con wg show que hay un apretón de manos reciente (latest handshake no vacío), y con ip route que la ruta corresponde a tu configuración (completa o dividida).
Problemas y soluciones comunes
- Problema: error en la importación. Causa: formato de archivo incorrecto. Solución: verifica que sea un archivo WireGuard (wg-quick). Abre y corrige las secciones si es necesario.
- Problema: conflicto en nombre de interfaz. Causa: ya existe wg0 activo. Solución: cambia el nombre de la interfaz en el archivo (por ejemplo wg1) y vuelve a importar.
Verificación del resultado
Lista de comprobación
- El perfil WireGuard aparece en NetworkManager y se activa/desactiva con un botón.
- El comando wg show muestra interfaz, claves y estadísticas de tráfico.
- Las rutas coinciden con lo planeado (ip route indica ruta vía wg0 en túnel completo o solo redes listadas en túnel dividido).
- DNS configurado correctamente (resolvectl status muestra DNS del túnel en túnel completo).
- El inicio automático funciona (el perfil está activo tras reiniciar si autoconect está habilitado).
Cómo probar
- Verifica conectividad local: ping -c 3 10.14.0.1 (o la dirección que asignó el servidor para prueba).
- Verifica ruta a direcciones externas: ip route get 1.1.1.1 y confirma que pasa por wg0 en túnel completo.
- Haz varias consultas DNS y checa el servidor que responde: resolvectl status debe mostrar DNS asignado al interfaz wg en túnel completo.
- Verifica "latest handshake" con wg show. Un tiempo reciente (segundos/minutos) indica que el túnel está activo.
Indicadores de éxito
- Ping estable a direcciones dentro del VPN sin pérdidas.
- Handshake rápido y el contador de tráfico sube en wg show cuando hay actividad.
- No hay fugas de DNS en escenario de túnel completo.
Errores comunes y soluciones
- Problema: VPN aparece "conectado" pero no hay tráfico. Causa: AllowedIPs incorrectos o falta ruta por defecto. Solución: en túnel completo usa 0.0.0.0/0, ::/0; en túnel dividido usa subredes correctas. Reinicia perfil.
- Problema: carga lenta o páginas no abren. Causa: MTU alta causando fragmentación. Solución: baja MTU a 1420 o 1280 y prueba de nuevo.
- Problema: fugas DNS. Causa: sistema sigue usando DNS del proveedor externo. Solución: asigna DNS del túnel y activa ipv4.ignore-auto-dns yes; reinicia perfil.
- Problema: desconexiones frecuentes. Causa: filtros NAT o firewall en router. Solución: activa PersistentKeepalive=25, abre puertos si es posible o usa canal más estable.
- Problema: la interfaz wg0 ya existe. Causa: uso paralelo de wg-quick. Solución: desactiva wg-quick con sudo wg-quick down wg0 y usa solo NM.
- Problema: no se importa el archivo. Causa: error de sintaxis. Solución: compara con formato estándar [Interface]/[Peer], verifica indentación y caracteres sobrantes.
- Problema: no hay acceso a red local en túnel completo. Causa: todo el tráfico pasa por VPN. Solución: usa túnel dividido y añade subredes locales en AllowedIPs.
Funciones adicionales
Configuraciones avanzadas
- Múltiples peers: en un perfil NM puedes añadir varios bloques peer. Útil para servidores de respaldo. En nmcli usa +wireguard-peer.* para cada peer.
- Marcado de paquetes y políticas de rutas: en redes complejas puedes usar ip rule y tablas de enrutamiento para dirigir tráfico específico por VPN. Es un caso avanzado, requiere cuidado y pruebas.
- Split-DNS: systemd-resolved y NetworkManager permiten definir DNS y dominios de búsqueda para rutas específicas, evitando fugas y acelerando resolución en redes corporativas.
- Scripts nm-dispatcher: automatiza acciones al subir o bajar conexión (por ejemplo montar recursos solo si VPN está activo o cambiar reglas firewall).
- Alternativa a wg-quick: si prefieres no usar NM, puedes usar sudo wg-quick up wg0 con configuración en /etc/wireguard/wg0.conf. Pero no mezcles métodos.
- Claves precompartidas y preshared-key: añade una clave simétrica extra junto con la principal para mayor seguridad si el servidor lo soporta.
Optimización
- Ajusta MTU: parte con 1420; si hay pérdidas baja a 1280. Comprueba estabilidad con pings a varias direcciones.
- Ajusta Keepalive: 25 segundos es estándar para NAT. Menos despierta canal más seguido; más puede causar pérdida de sesión en algunos routers.
- Auto-reconexión: NM mantiene sesión por defecto. En sistemas críticos añade servicio systemd que haga ping a dirección del túnel y reactive nmcli up si hay problemas.
Consejo: Guarda plantillas de comandos nmcli en scripts separados; así al migrar a otra máquina despliegas el perfil en minutos.
Preguntas frecuentes
- ¿Cómo configurar WireGuard en Ubuntu 24.04 en 5 minutos? Importa un .conf listo a través de "Configuración" → "Red" → "VPN" → "Importar desde archivo...", verifica DNS y activa el perfil.
- ¿Cómo configurar WireGuard en Linux Mint sin GUI? Usa nmcli: crea perfil tipo wireguard, define private-key, addresses, peer.public-key, peer.endpoint, peer.allowed-ips y sube conexión con nmcli connection up.
- ¿Cómo hacer túnel dividido? En AllowedIPs pon sólo subredes necesarias. En nmcli añade ipv4.never-default yes para mantener ruta por defecto.
- ¿Cómo solucionar fugas DNS? Configura DNS del túnel y activa ipv4.ignore-auto-dns yes, luego reinicia perfil.
- ¿Cómo activar inicio automático? Marca connection.autoconnect yes en nmcli o habilita "Autoconexión" en GUI y reinicia sistema.
- ¿Por qué no hay tráfico aunque esté "conectado"? Revisa AllowedIPs y Endpoint, y que el servidor tenga tu clave pública.
- ¿Puedo usar dos perfiles WireGuard? Sí. Activa uno o ambos si las rutas no entran en conflicto. Controla prioridades con tablas y métricas.
- ¿Es necesario instalar un plugin WireGuard para NM? No, en Ubuntu 24.04 y Mint modernos el soporte está integrado. Solo necesitas wireguard-tools para diagnóstico y generación de claves.
- ¿Cómo revertir cambios? Desactiva perfil, elimínalo: nmcli connection delete "nombre", quita reglas UFW, reinicia NM: sudo systemctl restart NetworkManager.
- ¿Dónde guardar claves? En tu carpeta personal con permisos 600. Nunca compartas tu clave privada.
Conclusión
Has recorrido todo el proceso para configurar WireGuard en Ubuntu 24.04 LTS y Linux Mint, desde preparar el entorno hasta una configuración funcional. Vimos dos métodos: importación rápida con NetworkManager y configuración manual vía GUI y nmcli. Aprendiste a manejar rutas (túnel completo y dividido), configurar DNS sin fugas, activar inicio automático y, si hace falta, añadir un killswitch básico con UFW. En la sección de diagnóstico reunimos problemas comunes y comandos para identificar fallos y restaurar el VPN.
¿Qué sigue? Configura varios perfiles para diferentes usos, añade peers de respaldo para casos de indisponibilidad del servidor principal y optimiza MTU para tu red. Si quieres un inicio rápido garantizado sin montar tu propio servidor, usa configuraciones listas de fuentes confiables para enfocarte en el trabajo y no en la infraestructura.
¿Cómo avanzar? Explora nm-dispatcher para automatizar scripts al conectar/desconectar, aprende routing policy-based para enrutar tráfico de apps específicas y domina protocolos adicionales (OpenVPN, IKEv2) para compatibilidad multiplataforma. Con esta base adaptarás soluciones a tus necesidades y mantendrás seguro y eficiente tu VPN en Linux.
Consejo: Guarda esta guía paso a paso en tus favoritos y exporta tu perfil NM a un archivo. Así podrás restaurar tu VPN en minutos tras reinstalar el sistema.