Proxy para unir duas conexões de entrada de locais separados

0

Bom dia,

Eu tenho dois computadores atrás do firewall sem nenhum encaminhamento de porta configurado. Esses dois computadores precisam se comunicar entre si usando apenas conexões de saída.

Estou procurando uma ferramenta de proxy que seja lançada no servidor e funcione da seguinte maneira:

  1. Bob verifica periodicamente com o servidor se Alice quer conversar.
  2. Alice envia uma solicitação ao servidor para falar com o Bob.
  3. Bob verifica com o servidor e recebe informações de que Alice quer falar - ele aceita.
  4. O servidor proxy abre as portas de entrada 8100 e 8200 para conexões TCP de entrada.
  5. Alice se conecta à porta 8100 e espera que Bob se junte a ela.
  6. Bob se conecta à porta 8200.
  7. Os pacotes
  8. HELO são enviados para Alice e Bob, indicando que a conexão foi estabelecida por ambas as partes.
  9. A conexão é então alterada para o modo de encaminhamento duplex, no qual Alice pode enviar pacotes para a porta 8100 e eles serão encaminhados da porta 8200 para o Bob.
  10. Bob também pode enviar pacotes para a porta 8200 e eles serão encaminhados da porta 8100 para a Alice.
  11. Bob desconecta e a conexão para Alice também é descartada.

Eu queria perguntar se existe esse protocolo de proxy já disponível. Antes de escrever minha própria implementação, decidi perguntar aqui sobre quaisquer soluções disponíveis (preferencialmente para Linux).

A ideia é apenas um encaminhador de pacotes simples que é capaz de unir duas conexões de entrada. Eu apreciaria se alguém pudesse compartilhar o conhecimento de quaisquer projetos de código aberto similares.

    
por blackd0t 03.09.2013 / 15:36

1 resposta

0

Bem, vamos separar isso em camadas, você está descrevendo um roteador no nível IP, a única coisa é que os pacotes chegam em uma porta e saem em uma porta diferente e devem ser manipulados pela camada de aplicação que implementa o protocolo estão descrevendo.

Então, para reproduzir o design conceitual que você descreveu acima, você precisa de um roteador (qualquer caixa linux com tabelas IP será suficiente) mais um serviço de rede que faça exatamente o que você está pedindo e a menos que alguém já tenha programado e liberado o Open Source você está pedindo, você precisará fazer você mesmo.

    
por 03.09.2013 / 16:33