
Sistema conceitual em minha mente do que procuro:
Dados dois hosts (podem ser pcs)!
Ambos podem estar em rede dinâmica (ip dinâmico)!
Ambos se conectam ao mesmo servidor central para se encontrarem! (no meu caso, preciso! Um host cliente também pode atuar como servidor)
O servidor funciona como uma ponte! E faça o túnel acontecer!
Primeiro host conecte-se ao servidor! E o segundo também! Agora o servidor mapeia ambos os nós (hosts)!
E faça encaminhamento (túnel)!
Sempre que o host um enviar algo para o host 2, ele irá para o servidor central! Através de algo como web socket! então o servidor envia para o segundo host! O segundo anfitrião responde de volta! Como queiras! O servidor lida com a ponte e o tunelamento de duas maneiras!
Propriedades aqui:
- nós podem se conectar dinamicamente! Sem configurar redes ou DNS dinâmico... Assim como o teamviewer ou o anydesk fazem!
- conexões tcp são encapsuladas e encaminhadas!
- Os dois nós se conectam e podem funcionar como se fossem um único host!
Para resumir: pc1, pc2 => conecte pc1 a pc2 sem que eles precisem conhecer os endereços IP um do outro! Tudo de forma dinâmica! tunelamento direto!
Como fazer isso ?
Depois de olhar para coisas diferentes! Eu apenas pensei que a maneira mais fácil seria implementar algo assim sozinho! como posso imaginar como posso fazer isso!
Eu precisava disso! Ao tentar executar o emulador Android no AWS EC2! E para encaminhar o adb para um emulador remoto!
Eu não estou perguntando sobresolução para o problema do Android!Mas simo sistema acima!Gostaria de saber se já existe algo que faça o que descrevi!
Caso contrário, levaria algum tempo!
Por uma solução que passou pela minha cabeça! Estou olhando para um servidor websocket central! E tunelamento tcp sobre ws!
Qual seria o nome de tal sistema?
E quais são todas as boas maneiras possíveis de conseguir isso! Como você faria isso?
Algumas outras maneiras do sistema acima que pesquisei
Para sistemas ou problemas em que você possa pensar no acima! Assim como acontece com a depuração remota do Android!
Pode-se pensar em:
Tunelamento reverso Ssh => requer um final estático! O servidor por exemplo no meu caso! A instância do servidor precisa ter o ssh funcionando! Na AWS isso exige algum trabalho para configurar um agente funcional! Nem sempre direto!
DNS dinâmico => O encaminhamento de porta é necessário! Pode ser complicado de configurar para alguns! Possíveis riscos de segurança
Aqueles para quem pode mencioná-los! Só estou pedindo o sistema conceitual mencionado acima!
O que eu me mencionei conceitualmente! Seria o mais fácil de combinar com a coisa e o sistema! Nenhuma configuração complexa para fazer! Basta configurar um servidor! E tudo corre de forma suave e dinâmica por design! Mesmo para usuários não avançados! Como outros desenvolvedores da mesma equipe ou organização! Assim como o teamviewer e o anydesk e tantos sistemas já funcionam!
Responder1
Algo como o openvpn como solução para o seu problema seria um exagero? Openvpn faz tudo o que você deseja, mas também criptografa o tráfego de rede. Essa criptografia adiciona alguma complexidade à configuração.