eu tenho um
- Computador local (atrás do NAT).
- Um servidor intermediário acessível publicamente e com um endereço IP fixo.
- Computador remoto (atrás do NAT e diferente do computador local).
Eu gostaria de compartilhar temporariamente o acesso a um site na rede local através do computador local e um servidor intermediário usando SOCKS/SSH, para que um computador remoto possa visualizá-lo. Isso é possível quando o computador remoto e o computador local estão por trás do NAT ? Se sim, como?
NAT - Static Public IP - NAT
Local Network <- Local Computer - Intermediate Server - Remote Computer
Sei que posso fazer isso com ngrok e serviços semelhantes, mas gostaria de aprender a fazer sozinho usando SSH e SOCKS.
Recompensa: Darei preferência a respostas com código de exemplo e explicações de como fazer. Obrigada.
ATUALIZAÇÃO: Eu preciso de SOCKS para encaminhamento dinâmico de porta.
Suposição: Seu servidor Web local é executado em um host separado com IP 192.168.1.100
Seu servidor intermediário é executado em IP 2.3.4.5
Seu host local se conecta ao seu servidor intermediário via ssh e faz algum encaminhamento de porta remoto:
Seu host remoto se conecta ao seu servidor intermediário via ssh e faz algum encaminhamento de porta local:
Por escrito:
A máquina local usa um túnel ssh com encaminhamento de porta remoto para 'capturar' as portas 10080 e 10443 na
lo
interface do servidor intermediário. Ambas as portas remotas são então encaminhadas para as portas 80 e 443 do WebServer (192.168.1.100) em sua rede local.A máquina remota usa seu próprio túnel ssh para 'capturar' as portas 80 e 443 de sua própria
lo
interface e as encaminha para as portas 10080 e 10443 nalo
interface de seu servidor intermediário.Portanto, qualquer aplicativo em sua máquina remota que se conecte às portas internas localhost:80 ou localhost:443 será encaminhado para as portas internas :10080 ou :10443 de seu servidor intermediário e, em seguida, através de sua máquina local para as portas 192.168.1.100:80 ou 192.168.1.100:443 na interface LAN do seu servidor web.
Espero que ajude.
editar: reformulado os endereços IP das
lo
interfaces.Se você deseja/precisa de encaminhamento dinâmico de porta, pode tentar a seguinte configuração:
l-user : usuário no meu computador local
i-user : usuário no intermediário
intermediário : endereço IP do host intermediário
no meu-computador-local:
no controle remoto:
O encaminhamento de porta remota entre
my-local-computer
eintermediate
deve existir antes que a conexãothe-remote
seja iniciada.Nesta configuração
the-remote
atua como um proxy SOCKS5 na porta 3456 e encaminha o tráfego através dointermediate
paramy-local-comuter
onde deve terminar em sua lan local.