La unidad está en rojo, la interfaz existe y el túnel funciona en su mayor parte, que es la combinación más confusa posible. La configuración es una secuencia: primero se crea la interfaz, después vienen direcciones, rutas, ajustes del resolutor y cualquier orden de hook. Un fallo en el cuarto paso deja los tres primeros en su sitio, así que el nombre de la interfaz es prueba de que el arranque empezó, no de que terminó. Un dato adicional habría ahorrado la confusión: el paso que falló.

El estado parcial es el fallo normal

Ese comportamiento conviene esperarlo en lugar de tratarlo como corrupción. La interfaz es la parte más barata de la configuración y la más fácil de dejar atrás, y también es la parte que hace que la máquina parezca medio operativa.

Lo que todavía no existe es todo lo que vino después del paso que falló. Si el fallo fue en la etapa del resolutor, las direcciones y las rutas están y el DNS no. Si fue una ruta, el túnel tiene una dirección y ningún camino a través de ella.

La consecuencia es una máquina que responde a algunas pruebas y falla en otras, y por eso la gente concluye que el servicio parpadea cuando en realidad nunca arrancó con éxito. Un servicio que nunca terminó no puede parpadear. Solo puede fallar una y otra vez por el mismo motivo.

Encuentra el primer paso que falla

Lee el diario de la unidad en lugar de solo el estado actual, y léelo desde el principio de la ejecución fallida. La última línea te dice el código de salida; el primer error te dice qué reparar.

Estos comandos imprimen el estado de la unidad, el diario de arranque de esa unidad y el estado vivo del túnel:

systemctl status wg-quick@wg0
journalctl -u wg-quick@wg0 -b --no-pager | tail -40
wg show
ip -4 addr show dev wg0

Un error del resolutor, una ruta que ya existe, un hook que salió con un código distinto de cero y un fallo de análisis de la configuración aparecen todos en esa ventana, y cada uno nombra su propio componente. Adivinar solo a partir del estado de la interfaz ignora toda esa información.

Tres condiciones que deciden la reparación

Decide si estás limpiando, reparando en el lugar o retirando la unidad del camino de arranque, y decídelo antes de escribir nada.

Si la interfaz está rota pero la configuración es correcta, limpia y vuelve a empezar. Si la configuración es incorrecta, corrígela y aun así limpia primero, porque arrancar un segundo gestor sobre un estado parcial produce dos dueños para una interfaz. Si el fallo es un componente del sistema que falta, como un asistente de resolutor que la máquina no tiene, instala o retira la dependencia a propósito en lugar de editar la unidad hasta que deje de quejarse.

Esos tres casos cubren la mayor parte de lo que parece una unidad roja misteriosa. La pregunta que distingue es si el mismo fallo ocurriría en una máquina con estado limpio, y la respuesta suele venir de la primera línea de error.

Limpia antes de reintentar

Un reintento sobre un estado existente puede fallar por un motivo nuevo y ocultar el original. Baja la interfaz con la misma herramienta que la creó y luego confirma que no queda nada.

No borres interfaces que no tienen relación ni reinicies la pila de red del anfitrión. Ambas son acciones grandes para arreglar un objeto pequeño, y convierten un solo túnel fallido en una máquina cuyas otras conexiones hay que restablecer. El alcance correcto es una interfaz y la unidad que la posee. Cualquier cosa más amplia necesita un motivo escrito antes de que ocurra.

Demuestra el túnel, no la unidad

Una unidad verde significa que la secuencia de arranque salió con cero. No significa que un paquete haya llegado al otro lado, ni que el resolutor se haya configurado como pretendías.

Envía una petición por el túnel y lee el estado que la produjo:

systemctl is-active wg-quick@wg0
wg show wg0 latest-handshakes
ping -c 3 10.63.0.1
resolvectl query internal.example.net

Un apretón de manos sin respuesta sigue diciéndote que el túnel se formó y que el lado remoto está callado, lo cual es un problema distinto de una unidad que nunca arrancó. Guarda el estado de la unidad, el apretón de manos y el resultado de la petición en un solo registro, porque fallan de forma independiente y solo la combinación describe el sistema.

Artículos relacionados