Neste artigo, encontrará um tutorial sobre como configurar um servidor VPN a partir de um Raspberry Pi utilizando o software OpenVPN. Também explicarei como garantir que a sua ligação é tão segura quanto possível, configurando chaves de encriptação.
Este projeto pode ser um pouco longo, mas é um tutorial relativamente simples de seguir e não deve exigir qualquer outra interação depois de ter sido configurado.
Utilizar um Raspberry Pi é uma forma económica de configurar uma rede privada virtual (VPN) que pode ficar online 24 horas por dia, 7 dias por semana, sem consumir grandes quantidades de energia. O Raspberry Pi é pequeno e suficientemente potente para lidar com algumas ligações de cada vez, o que o torna ideal para uso privado em casa.
As VPNs são uma ferramenta de rede incrivelmente útil que lhe pode dar acesso a tráfego de Internet encriptado e seguro, mesmo quando utiliza uma rede Wi-Fi pública. Mas também pode utilizá-la para se ligar ao seu próprio computador e aceder à rede doméstica. Permite que outros dispositivos fora da sua rede local actuem como se estivessem na rede local do servidor VPN. Por exemplo, se tiver um Servidor NAS a que pretende aceder quando está em movimento, um servidor VPN será extremamente útil para garantir o acesso a esse servidor.
O que precisa para criar o seu próprio servidor VPN
Abaixo estão todos os elementos que usei para este tutorial sobre o servidor VPN Raspberry Pi. Não há nada de especial para além do hardware básico.
Uma framboesa (funciona com todos os modelos Raspberry, mesmo o Pi zero)
Um cartão micro SD (mínimo 8 GB)
Um cabo de Internet ou um adaptador Wifi (para modelos Raspberry sem Wifi)
Uma caixa de framboesas (opcional)
Teclado e rato USB (opcional)
Preparar o Raspberry Pi
Antes de começar a configurar o servidor VPN Raspberry Pi, há algumas coisas a verificar para ter a certeza de que está pronto para o configurar e utilizar.
Antes de mais, para este tutorial, é importante saber que estou a usar uma versão limpa do Raspbian. Se ainda não o instalou e quer aprender como o fazer, encontrará muitos tutoriais online sobre como instalar o Raspbian num Raspberry.
Em primeiro lugar, certifique-se de que precisa mesmo de uma VPN antes de começar a configurá-la, uma vez que pode funcionar como uma porta de entrada para a sua rede doméstica.
Se tenciona utilizar uma VPN, certifique-se de que todos os computadores da sua rede doméstica são seguros e de que não partilha nada na sua rede local a que não queira que ninguém aceda.
Preparar o endereço IP do seu servidor VPN
É importante decidir se vai utilizar um endereço IP ou um endereço IP dinâmico. A configuração de uma VPN para um endereço IP estático é um processo bastante simples e não requer trabalho adicional.
No entanto, se pretender utilizar um endereço IP dinâmico, deve configurar o DNS dinâmico previamente. Terá então de decidir se pretende utilizar o seu próprio nome de domínio ou um nome de domínio gratuito. Se pretender utilizar o seu próprio nome de domínio, pode utilizar um serviço como o CloudFlare. Se pretender utilizar um subdomínio gratuito, um serviço como o no-ip.org será útil.
Lembre-se do nome de domínio que configurou para qualquer um dos seguintes itens Cloudflare ou no-ip.org porque vai precisar dele mais tarde no tutorial.
Encaminhamento de portas para a VPN do seu Raspberry Pi
A terceira coisa importante que precisa de fazer antes de começar a configurar o seu Raspberry Pi é redirecionar a porta para o software OpenVPN.
A porta predefinida que precisa de redirecionar é 1194
. Não se esqueça da porta que definiu, pois vai precisar dela mais tarde no tutorial. O protocolo que precisa de utilizar para esta porta é o seguinte UDP
.
Instalar o servidor VPN
1. Configurar um servidor VPN Raspberry Pi pode ser um processo bastante complicado, normalmente é necessário instalar o software, gerar as chaves de encriptação, adicionar a porta à firewall, configurar o Pi para manter um endereço IP estático e muito mais.
Felizmente para nós, há uma forma muito mais simples de configurar um servidor VPN Raspberry Pi usando um script de instalação chamado PiVPNque trata de todo o trabalho envolvido na configuração de uma VPN e reduz o risco de erro.
Antes de começarmos, temos de alterar a palavra-passe predefinida do utilizador do Pi, para garantir que, se alguém conseguir aceder à sua VPN, não conseguirá aceder facilmente ao seu Raspberry Pi.
passwd
2. Uma vez que a password tenha sido alterada, podemos começar a configurar o nosso servidor VPN na Raspberry Pi. Podemos iniciar este processo executando o comando abaixo, este comando descarrega o script de instalação a partir do ficheiro Página do PiVPN no GitHub e executa-o.
Normalmente, executar um script diretamente a partir de um URL não é uma boa ideia, pois pode ser uma forma fácil de alguém obter acesso ao seu Raspberry Pi e causar sérios danos.
No entanto, esta é uma fonte fiável que verificámos, por isso, se quiser verificar o código por si próprio, basta ir a a localização do guião.
enrolar -L https://install.pivpn.io | bash
3. Depois de ter executado o comando acima, deve aparecer o seguinte ecrã. Este ecrã contém um texto que lhe diz que está prestes a instalar o OpenVPN.
Para passar ao ecrã seguinte, prima o botão ENTRAR.
4. O ecrã seguinte explica que é necessário configurar um endereço IP estático para a sua VPN.
Isto significa que quando o Raspberry Pi for reiniciado, tentará usar o mesmo endereço IP. Se o endereço IP local mudar, pode perder o acesso à sua VPN.
5. Ser-lhe-á agora perguntado se está a utilizar uma reserva DHCP no seu router.
Se não souber o que é uma reserva DHCP ou como utilizá-la, seleccione <No>
para continuar.
6. Seleccione aqui <Yes>
para definir o endereço IP e a gateway atual como estática.
Se não estiver satisfeito com o endereço IP apresentado nesta página, seleccione <No>
.
7. Este ecrã avisa-o de que o seu router pode estar a atribuir o endereço IP a outro dispositivo.
Pode utilizar as reservas DHCP para evitar este problema. No entanto, a maioria dos routers é suficientemente inteligente para evitar este problema.
Para continuar, selecionar <Ok>
e premir o botão ENTER.
8. Este ecrã explica que temos de definir um utilizador que será o proprietário dos ficheiros de configuração do OpenVPN.
Selecionar <Ok>
e prima ENTRAR para passar ao ecrã seguinte.
9. É-nos apresentada uma lista de utilizadores que podem possuir os ficheiros de configuração VPN para o nosso Raspberry Pi.
Neste tutorial, usaremos o pi
. Se pretender utilizar outro utilizador, utilize a opção SETA e BARRA DE ESPAÇO para o selecionar.
Quando estiver satisfeito com a sua seleção, prima o botão ENTRAR para continuar.
10. É-lhe agora pedido que seleccione o tipo de VPN que pretende instalar no seu Raspberry Pi.
As duas opções são o WireGuard e o OpenVPN.
Para este guia, vamos utilizar o OpenVPN no nosso Raspberry Pi (1.). Utilizar o SETA e o BARRA DE ESPAÇO para o selecionar.
Depois de ter selecionado OpenVPN
premir o botão ENTRAR para continuar (2.).
10. Agora pode decidir se quer personalizar a instalação do OpenVPN no seu Raspberry Pi.
As definições escolhidas pela equipa do PiVPN são as melhores para a maioria dos utilizadores. No entanto, pode alterá-las se assim o desejar.
Para o nosso guia, vamos manter as definições predefinidas.
Para continuar, selecionar <No>
e, em seguida, prima o botão ENTRAR.
11. Vamos agora selecionar a porta através da qual o OpenVPN irá operar.
Para este tutorial, vamos manter a porta padrão de 1194
. Só deve alterar o porto se tiver uma boa razão para o fazer.
Uma vez definida a porta, selecionar <Ok>
e prima ENTRAR.
14. Ser-lhe-á pedido que confirme a porta que definiu para a instalação do OpenVPN.
Se estiver satisfeito com o porto escolhido, seleccione <Yes>
para continuar.
15. O passo seguinte é selecionar um fornecedor de DNS. Um fornecedor de DNS é aquele que resolve um URL como https://monserveurnas.com
num endereço IP.
No nosso guia, vamos utilizar os servidores DNS da Cloudflare. O Cloudflare limpa os seus registos a cada 24 horas e não rastreia o endereço IP do pedido.
Para selecionar o Cloudflare ou outro fornecedor de DNS, é necessário utilizar a opção SETA (1.).
Depois de passar o cursor sobre o fornecedor de DNS pretendido, prima o botão BARRA DE ESPAÇO para o selecionar.
Quando tiver a certeza de que fez a escolha certa, pode premir o botão ENTRAR para continuar.
16. Terá de decidir se pretende utilizar o seu endereço IP público ou um nome DNS.
Se estiver a utilizar um endereço IP dinâmico, recomendamos que utilize a opção de nome DNS público. Como estamos a utilizar um endereço IP público estático, utilizaremos apenas o nosso endereço IP público para este guia.
É possível mudar de uma opção para outra utilizando o botão SETA . Quando tiver encontrado o que pretende, prima o botão BARRA DE ESPAÇO para o selecionar.
17. Este próximo passo diz-lhe simplesmente que o script PiVPN está prestes a gerar a chave HMAC e a chave do servidor.
Estas chaves fazem parte da parte encriptada da VPN do seu Raspberry Pi.
Prima o botão ENTRAR para continuar o guia.
18. Vamos agora dar uma explicação simples sobre as actualizações automáticas.
Esta função permite que o sistema operativo Raspberry Pi descarregue automaticamente actualizações de segurança numa base diária.
Prima o botão ENTRAR para aceder à página de configuração deste parâmetro.
19. Neste ecrã, recomendamos vivamente que active as actualizações automáticas seleccionando <Yes>
. Ao ativar esta opção, pode garantir que o seu Raspberry Pi tem sempre as últimas actualizações.
Deixar esta função desactivada pode representar um risco de segurança significativo para a VPN do seu Raspberry Pi e potencialmente para a sua rede doméstica.
Depois de o ter feito, prima o botão ENTRAR para confirmar as suas definições.
20. Terminou agora a instalação do OpenVPN no seu Raspberry Pi.
Embora ainda haja alguns elementos a completar para permitir as ligações, já percorreu cerca de 90 % deste guia de instalação.
21. Agora, seremos recebidos por um ecrã que nos pede para reiniciar o Raspberry Pi.
Selecionar a opção <Yes>
nos dois ecrãs seguintes, premindo a tecla ENTRAR.
Reiniciar o Raspberry Pi depois de instalar o OpenVPN é um passo crucial.
Configurar o primeiro utilizador OpenVPN
1. Normalmente, configurar um utilizador para o OpenVPN seria um processo tedioso, pois teria de gerar os certificados individuais para o utilizador, felizmente podemos fazer isto num único comando graças ao PiVPN.
Para começar a adicionar o utilizador, execute o seguinte comando:
sudo pivpn adicionar
Neste ecrã, é necessário introduzir um nome para o cliente, e este nome será utilizado como um identificador para que se possa diferenciar entre diferentes clientes.
Também lhe pedirá para definir um palavra-passe para o cliente, e é importante que esta palavra-passe seja segura e difícil de adivinhar, uma vez que irá proteger a chave de encriptação.
Assim, se alguém conseguir adivinhar facilmente a palavra-passe, isso reduz consideravelmente a segurança da sua VPN.
Depois de premir Enter, o script PiVPN irá pedir ao Easy-RSA para gerar a chave privada RSA de 2048 bits para o cliente e, em seguida, armazenar o ficheiro na pasta /home/pi/ovpns
.
/home/pi/ovpns
é a pasta a que teremos de aceder nos próximos passos para copiar o ficheiro gerado para os nossos dispositivos.
Certifique-se de que guarda estes ficheiros num local seguro, uma vez que são o seu único meio de aceder à sua VPN.
2. Agora que o nosso novo cliente foi configurado para OpenVPN com a nossa frase-chave, precisamos agora de a enviar para o dispositivo a partir do qual nos pretendemos ligar.
A forma mais fácil de o fazer é utilizar o SFTP a partir da sua rede doméstica.
Certifique-se de que instalou um programa como o FileZilla que pode lidar com ligações SFTP antes de continuar com este tutorial.
Para começar, vamos ligar-nos ao nosso Raspberry Pi através de SFTP. Não te esqueças de escrever sftp://
em frente do endereço IP do seu Raspberry Pi.
Se não tiveres o endereço local do teu Pi, usa o comando nome do anfitrião -I
no terminal.
Depois de introduzir o seu endereço IP, nome de utilizador e palavra-passe, prima o botão de ligação rápida.
3. Depois de ter iniciado sessão com sucesso, temos de procurar o ficheiro ovpns porque é aí que está o ficheiro de que precisamos.
Depois de encontrar o ficheiro, fazer duplo clique em neste caso.
4. Tudo o que precisamos de fazer agora é arrastar o .ovpn
que deseja manter num local seguro no seu computador. Este ficheiro contém os dados de que necessitaremos para nos ligarmos à VPN.
É também a única forma de alguém poder aceder à sua VPN, pelo que é muito importante manter a frase-chave e o ficheiro seguros.
Se alguém aceder a ele, poderá causar danos na sua rede.
5. Agora temos o .opvn
no nosso dispositivo, podemos utilizá-lo para estabelecer uma ligação com a nossa VPN.
O .opvn
contém tudo o que é necessário para estabelecer uma ligação segura. Contém o endereço Web a que nos devemos ligar e todos os dados de encriptação necessários.
A única coisa que não contém é a sua frase-chave, pelo que terá de a introduzir quando se ligar à VPN.
O cliente que vamos utilizar é o cliente OpenVPN oficial, que pode ser obtido no sítio Web oficial do OpenVPN.
Descarregue e instale este cliente, a primeira vez que for executado minimiza-se automaticamente na barra de tarefas, clique com o botão direito do rato no ícone e seleccione "Importar um ficheiro...".
6. É apresentado um ecrã do explorador de ficheiros, onde pode navegar para o local onde guardou o ficheiro .opvn de antes.
Depois de o encontrar, clicar duas vezes o ficheiro a ser importado para o cliente OpenVPN.
7. Deverá agora ver uma caixa de diálogo que lhe diz que o ficheiro foi importado com sucesso para o OpenVPN.
Só clique o " OK"para continuar.
8. Agora clique com o botão direito do rato o ícone do cliente OpenVPN na barra de tarefas, desta vez clique o botão " Ligar" .
9. O cliente OpenVPN tentará agora ler os dados no ficheiro .opvn
.
Como definimos uma frase-chave, ser-lhe-á pedido que introduza a frase-chave que definiu anteriormente neste tutorial.
Quando tiver a certeza de que introduziu a frase-passe correcta, clique o botão " OK" .
10. O cliente OpenVPN irá agora tentar ligar-se ao servidor VPN no seu Raspberry Pi. Se o ícone do OpenVPN ficar verde, a ligação à sua VPN foi bem sucedida.
No entanto, se o ícone ficar amarelo e não voltar a ficar verde após 60 segundos, isso significa que algo está a causar a falha da ligação.
Na maioria dos casos, a falha de ligação deve-se a problemas de reencaminhamento de portas. O meu router, por exemplo, tem muitos problemas de reencaminhamento de portas.
A forma mais fácil é pesquisar no Google o número de modelo do seu router para tentar encontrar ajuda sobre os problemas que pode encontrar com o reencaminhamento de portas.
Alguns fornecedores de serviços Internet (ISP) também bloqueiam portas específicas. Por conseguinte, é aconselhável verificar se o seu ISP não bloqueia a porta que tenciona utilizar.
Se utilizar um DNS dinâmicoCertifique-se de que o serviço está corretamente atualizado com o seu endereço IP mais recente. Se o endereço IP tiver sido alterado mas a definição de DNS não, a ligação falhará.
Com um pouco de sorte, tem agora uma VPN totalmente funcional à qual se pode ligar com êxito.
Desinstalar a VPN no seu Pi
1. Se, por qualquer razão, desejar remover a sua VPN do seu Raspberry Pi, pode simplesmente usar o seguinte comando.
Este comando utilizará o software pivpn para desinstalar o túnel VPN.
sudo desinstalação do pivpn
Espero que este tutorial vos tenha mostrado como configurar um servidor VPN Raspberry Pi e que não tenham encontrado quaisquer problemas. Este é certamente um ótimo projeto para quem quer criar uma rede VPN permanente e barata.
Este tutorial é da Pimylifeup a quem agradecemos. Se tiver algum comentário, conselho ou problema que gostaria de partilhar, não hesite em deixar um comentário abaixo.