Sim, existe, a implementação mais comum disso é Túnel SSH . Basta configurar o computador A como o host SSH e encaminhar as portas para o computador B para que ele possa conversar com o aplicativo do servidor no computador B.
Existem hosts SSH para quase todos os sistemas operacionais .
Então, aqui estão os passos
- O computador B inicia seu servidor TCP desconhecido
- O computador A inicia um servidor SSH (o roteador está configurado para a porta de encaminhamento de porta
22
para o computador A) - O computador B executa um comando semelhante a
ssh [email protected] -R 10000:192.168.1.10:7777
(substitua192.168.1.10:7777
pelo ip e porta do computador B e pela porta TCP Servers,12.23.45.67
é o IP público do Computador A) - O computador A inicia seu cliente TCP para se conectar a
localhost:10000
(você pode alterar a porta passando um primeiro número diferente para a opção-R
na etapa 3). O tunelamento de porta SSH lida com a tarefa de passar os dados pela Internet entre o servidor TCP e o cliente desconhecidos.