Por favor, ajude-me a descobrir qual caminho de implementação seguir para a seguinte tarefa:
Eu tenho um dispositivo blackbox que funciona como um servidor da Web (posso conectar-me localmente digitando seu endereço IP no campo de endereço do navegador.) A caixa não implementa nenhuma medida de segurança, exceto o nome de usuário simples e uma senha. Isso certamente é bom quando esse servidor está em uma rede isolada, mas eu desejo ter acesso a ele da Internet - isso é de qualquer lugar do mundo. Com isso, desejo usar a segurança TLS para criptografia de dados.
Tendo disponível um Rasbperry PI (e o software openVPN), achei que ele se encaixaria nessa aplicação. Há muitos tutoriais diferentes sobre como implementar VPN, bridge, roteador e firewall usando o Raspberry PI, mas não consigo descobrir qual das quatro funcionalidades é adequada para o meu aplicativo. O diagrama conceitual é mostrado abaixo:
ORaspberryPiteráduasinterfacesderedeparaacessoàinternet:umaatravésdeethernetdeaterramento(eth0),aoutra-usandointernetdecelular(eth1)-quejáestádisponível,favorecendoaconexãoàinternetemterra.OsendereçosIPdasduasinterfacesserãoconhecidos.Aterceirainterfaceethernet(eth2)seráconectadaàredelocalatravésdoswitch.Oservidortambémseráconectadoaoswitch.Eunãotenhocontrolesobreoservidor(éumacaixapreta)-eusóseiseuendereçoIP.
AidéiaéqueoPIdeframboesafuncionecomoumintermediárioentremimeoservidor,paraqueeupossaconectarcomsegurançaaoseuaplicativodawebusandomeunavegadordaweb.MasqualfuncionalidadeoRaspberryPideveimplementar:VPN,roteador,bridgeoufirewall?
EDITAR:
Atarefaqueafirmeiacimaeramuitodifícilparamim(faltadecompetência)edecidisimplificaraconfiguraçãoparacomeçar.Eunãoqueriaremoverapartesuperiordaquestãoapenasparaocasodealguémaencontraresuasrespostascorrespondentesseremúteis.Emvezdisso,minhanovaconfiguração(simplificada)teriaaseguinteaparência:
ORPseriaconectadoàInternetpormeiodainterfaceppp0edirecionariatodootráfegoparaainterfaceeth0queseriadiretamenteconectadaoservidor:
1.dynamicppp0IPaddress(givenbycellserviceprovider)2.staticeth0IPaddress(assignedbyme)3.non-secureinternetconnection4.RPisconnectedtotheserverdirectly(noswitchneeded)
Encontreiváriassoluções,como this e isto , mas eles não explicam claramente porque as coisas são feitas dessa maneira. Eles também fornecem diretivas de linha de comando que eu não sei como desfazer . Em vez disso, gostaria que alguém fizesse referência aos arquivos de sistema / configuração reais que eu poderia editar e reverter, se necessário.
Atualmente, quando conecto o RPi ao servidor da web, posso navegar pelo navegador da web. O objetivo é poder acessar o servidor web da internet através do RPi. Alguém poderia fornecer um tutorial educacional sobre como configurar corretamente o roteamento, levando em consideração que a interface ppp0 iria para CIMA e PARA BAIXO dependendo da conectividade celular, bem como seu endereço IP seria diferente e desconhecido todas as vezes.