systemd-socket-proxyd puede sobrevivir a su túnel SSH SOCKS
Alinee el ciclo de vida de un auxiliar de reenvío de sockets con su dependencia de SSH para que un túnel muerto no deje una interfaz que parezca sana.
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:
| Socket | Auxiliar | SSH | Interpretación |
|---|---|---|---|
| Escucha | Inactivo | Inactivo | Puede estar esperando demanda con normalidad |
| Escucha | Activo | Activo | Hay procesos; la salud del destino final sigue sin probarse |
| Escucha | Activo | Inactivo | La 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.