Gostaria de conectar um computador virtualbox a um serviço local em um computador remoto. Consigo me conectar a serviços locais, mas o remoto, tenho um problema porque no destino, o serviço é executado em uma LAN local.
Aqui está um gráfico do 3 computador e duas interfaces no 3º computador. Quero me conectar a 10.0.0.8:200, pois o serviço ao qual quero me conectar é executado apenas nessa rede local no computador remoto.
+--------------------+
| |
| VirtualBox |
| 192.168.11.11:200 |
| |
+-----+--------------+
|
v
+--------------------+
| |
| Local Computer |
| 192.168.11.41:200 |
| |
+-----+--------------+
|
v
+--------------------+
| |
| Remote Computer |
| 8.8.8.8 | <- I can connect here
| |
| 10.0.0.8:200 | <- how do I connect here?
| |
+--------------------+
Consigo abrir um túnel entre o Computador Local e o Computador Remoto, mas isso não me dá uma maneira de me conectar ao serviço na rede local 10.0.0.8.
O que tenho até agora é o túnel SSH entre o Computador Local e o Computador Remoto. Caso contrário, posso me conectar entre o VirtualBox e o computador local (tenho uma configuração de rede em ponte com funciona conforme o esperado.)
ssh -L 200:8.8.8.8:200 example.com
Então, o que estou perdendo é uma conexão entre 8.8.8.8 e 10.0.0.8. Como crio um túnel/proxy entre os dois que disponibiliza o serviço em 10.0.0.8:200 para meu computador local?
Primeiro, há um erro óbvio em seu comando. Seu programa só roda na rede local, mas você está encaminhando a conexão para o IP público usando
-L 200:8.8.8.8:200
. Então você deve usar-L 200:10.0.0.8:200
em vez disso.Em segundo lugar, usando
-L 200:10.0.0.8:299
, o cliente ssh só escutarálocalhost:200
por padrão. Esse comportamento pode ser configurado usando aGatewayPorts
opção. Para dizer explicitamente ao cliente ssh para aceitar a conexão de outros hosts, você pode usar-L 0.0.0.0:10.0.0.8:200
. Deman ssh_config
: