É possível configurar um túnel VPN reverso?

5

Basicamente, meu objetivo é ter um servidor 100% portátil e independente. Eu estou construindo usando um Raspberry Pi alimentado por painéis solares e baterias, e ele deve ser conectado à internet usando um hotspot 4g. Só precisa ter duas funções, um serviço SSH e um serviço VPN.

Aqui está o meu problema.

Inicialmente comecei este projeto pensando que meu maior problema seria o roaming de IP. Estabeleci um domínio de DNS dinâmico e escrevi um cron que o atualizava a cada 60 segundos. Eu, então, enviei meu hotspot para o Pi (o hotspot é basicamente um roteador, e o pi tem um dongle wifi).

No entanto, não consegui me conectar ao roteador de ponto de acesso usando o IP público. Foi então que percebi que todos os dispositivos 4G LTE recebem IPs em uma sub-rede para um NAT muito maior. Esta é aparentemente uma nova prática com 4G. Dispositivos 3G usados para receber um IP público acessível.

Basicamente, preciso de uma maneira de acessar um servidor VPN que não tenha um IP exclusivo.

É possível que um servidor VPN estabeleça conexões com clientes, como um túnel SSH reverso?

Como se ele pudesse pesquisar continuamente um conjunto de endereços IP (ou um domínio DNS dinâmico) até que um deles aceitasse uma conexão ou talvez sondasse outro servidor que contivesse uma lista de IPs atualmente "desejando" uma conexão (e aqueles Os IPs sondariam essencialmente esse servidor para solicitar uma conexão VPN).

Eu sei que é retardado e quebra o modelo de servidor do cliente, mas estou meio desesperado aqui. É possível?

    
por Nikita240 04.09.2014 / 22:53

3 respostas

5

Como você pode ver, conectar-se ao seu sistema não é tão simples. A essência do seu problema é que mesmo você pode fazer o registro de DNS (o que torna elegível para os servidores encontrarem um ao outro), a conexão ip real entre suas máquinas é ainda mais impossível.

Existem várias soluções para o seu problema.

Os mais simples eram se você tem algum tipo de servidor central (com um IP fixo público) e o servidor VPN é executado nele. Em seu rasperry pi, assim como em seus outros clientes, apenas um cliente VPN é executado. Este servidor funcionou como um gateway intermediário entre seus rasperrys e outros dispositivos.

Raspberry -> Central GW machine <- Your any other system

Resolveu tanto o problema do registro DNS quanto o problema do contato IP.

Do ponto de vista da rede, ninguém se conectou ao seu rasperry. Apenas seu framboesa conectou fora ao seu GW central.

O OpenVPN é uma solução muito bonita para isso.

Também existem soluções mais complicadas. Por exemplo, você poderia de alguma forma dizer ao seu rasperry para conectar fora para seus clientes e fazer o vpn sobre isso. Mas não funcionou se seus clientes também estavam por trás de um NAT, o que é bastante comum atualmente, especialmente em redes móveis.

Ou você pode usar tor também para encontrar servidores intermediários atrás de você. Sim, tor não é realmente uma ferramenta de crackers, pode ser usada para tarefas regulares também. Mas não é realmente confiável e muito lento.

    
por 05.09.2014 / 10:37
2

Eu também experimentei alguns problemas de conexão com o meu Raspberry Pi enquanto estava conectado a um hot spot aberto (no meu caso, foi Optimum WiFi) ( SSH no meu Raspberry Pi 2 @ WiFi Optimum - Raspberry Pi Stack Exchange ).

Então, eu gostaria de compartilhar minha maneira de entrar no meu Raspberry Pi 2 usando este túnel reverso ssh:

pi@raspberrypi ~ $ crontab -l | tail -1
@hourly     ssh -S alexus -O check XXX > /dev/null 2>&1 ; if [ $? != 0 ] ; then ssh -M -S alexus -fN -R2222:localhost:22 -p 443 XXX ; fi
pi@raspberrypi ~ $ 

esta solução requer ainda outro host instalado e funcionando, através do qual você pode ssh em seu framboesa. mesmo que essa solução não funcione para você, pode funcionar para outras pessoas)

no futuro próximo, estou planejando explorar a opção openvpn também.

    
por 24.04.2015 / 22:45
0

Nikita, você realmente tem algumas opções. Eu configurei os RPs dessa maneira com energia dedicada, mas com apenas uma placa mifi em uma placa.

A solução mais simples é entrar em contato com seu ISP e solicitar um endereço IP NAT público ou estático. A maioria dos provedores de serviços sem fio fará isso, mas eles podem cobrar por isso. A Verizon tem uma cobrança de US $ 500 por conta, mas você pode configurar quantos IPs públicos nos dispositivos da sua conta quiser. Não sei se ou quanto outros provedores cobrariam.

Outra opção é configurar a VPN de um homem pobre com SSH reverso. Isso permite que o Pi crie a conexão com um servidor no qual você pode atravessar a conexão SSH de volta ao dispositivo. Veja este artigo para instruções link

Existem também muitos clientes de administração remota que trabalham apenas para ter em mente que sem um IP público e não um IP NAT privado você terá que fazer o Pi estabelecer a conexão. Felizmente, é assim que a maioria dos clientes opera em redes domésticas, por isso existem muitas soluções.

    
por 24.04.2015 / 21:59

Tags