Tienes un perfil de WireGuard en /etc/wireguard/wg0.conf y quieres que esté activo sin escribir wg-quick up a mano tras cada reinicio. La plantilla systemd del paquete hace exactamente eso: [email protected] ejecuta wg-quick para el perfil llamado wg0. También instala direcciones, rutas, DNS y los ganchos que declare el perfil, lo cual es más que cargar una clave en el núcleo. Comprueba que la plantilla exista en tu sistema antes de dar por hecho que existe.

El resto de este recorrido sigue el orden en el que lo harías realmente.

Encuentra la unidad y el perfil que lee

Lista los archivos de unidad con systemctl list-unit-files 'wg-quick*'. En las distribuciones que lo empaquetan verás [email protected], con el nombre de instancia tomado del perfil. La instancia se resuelve en /etc/wireguard/<name>.conf, así que wg-quick@wg0 lee wg0.conf y nada más. Si la lista está vacía, el paquete de herramientas no está instalado y ninguna cantidad de habilitación ayudará.

Mantén el perfil en modo 600 y propiedad de root. Contiene una clave privada, y la unidad se ejecutará tan tranquila con peores permisos si se lo permites.

Levántalo y lee el diario

Inicia la instancia con systemctl start wg-quick@wg0, luego comprueba systemctl status wg-quick@wg0 y journalctl -u wg-quick@wg0 -b. Una unidad que arranca y sale de inmediato suele tener un error de perfil, y el diario nombra la línea. Confirma con wg show que la interfaz existe y que el último handshake es reciente. El manual de wg-quick enumera lo que hace el script más allá de la propia interfaz.

Una interfaz configurada sin handshake es un problema de ruta o de clave, no de servicio.

Deja un solo gestor al mando

Si NetworkManager u otro cliente ya posee el túnel, iniciar la unidad systemd crea un segundo propietario para la misma interfaz, rutas y DNS. Los síntomas son confusos: el túnel sube, luego desaparecen las rutas, o el DNS vuelve atrás a los pocos segundos. Elige un gestor y desactiva el otro para ese perfil. El diario suele mostrar la toma de control como cambios de ruta o de resolutor justo después de que la unidad informe éxito.

Dos gestores no comparten la propiedad. Se sobrescriben el uno al otro.

Prueba parada, reinicio y arranque

Ejecuta systemctl stop wg-quick@wg0 y confirma que la interfaz ha desaparecido y que las rutas se han eliminado. Luego vuelve a iniciarlo y comprueba que las rutas regresan, porque los errores de desmontaje se manifiestan como rutas sobrantes y no como arranques fallidos. Por último habilítalo al arranque con systemctl enable --now wg-quick@wg0 y reinicia una vez.

En el arranque el nombre del extremo debe resolverse antes de que la unidad se ejecute. Si el DNS aún no está activo, la unidad falla y sigue fallida hasta que la inicies a mano.

Anota el propietario

Anota qué perfil lee la unidad, qué gestor posee la interfaz y de dónde vino el archivo. Cuando alguien importe más tarde el mismo túnel en un cliente de escritorio, esa nota es la diferencia entre una migración y dos despliegues peleando por una dirección. Anota también el nombre de la interfaz, porque dos perfiles con nombres parecidos son la fuente habitual de confusión.

Un túnel con dos propietarios funciona hasta el primer reinicio, y entonces es un misterio. Por eso la nota pertenece al repositorio y no a un hilo de chat.

Artículos relacionados