Quantcast

Transforme o seu Raspberry Pi num servidor de VPNs

25 Comentários

….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.

rasp_08

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.

vpn_01

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

rasppi

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

Comentários

25
  1. PM

    Mais uma vez um excelente tutorial 🙂

  2. RM
    Ricardo Macedo

    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

  3. AL
    Alex

    Isso tambem é possivel fazer com uma Fonera/OpenWRT já há muitos anos mantendo ao mesmo tempo todas as funções como roter.

    1. LM
      lmx

      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

    2. LM
      lmx

      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

  4. PA
    Pedro A.

    Mal posso esperar pela continuação do artigo 🙂

  5. FR
    Filipe Nunes Rodrigues

    Finalmente… Tanto que eu esperei por este topico

  6. NU
    NUNAO

    Bom artigo. Raspberry pi for tha win 😀

  7. JM
    JMCS

    Uma vez tive de instalar a OpenVPN num servidor Linux e configurar os clientes de repente e sem nunca a ter testado, mas funcionou…

  8. NC
    Nuno Carvalho

    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

  9. LF
    Luis Ferreira

    Ola,
    Gostaria de saber quando vcs irao postar a segunda parte deste tutorial….

    Grato,
    Luis Ferreira

    1. PP

      Boas Luis,

      Brevemente 🙂

      1. MS
        MR Soares

        Espero que sim 🙂

  10. MM
    Marco Martins

    Venha a parte do cliente 🙂

  11. LF
    Luis Ferreira

    Boa Noite…
    Jah postaram a Parte II ???

  12. HM
    Hugo Moita

    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” ?

  13. DI
    Diogo

    Boa noite.
    Já fizeram um tutorial com a segunda parte? Configurar no router e o cliente?
    Obrigado

    1. HF
      Hugo F.

      Chegaram a fazer a continuação do tutorial?

  14. EF
    Eduardo Fernandes

    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

    1. SH
      Shaxine

      Recomendo a executares os passo todos dentro da shell de root, para isso faz “sudo -s” e quando quiseres sair escreves “exit”

  15. ES
    Esteves

    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,?

  16. DA
    Daniel

    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

  17. AS
    Andre Simoes

    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

  18. LG
    Luís Geraldes

    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.

    1. AP
      António Pereira

      Boas, sim é. Aliás, estou agora mesmo a fazer isso.

Deixe um comentário