systemd-socket-proxyd pode sobreviver ao seu túnel SSH SOCKS
Alinhe o ciclo de vida do auxiliar de encaminhamento de sockets com a dependência SSH, para que um túnel morto não deixe uma frente com aparência saudável.
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:
| Socket | Auxiliar | SSH | Interpretação |
|---|---|---|---|
| Escutando | Inativo | Inativo | Pode estar aguardando demanda normalmente |
| Escutando | Ativo | Ativo | Os processos existem; a saúde do destino seguinte continua não comprovada |
| Escutando | Ativo | Inativo | A 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.serviceAplique-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.