Se a porta frontal aceita conexões depois que o SSH termina, inspecione as três unidades. O socket de ativação, o auxiliar systemd-socket-proxyd e o ouvinte SOCKS criado pelo SSH têm tempos de vida distintos:

SocketAuxiliarSSHInterpretação
EscutandoInativoInativoPode estar aguardando demanda normalmente
EscutandoAtivoAtivoOs processos existem; a saúde do destino seguinte continua não comprovada
EscutandoAtivoInativoA frente pode aceitar trabalho sem o seu backend

Iniciar o auxiliar e o SSH juntos não define a transição de parada posterior. Para um auxiliar que não deve permanecer ativo sem o seu túnel, o systemd documenta uma relação mais forte:

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

Aplique-o à unidade apropriada no desenho real. Requires= e a ordenação resolvem apenas parte da relação. Uma frente já ativa pode, de outra forma, nunca mais disparar a ativação depois que o seu backend desaparece. Verifique também o estado de unidades falhadas e os limites de taxa de arranque; as dependências não anulam esses limites.

Em seguida, estabeleça a prontidão de arranque. After= ordena tarefas, não a prontidão de um ouvinte SSH Type=simple. Uma pausa fixa pode falhar durante autenticação lenta. Use um contrato de arranque que estabeleça o ouvinte necessário; ExitOnForwardFailure=yes captura falhas na configuração do encaminhamento, não a acessibilidade posterior ao destino.

Por fim, defina a saída por inatividade e a reativação. A opção de saída por inatividade do daemon de encaminhamento diz respeito à ausência de conexões ativas, não à falta de bytes numa conexão aberta. Uma sessão silenciosa pode mantê-lo ativo. A procura seguinte deve ativar os serviços necessários, e os ciclos de reinício devem permanecer limitados e visíveis. Recriar o ouvinte admite novas conexões; não restaura sessões TCP antigas encaminhadas por proxy.

Artigos relacionados