Configure o tunelamento ssh para navegar usando o IP de um computador dentro de uma rede privada

3

Eu acho que minha pergunta é muito mais fácil de entender olhando para o empate abaixo. A ideia é que, por alguns motivos (como acessar a intranet da minha empresa, ou acessar algumas páginas da web que só minha empresa tem acesso) eu quero navegar na Internet usando o IP da minha empresa, mas de casa. O problema é que para ter acesso ao meu PC "dentro" eu tenho que passar por um portão.

Uma solução pode ser logar no gate, e daí para o meu PC, com ssh -X . Uma vez dentro eu posso abrir uma janela do Firefox que irá aparecer no meu PC em casa. O problema dessa abordagem é que ela é muito lenta porque eu tenho que enviar toda a GUI através da rede, ao invés de apenas os pacotes da Internet.

Uma idéia melhor para superar esse problema seria usar ssh -D8080 ip.remote.company para criar um túnel e, em seguida, configurar o Firefox em meu PC em casa para usar o computador remoto como proxy, enviando os pacotes da Internet (mas não a GUI) este canal seguro, como explicado em muitas páginas da web .

O problema, claro, é que eu tenho que passar pelo portão, o que adiciona um nível de complexidade, então eu tenho que configurar (eu acho) dois túneis ao invés de apenas um, aqueles desenhados em vermelho na figura.

Como posso configurar um encaminhamento de porta (ou algo semelhante) para tunelar minha conexão à Internet através da rede da minha empresa, conforme ilustrado na figura, de fora? Claro que tenho acesso e contas nos três computadores.

    
por Onturenio 29.11.2012 / 00:22

2 respostas

3

Assumindo um PC de origem e um gate baseados no Unix ... ssh -t -l gateuser -L7777:127.0.0.1:7778 gate "ssh -l inside_user -D7778 -N inside_pc"

Em seguida, use a porta 7777 do host local como um proxy de socks.

Eu recomendaria usar o autossh para manter as conexões ativas ... isso provavelmente é outro problema ...

Explicação: Do host local, encaminhar a porta 7777 para a porta 7778 do gate. Atribua um terminal para permitir que você responda aos prompts do ssh. No gate, execute o comando ssh cotado para executar o encaminhamento dinâmico na porta 7778 do gate (que é encaminhado para o PC 7777 inicial)

    
por 29.11.2012 / 12:40
1

Tente esta abordagem. Adicione no seu arquivo de configuração do cliente SSH (por exemplo, ~/.ssh/config ) a seguinte configuração:

Host mypcinside
# replace 10.1.2.3 with the IP of your PC in the local network
# as seen from the gate.
ProxyCommand ssh -q gate nc -q0 10.1.2.3 22
DynamicForward 8080

Host gate
# replace with real hostname
Hostname gate.mycompany.com

Isto irá criar um túnel de uma porta de conexão TCP simples 22 para seu pc através do gate e iniciar uma conexão SSH como se você estivesse no gate. Use

$ ssh mypcinside

para se conectar.

Um dos requisitos é que o gate tenha nc instalado (ou substitua por outra ferramenta similar ao netcat) e permite que você inicie conexões TCP de porta 22 sem usar o cliente SSH. Em uma configuração padrão, isso é perfeitamente possível, mas alguma segurança reforçada pode estar em vigor para evitar isso.

    
por 29.11.2012 / 10:01