Site icon jomiroca

Cómo activar el autoconnect de WireGuard con nmcli en Ubuntu 24.04

Configurar WireGuard para que se conecte automáticamente al arrancar el sistema usando NetworkManager es sencillo con nmcli. Esto es especialmente útil en servidores o máquinas que necesitan VPN persistente sin intervención manual.

Prerrequisitos

Paso 1: Importar la configuración WireGuard

Si tienes tu wg0.conf listo, impórtalo a NetworkManager:

sudo nmcli connection import type wireguard file /etc/wireguard/wg0.conf

Esto crea un perfil de conexión llamado wg0 (o similar, según tu config). Verifícalo:

nmcli connection show

Paso 2: Activar autoconnect

Habilita la conexión automática al boot:

sudo nmcli connection modify wg0 connection.autoconnect yes

Paso 3: Verificar el estado

Lista todas las conexiones con su autoconnect:

nmcli -f name,autoconnect connection

Salida esperada:

NAME                AUTOCONNECT
wg0                 yes
Wired connection 1  yes

Para detalles específicos:

nmcli connection show wg0 | grep autoconnect

Paso 4: Probar la conexión

Activa manualmente primero:

nmcli connection up wg0

Reinicia el sistema y verifica con nmcli connection show --active o wg show. Debería levantarse sola.

Solución de problemas comunes

No se conecta al boot:

Prioridad de conexiones:
Si WiFi/Ethernet interfiere:

bashsudo nmcli connection modify "Wired connection 1" connection.autoconnect-priority 20
sudo nmcli connection modify wg0 connection.autoconnect-priority 10

(Números más altos = prioridad mayor).

Desactivar autoconnect:

sudo nmcli connection modify wg0 connection.autoconnect no

Script de automatización completo

Guarda esto como setup-wg-autoconnect.sh:

#!/bin/bash
WG_CONF="/etc/wireguard/wg0.conf"
CONN_NAME="wg0"

# Importar si no existe
if ! nmcli connection show "$CONN_NAME" &>/dev/null; then
    nmcli connection import type wireguard file "$WG_CONF"
fi

# Activar autoconnect
nmcli connection modify "$CONN_NAME" connection.autoconnect yes

# Subir
nmcli connection up "$CONN_NAME"

echo "✅ wg0 configurada con autoconnect=yes"
nmcli -f name,autoconnect connection | grep wg0

Ejecuta: chmod +x setup-wg-autoconnect.sh && sudo ./setup-wg-autoconnect.sh.

Conclusión

Con estos pasos, tu WireGuard wg0 se activará automáticamente en cada arranque vía NetworkManager, ideal para servidores VPN, home labs o acceso remoto persistente. ¡Reinicia y listo! 🚀

¿Algún problema? Deja un comentario o prueba sudo systemctl restart NetworkManager.

Exit mobile version