Si el puerto frontal sigue aceptando conexiones después de que SSH salga, revise las tres unidades. El socket de activación, el auxiliar systemd-socket-proxyd y el oyente SOCKS creado por SSH tienen vidas distintas:

SocketAuxiliarSSHInterpretación
EscuchaInactivoInactivoPuede estar esperando demanda con normalidad
EscuchaActivoActivoHay procesos; la salud del destino final sigue sin probarse
EscuchaActivoInactivoLa interfaz puede aceptar trabajo sin su backend

Arrancar el auxiliar y SSH juntos no define la transición posterior de parada. Para un auxiliar que no debe permanecer activo sin su túnel, systemd documenta la relación más fuerte:

[Unit]
BindsTo=ssh-socks.service
After=ssh-socks.service

Aplíquela a la unidad adecuada en el diseño real. Requires= y el orden solo cubren parte de la relación. Una interfaz ya activa podría no volver a disparar la activación tras desaparecer su backend. Revise también el estado de las unidades fallidas y los límites de frecuencia de arranque; las dependencias no anulan esos límites.

Después establezca la preparación de arranque. After= ordena tareas, no la preparación de un oyente SSH Type=simple. Una espera fija puede fallar durante una autenticación lenta. Use un contrato de arranque que establezca el oyente requerido; ExitOnForwardFailure=yes detecta el fallo de la configuración del reenvío, no la accesibilidad posterior del destino.

Por último, defina la salida por inactividad y la reactivación. La opción de salida por inactividad del demonio de reenvío se refiere a la ausencia de conexiones activas, no a la falta de bytes en una conexión abierta. Una sesión silenciosa puede mantenerlo activo. La siguiente demanda debería activar los servicios necesarios, y los bucles de reinicio deberían seguir acotados y visibles. Recrear el oyente admite conexiones nuevas; no restaura las sesiones TCP antiguas que pasaban por el proxy.

Artículos relacionados