Falha no Túnel SSH Inverso - Procurando por Aviso de Depuração

2

Eu tenho um servidor Mac OS X (chamado de servidor interno por trás de um firewall que é reverso encaminhamento de porta via ssh -gnN -R *:remoteport:localhost:localport [email protected] onde remote.server é o domínio / IP de um servidor público, que eu chamarei de servidor remoto .Então, eu posso conectar-me ao servidor interno conectando-me a remote.server:remoteport .

Periodicamente, o túnel falhará e, para esse fim, eu tenho um script no servidor interno que tenta reconectar-se ao servidor remoto até que seja bem-sucedido. Isso funcionou em várias ocasiões.

Mas, recentemente, experimentei um erro no qual o servidor interno perde sua conexão com o servidor remoto e nada que eu faça no servidor interno pode restaurar a conexão. O servidor remoto deve ser reinicializado, após o qual o túnel é imediatamente restabelecido pelo script.

O servidor remoto é um VPS que executa uma instalação básica do CentOS 6. Nenhuma configuração foi alterada nos últimos meses. O servidor remoto executou o encapsulamento sem erros por mais de 4 meses, depois falhou duas vezes nas últimas 12 horas dessa maneira, exigindo duas reinicializações com apenas algumas horas de diferença.

Que tipos de coisas podem causar esse comportamento e por onde devo começar a procurar problemas?

    
por Justin Mrkva 10.01.2014 / 23:29

1 resposta

2

Mais do que provavelmente a conexão do cliente foi perdida, mas o servidor remoto ainda não fechou a conexão. Isso resulta em um conflito de porta, pois a sessão antiga ainda estará escutando na porta que você está tentando se ligar.

Faça login no servidor remoto, identifique o processo sshd obsoleto e envie o sinal HUP ( kill -HUP ) para encerrar a sessão e seu listener associado.

Dito isso, você realmente não deve confiar nesse tipo de túnel "persistente" em um ambiente de produção. (especialmente se você estiver usando para contornar uma política de firewall que está em vigor por um motivo)

    
por 10.01.2014 / 23:49