Teste ssh -R 127.0.0.1:12345:www.google.com:80 [email protected]
do host.
Isso encaminhará 127.0.0.1:12345 na VM para www.google.com.br:80 no túnel.
Eu tenho uma VM, acessível via 192.168.56.101:22. Agora quero criar um túnel:
127.0.0.1:12345 - > www.google.com:80
em que 127.0.0.1 é o endereço IP da interface de loopback da VM. O sistema operacional do host tem uma rota para www.google.com.br e nenhum encaminhamento de pacote está ativado.
É possível fazer isso apenas com o SSH? Se sim, como?
Teste ssh -R 127.0.0.1:12345:www.google.com:80 [email protected]
do host.
Isso encaminhará 127.0.0.1:12345 na VM para www.google.com.br:80 no túnel.
ssh -L 127.0.0.1:12345:www.google.com:80 [email protected]
Isso cria o túnel de alguma estação de trabalho, passando por 192.168.56.101 até www.google.com
Eu não tenho certeza se sua pergunta realmente está pedindo isso - mas essa é a resposta que faz mais sentido. Como a VM já pode acessar www.google.com.br, presumo que você tenha uma terceira máquina (uma estação de trabalho, por exemplo) que deseja acessar o google, por meio da VM.
Mas isso cria um túnel para que a estação de trabalho esteja escutando na porta 12345, e qualquer tráfego enviado para essa porta vai para sua VM e depois para o Google.
ssh [email protected] -L localhost:12345:google.com:80
Em seguida, conecte-se ao localhost: 12345 para acessar o google.com. Além disso, você poderia usar
ssh [email protected] -D localhost:12345
para permitir que o ssh decida onde se conectar (por exemplo, google.com:80) no momento em que você se conectar ao localhost: 12345 com seu aplicativo.
Eu acredito que qualquer um deles fará o truque.