Transforme o seu Raspberry Pi num servidor de VPNs
….com OpenVPN
O Raspberry Pi é um dos mini PCs mais populares e potentes, que tem servido de base a muitos projectos interessantes (pode consultar os projectos na página do projecto aqui). Este mini equipamento, do tamanho de um cartão de crédito é capaz de reproduzir vídeo com qualidade Blu-ray e renderizar gráficos 3D, entre outras tarefas.
No seguimento da nossa parceria com a INMotion e depois de termos apresentado uma lista de componentes essenciais e também opcionais, de termos ensinado a instalar o RaspbianOS no mini PC e também de termos realizado as primeiras configurações e muito mais (ver artigos no final), hoje vamos aprender a transformar o Raspberry Pi num servidor de VPNs.
Para que serve uma VPN?
Antes de passarmos à configuração de um servidor de VPN no Windows, vamos explicar o conceito de VPN usando um exemplo. Vamos considerar uma empresa que revende vários tipos de chocolates e que tem “na rua” vários vendedores que tentam vender esse produtos às lojas.
Esses vendedores trazem normalmente consigo um smartphone/tablet ou um PC para registar/validar de imediato as encomendas no sistema de stocks/encomendas interno da empresa. No entanto, como o vendedor está “na rua”, ligado a uma rede pública (Internet), como fazer para se ligar em segurança (a partir do exterior) ao servidor interno da empresa onde está o sistema de stocks/encomendas? As VPNs (Virtual Private Network) são uma das soluções!
Uma rede privada virtual (VPN – Virtual Private Network ) é uma rede cifrada e privada criada em cima da Internet, de maneira a garantir privacidade na comunicação entre os vários computadores. Imagine que está ligado a uma rede pública, num dos locais referenciados aqui, e quer garantir que a sua ligação é segura. Para isso, pode fazer uso do seu Raspberry Pi que está em casa, e forçar que as ligações sejam cifradas, passando pelo seu mini PC.
Como instalar o OpenVPNno PI?
O OpenVPN é um software multi-plataforma que permite a criação de uma VPN entre várias máquinas com sistemas operativos diferentes. Para proceder à instalação e configuração do OpenVPN e OpenSSL (obrigadtório para a criação de certificados para o serviço), devem seguir os seguintes passos:
Passo 1) Instalar o openvpn e openssl
sudo apt-get install openvpn openssl |
Passo 2) Após a instalação, é necessário gerar as chaves para o servidor e client. O openvpn traz já uma estrutura de exemplo, designada de easy-rsa-tool, na qual podemos-nos basear para configurar a nossa VPN. Para isso, vamos usar essa estrutura em /etc/openvpn, copiando-a de /usr/share/doc/openvpn/examples/easy-rsa
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn cd /etc/openvpn/easy-rsa/2.0 |
Passo 3) A ferramenta easy-rsa-tool inclui um ficheiro chamado “vars” que podemos editar e mudar alguns parametros definidos por omissão. para carregar essa informação basta usar o comando
. ./vars |
Nota: De referir que é necessário colocar um espaço entre os dois pontos.
Passo 4) Vamos agora gerar as chaves para o cliente e servidor, usadas para cifrar a comunicação. Para isso usamos os seguintes comandos ( o processo é idêntico ao já referido aqui):
./clean-all ./build-ca ./build-key-server server ./build-key client-name ./build-dh |
Passo 4) Vamos agora copiar as chaves para dentro da estrutura do OpenVPN, usando os comandos
cd /etc/openvpn/easy-rsa/2.0/keys cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn |
Passo 5) O ultimo passo consiste em configurar o servidor propriamente disto. Para isso, basta usar simplesmente os seguintes comandos que consiste em usar a configuração presente em server
.conf.
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn gunzip /etc/openvpn/server.conf.gz |
Passo 6) Vamos agora reiniciar o serviço openvpn
/etc/init.d/openvpn start |
Se tudo correr bem, podemos ver se o tunel já está criado usando o comando
ifconfig tun0 |
Com as configurações anterior, criamos a parte do servidor. Num próximo tutorial iremos ensinar a configurar um cliente e também um router, de forma a podermos estabelecer ligação VPN a partir de qualquer lugar. Estejam atentos, será em breve.
Artigos sobre o Raspberry Pi
Este artigo tem mais de um ano
Mais uma vez um excelente tutorial 🙂
Excelente tutorial!
Se me pudessem esclarecer uma duvida, eu pretendo ter uma TV ligada a internet, a passar vários vídeos que estariam num servidor, para eu a distância puder alterar o “alinhamento” dos vídeos e adicionar/remover. A minha ideia seria utilizar um Pi ligado a TV para fazer esse apoio, é possível?
Obrigado
Isso tambem é possivel fazer com uma Fonera/OpenWRT já há muitos anos mantendo ao mesmo tempo todas as funções como roter.
Boas , sim as Vpns ja são utilizadas ha muitos anis e existem diversas formas de as criar…embora o conceito seja o mesmo…
cmps
Boas , sim as Vpns ja são utilizadas ha muitos anos e existem diversas formas de as criar…embora o conceito seja o mesmo…
cmps
Mal posso esperar pela continuação do artigo 🙂
Finalmente… Tanto que eu esperei por este topico
Bom artigo. Raspberry pi for tha win 😀
Uma vez tive de instalar a OpenVPN num servidor Linux e configurar os clientes de repente e sem nunca a ter testado, mas funcionou…
Muito obrigado desde já pela vossa crónica!
Um próximo tutorial podia ser como utilizar o Raspberry Pi com Skype para se fazer video chamadas (instalar uma webcam!)
Cumprimentos
Ola,
Gostaria de saber quando vcs irao postar a segunda parte deste tutorial….
Grato,
Luis Ferreira
Boas Luis,
Brevemente 🙂
Espero que sim 🙂
Venha a parte do cliente 🙂
Boa Noite…
Jah postaram a Parte II ???
Realmente parece muito bem criar uma VPN, não só por motivos de seguraça(não vá alguem pedir emprestado a minha rede wireless) mas também pela parte de aceder remotamente a conteudos na rede de casa.
Grande tuturial, fico esperando pela segunda parte 🙂
Pergunta, já tenho o meu Pi a bombar com o xmbc foi a melhor coisa que já fiz 🙂 será que ele aguenta se meter mais a “VPN” ?
Boa noite.
Já fizeram um tutorial com a segunda parte? Configurar no router e o cliente?
Obrigado
Chegaram a fazer a continuação do tutorial?
Boa noite! Antes de mais parabéns por este tutorial.
Acontece que tenho uma dúvida. Quando faço “./build-ca” dá erro, porque não tem permissões de escrita, então eu faço “sudo ./build-ca” mas não dá porque diz que tenho de fazer “source ./vars” e faço e volto ao mesmo!
Obrigado pela atenção,
Cumprimentos,
Eduardo Fernades
Recomendo a executares os passo todos dentro da shell de root, para isso faz “sudo -s” e quando quiseres sair escreves “exit”
Boas, numa pesquisa pela net encontrei algo interessante, o que talvez me venha a dar jeito.
Mas tenho umas duvidas!!!
O Raspberry Pi 2 Model B 1GB pode aguentar quantas ligações em simultâneo onde cada uma é de pouco consumo, ( bits ou bytes ) por utilizador,?
Boas noites a todos, costumo acompanhar-vos a muito tempo, adquiri um rasp.pi ja fiz algumas brincadeiras…
Ao realizar este tutorial deparo me que este só funciona dentro da minha rede ou seja ligar me a vpn do endereço 192.168…. o que não tem grande interesse
Tenho o router tg784 da meo e dns dynip.sapo.pt configurei a porta 1194 e encaminhei para o rasp.pi e deparo me que nao me consigo chegar la atravez do meu “nome” dns
Depois de algumas pesquisas na internet encontrei uns comandos para iptables, nada resolveram…
Venho pedir ajuda para solucionar o problema e depois duas questoes que na minha opiniao podem ser o problema
Firewall do router nunca mexi ta como padrao
Raspberry pi com raspberrian (sem gui), aceita ligações do exterior por defeito???
Muito grato
DAniel Almeida
Boa tarde. Tenho uma questão referente ás vpns.
Imaginemos tenho o gatway com gama 192.168.1.0, e vpn a correr noutro router cuja gama é 192.168.0.0, o router com vpn está ligado ao gatway por cabo.
A minha questão é a seguinte eu ao aceder á vpn não queria ter acesso aos equipamentos que estão na gama 192.168.1.0 e aos da gama 192.168.0.0. so quero que quem aceda á vpn aceda a uma máquina, neste caso o raspeberri.
Isto é possivel só com a vpn ou tem que ser criada uma vlan?
Cumps
Boas, tenho uma questão. É possível usar este VPN para a nossa rede através da eduroam, de forma a poder jogar um joguito na mesma? Este está bloquado quando ligado pela rede eduroam, assim com VPN talvez já funcionasse.
Boas, sim é. Aliás, estou agora mesmo a fazer isso.