Tunelando múltiplas portas através de uma única porta [duplicada]

4

Gostaria de encaminhar várias portas da minha máquina local para uma máquina remota por meio de tunelamento SSH. No entanto, quero que isso aconteça em uma única porta. Existe um protocolo ou ferramenta que pode multiplexar entre uma única porta e vários aplicativos?

Editar: Estou encaminhando muitas portas de muitas máquinas para um único controle remoto, e quero multiplexá-las no nível do aplicativo por máquina para usar o menor número possível de portas no remoto. Eu vejo soluções como o sshl que podem multiplexar certos protocolos, mas não conheço nenhuma solução genérica que possa envolver as mensagens de maneira independente de protocolo.

    
por szxk 16.03.2016 / 16:32

1 resposta

2

O SSH permite que você especifique várias portas na linha de comando para encapsular (exemplo de aqui ):

$ ssh -L 10001:one.securedomain.com:3389 -L 10002:two.securedomain.com:3389

Você está dizendo que só quer usar uma única porta local?

O SSH simplesmente faz um mapeamento da porta de origem < - > Porto de destino. Você tem um problema fundamental se quiser 1 porta de origem < - > várias portas de destino - por ex. se você enviar tráfego para sua porta local 10001, como é que algo (muito menos SSH) deve saber qual porta de destino você quer?

Alguns protocolos possuem um recurso em que parte dos dados transmitidos como carga útil especifica o destino da carga útil. O HTTP faz isso com o cabeçalho Host: . Como o SSH adota a filosofia Unix de "X é meu trabalho e nada mais", ele não fareja, decodifique ou entenda o tráfego que está sendo tunelizado. Portanto, isso não pode ajudá-lo, mas um servidor proxy em execução no sistema de origem ou destino pode. Para outros protocolos além do HTTP, você deve procurar ou desenvolver um serviço que sirva como um proxy "multiplexado" - eu acho que existem utilitários para SMTP e, possivelmente, FTP, se você procurar o suficiente.

Uma maneira é executar algo como o OpenVPN em seu túnel SSH, desta forma você pode controlar explicitamente o roteamento e assim depois que o tráfego chegar ao outro lado.

    
por 16.03.2016 / 16:55