Conecte-se à Internet em um servidor VPN conectado sem Internet

3

Eu tenho um servidor remoto que não está conectado à internet, mas posso conectar-me via SSH a ele por meio de um túnel VPN. Neste cliente eu tenho internet. É possível obter internet do cliente através da conexão VPN? O servidor é uma máquina Debian 7.

    
por OrangeTux 01.02.2014 / 09:27

4 respostas

6

f seu servidor está executando uma versão recente do sshd (> = 4.3) você deve ser capaz de usar a opção ssh IP tunneling "- w" e configurar uma conexão ponto-a-ponto . Depois disso, é apenas uma questão de roteamento.
(Como seu servidor só é alcançável através da rede, cuidado para não cortar o link ao configurar as rotas. Por exemplo, abra uma nova conexão ssh com seu servidor de outro servidor conectado à mesma lan. Rotas locais não são afetadas, portanto você não correrá o risco de corte a conexão mesmo se você remover o gateway padrão.)

veja a documentação aqui

extrair:

    +---------------+            OpenSSH 4.3           +---------------+
    |   Machine A   | tun0 -- Tunnel Interface -- tun0 |   Machine B   |
    |  Has a tunnel | <------------------------------->|  Has a tunnel |  
    |  and ethernet | 10.0.0.100            10.0.0.200 |  and ethernet |
    +-------+-------+     point to point connection    +-------+-------+
       eth0 |                 creates a bridge                 | eth0  
 10.0.0.100 |               that plugs machine B               | 192.168.0.100
   port 22  |                  into network A                  |          
  forwarded |                                                  |
    here    |                                                  |
    +-------+-------+          +-~-~-~-~-~-~-~-+       +-------+-------+ 
    |   Network A   |          |               |       |   Network B   |
    |  10.0.0.1/24  | 1.2.3.4  |  The Internet |       | 192.168.0.1/24|
    |  Has internet |<-------->|               |<----->|  Has internet |
    |  NAT gateway  | Routable |               |       |  NAT gateway  |
    +---------------+ Address  +-~-~-~-~-~-~-~-+       +---------------+

EDITAR

Uma alternativa é usar um proxy para encaminhamento de porta

Isso abrirá um proxy SOCKS local:

ssh -TND 127.0.0.1:1080  localuser@localhost

Isso abre um shell no host remoto e um túnel para o seu proxy (infelizmente o -D não pode ser definido remotamente)

ssh -R 127.0.0.1:1080:127.0.0.1:1080 remoteuser@remotehost

Isso funcionará com o firefox e o gnome; se a sua aplicação não estiver cheia, envolva-a com tsocks

$ sudo -s 
# cat >/etc/tsocks.conf <<eof
server = 127.0.0.1
server_type = 5
server_port = 1080
eof

# tsocks apt-get update 
    
por 11.02.2014 / 13:41
4

Você pode instalar um proxy http (como o squid) no cliente que está acessando esse servidor e, em seguida, redirecionar o tráfego pela conexão ssh para o cliente e depois pelo proxy.

Algo parecido com isto

             +----------+            +-----------+
             |          |+----SSH+-->|           |
             |  Client  |            | Server    |
             |+--------+|            |           |
  Internet <-++-+PROXY<++<SSH Tunnel--+          |
             |+--------+|            |           |
             +----------+            +-----------+

Sshing para o servidor seria algo como isto | ssh -R 3128:127.0.0.1:3128 user@server

Em seguida, no servidor, você configuraria o uso de um proxy com o endereço e a porta de 127.0.0.1:3128

Adicionar a seguinte linha em /etc/apt/apt.conf deve fazer o truque de Acquire::http::Proxy "http://127.0.0.1:3128";

    
por 11.02.2014 / 09:33
1

Você pode instalar o squid em sua máquina e, em seguida:

sudo apt-get install squid
sudo /etc/init.d/squid restart
ssh -L3128:127.0.0.1:3128 host

E uma vez dentro:

export http_proxy=http://127.0.0.1:3128/
export https_proxy=http://127.0.0.1:3128/
export ftp_proxy=http://127.0.0.1:3128/ (not Sure)
and try: apt-get update

Deve funcionar.

    
por 11.02.2014 / 09:34
1

Talvez você possa instalar um proxy no servidor para acessar a Internet e modificar o apt para se conectar usando o proxy http, adicionando entradas em /etc/apt/apt.conf

Acquire::http::Proxy "http : //user:password@ServerIP:Port";

Estou dizendo isso porque é assim que recebo todas as atualizações da minha empresa. Aqui nós configuramos o squid como proxy http.

Boa sorte!

    
por 11.02.2014 / 09:19

Tags