Como criar um servidor VPN com Raspberry Pi

Publicados: 2022-01-29

Quando você pensa em uma VPN, pode imaginar um serviço de assinatura que encapsula o tráfego da Internet por meio de um servidor localizado em outro lugar do mundo. No entanto, esses serviços não são a única maneira de criptografar sua atividade online.

Os serviços de VPN de um clique podem ser ótimos, e existem algumas VPNs que recomendamos se você quiser uma solução simples que funcione imediatamente. Esse serviço tem um custo, no entanto: geralmente cerca de US $ 5 a US $ 10 por mês, sem mencionar a confiança em quem está do outro lado. Para uma opção mais barata que você controla, você pode configurar um OpenVPNserver em um Raspberry Pi (ou certos roteadores) e usar sua própria conexão de internet doméstica como uma VPN enquanto estiver fora de casa.

Esteja ciente de que você não poderá falsificar sua localização para um país estrangeiro ou ocultar sua identidade de olhares indiscretos (já que o tráfego parecerá vir de sua conexão de internet doméstica regular). No entanto, ele ainda oferece segurança extra ao navegar em Wi-Fi público e é bastante útil quando você precisa acessar sua rede doméstica para, digamos, acordar um PC adormecido para que você possa acessar a Área de Trabalho Remota. e vale a pena fazer se você tiver um Pi por aí.

O que você precisará

Para configurar isso, você precisará do óbvio: um Raspberry Pi com todos os acessórios cruciais, como fonte de alimentação e cartão SD. Este guia não requer um sistema operacional especial; você pode simplesmente usar o Raspbian, então confira nosso guia para iniciantes do Raspberry Pifor tudo o que você precisa saber sobre como configurar o básico. (Certifique-se de alterar a senha padrão ao inicializar o Pi pela primeira vez, pois é extremamente importante para a segurança - que, afinal, é o objetivo deste projeto.)

Eu recomendo ter um mouse, teclado e monitor para este passo a passo também - apenas para a configuração inicial - embora não seja estritamente necessário. (Você pode SSH em seu Pi para configurar sua VPN, mas pode ser necessário reconectar no meio do processo, pois alterar as configurações de rede pode fazer com que o Pi perca a conexão.)

Imagem do Raspberry Pi e acessórios relacionados
Tudo o que você precisa para transformar o Raspberry Pi em um servidor VPN

Isso é tudo que você precisa tecnicamente, embora existam algumas outras coisas que eu recomendo. Primeiro, é uma boa ideia configurar uma reserva de DHCP para seu Raspberry Pi, para que seu endereço IP interno não mude com o tempo.

Em segundo lugar, recomendo um serviço de DNS dinâmico. Para acessar seu Pi de longe, você precisará apontá-lo para seu endereço IP público em casa. Isso não é difícil de encontrar, mas pode mudar de tempos em tempos, o que pode quebrar sua VPN até que você a reconfigure. Fazer isso é um pouco trabalhoso, por isso é mais fácil usar um serviço de DNS dinâmico que fornece um endereço fácil de lembrar, que é atualizado sempre que seu endereço IP muda.

Verifique as configurações do seu roteador para ver se ele suporta algum serviço de DNS dinâmico, como DynDNS ou No-IP - alguns deles são assinaturas pagas, mas outros, como No-IP, são gratuitos para uso limitado, o que deve funcionar perfeitamente para nossos propósitos. Não abordaremos todo o processo neste guia, mas recomendo analisar se você achar que seu provedor de Internet continua alterando seu endereço IP público e quebrando sua VPN.

Como instalar o OpenVPN com PiVPN

OpenVPN é um conjunto de software de código aberto que permite configurar uma VPN em praticamente qualquer tipo de hardware. Se você quisesse, você poderia instalar o servidor Linux do OpenVPN no seu Pi e ajustar os arquivos de configuração manualmente, mas há uma solução mais fácil. PiVPN é um conjunto de scripts de código aberto que transformam a configuração do OpenVPN em um assistente fácil de usar, portanto, mesmo que seja sua primeira vez trabalhando com o OpenVPN, você não deve ter muitos problemas para configurá-lo.

Captura de tela do Terminal do Windows
Instale o PiVPN na janela do Terminal do Windows

Portanto, inicialize seu Pi, verifique se todos os softwares estão atualizados e abra uma nova janela do Terminal. Instalar o PiVPN é tão simples quanto executar o seguinte comando:

curl -L https://install.pivpn.io | festança

O script levará alguns minutos para instalar o OpenVPN e, em seguida, o guiará pelo processo de configuração. Primeiro, ele informará que o PiVPN requer um endereço IP estático, para que você possa acessar facilmente seu servidor VPN quando estiver fora de casa. Se você configurar uma reserva DHCP, basta dizer Sim quando o PiVPN perguntar se você está usando uma.

Depois de escolher seu usuário (o usuário Pi padrão é bom, a menos que você tenha outro que deseje usar), o PiVPN perguntará se você deseja usar o WireGuard, um novo protocolo VPN ou OpenVPN. Estou usando o OpenVPN para este guia, então use as teclas de seta para mover o cursor para OpenVPN e pressione Espaço para selecioná-lo antes de pressionar Enter para continuar.

O WireGuard é relativamente novo e mostra muitas promessas, enquanto o OpenVPN é mais popular e amplamente suportado. Se você quiser experimentar o WireGuard, leia mais sobre isso aqui.

Captura de tela do PiVPN
Configure sua VPN com PiVPN

Para as próximas etapas, as configurações padrão são boas para a maioria dos usuários. Você será perguntado se deseja usar UDP ou TDP (você deve escolher UDP, a menos que tenha uma boa razão para não fazê-lo), qual porta você deseja usar (1194 é bom, a menos que outra coisa esteja usando) e qual Provedor de DNS que você deseja usar (qualquer um é adequado).

Um problema: descobri que, apesar de usar um serviço de DNS dinâmico, o PiVPN não aceitaria meu URL personalizado. Se você se deparar com o mesmo problema, apenas diga a ele para usar seu endereço IP público e poderá alterá-lo no arquivo de configuração posteriormente.

Por fim, vale a pena ativar os recursos do OpenVPN 2.4, a menos que você saiba que está usando aplicativos que não os suportam. Escolha o certificado de segurança recomendado quando solicitado — tamanhos maiores garantem melhor segurança, mas podem tornar as coisas mais lentas e não são necessários para a maioria dos usuários. Habilite atualizações autônomas e o PiVPN instalará os pacotes necessários e criará os arquivos de configuração necessários.

Por fim, você pode escolher um DNS para usar ao se conectar à sua VPN. Ignore a adição de um domínio de pesquisa personalizado (a menos que você saiba o que é e queira usar um). Feito isso, você será solicitado a reiniciar seu Pi.

Captura de tela do PiVPN
Dê um nome ao seu cliente

Após a reinicialização, você precisará abrir uma janela do Terminal e executar:

pivpn adicionar

Dê um nome ao arquivo de configuração (eu escolhi whitson-laptop), defina quantos dias o certificado dura (o valor padrão é bom) e digite uma senha de sua escolha (certifique-se de que é forte). Ele irá gerar um arquivo .ovpn para você em /home/pi/ovpns, que você precisará conectar à sua VPN—copie-o para o seu PC e mantenha-o em algum lugar seguro.

O PiVPN recomenda repetir esse processo para outros dispositivos, portanto, se você tiver outros laptops ou telefones nos quais deseja usar esta VPN, execute novamente este comando para gerar seus próprios arquivos de configuração agora.

captura de tela do aplicativo Bloco de Notas
Substitua o endereço IP pelo seu URL personalizado

Aqui é onde eu tive que fazer uma edição no meu arquivo .ovpn. Se você estiver usando um serviço de DNS dinâmico como eu, abra o arquivo no Bloco de Notas (ou no editor de texto de sua escolha) e substitua seu endereço IP na linha 4 pelo seu URL personalizado. Se você tiver problemas para se conectar à sua VPN, esta é a primeira linha com a qual eu mexeria - isso me causou problemas no passado com vários geradores de configuração do OpenVPN.

A partir daqui, seu Pi deve estar pronto, mas você precisará fazer mais uma coisa antes de se conectar: ​​encaminhar a porta da sua VPN no seu roteador. Esse processo varia de roteador para roteador, mas é assim: você faz login na página de configuração do seu roteador, encontra a opção de encaminhamento de porta e encaminha a porta 1194 para o endereço IP interno do seu Pi. Você pode encontrar instruções mais detalhadas para roteadores específicos em portforward.com.

Conecte-se à sua VPN de qualquer lugar

Você está na reta final agora porque o resto é super fácil. Para se conectar à sua VPN quando estiver fora de casa, você precisará de um aplicativo VPN, ou "cliente", capaz de se conectar ao seu servidor OpenVPN. O OpenVPN tem um cliente oficial chamado OpenVPN Connect, que está disponível no Windows, macOS, Linux, iOS e Android.

Você pode pegá-lo na página inicial do OpenVPN - basta rolar para baixo até Começar com o OpenVPN Connect e clicar na plataforma de sua escolha. Existem também programas populares de terceiros como Viscosity(Windows/Mac) e Tunnelblick(Mac) que fornecem opções extras para usuários avançados. Você pode ver outros clientes OpenVPN nesta página na comunidade OpenVPN.

Captura de tela do OpenVPN
Gerencie sua VPN com OpenVPN

Inicie o aplicativo OpenVPN Connect e clique na guia "Arquivo" para adicionar um novo perfil. Navegue até o arquivo de configuração que você copiou do Pi (novamente, o meu foi chamado whitson-laptop.ovpn) e selecione-o. Clique no botão Adicionar e você pode se conectar à sua VPN ativando o botão de alternância e digitando sua senha.

Depois de fazer isso, todo o seu tráfego será criptografado e roteado por meio de sua conexão de internet doméstica onde o Pi reside. Seu tráfego estará protegido contra olhares indiscretos no Wi-Fi da cafeteria, e você poderá acessar quaisquer recursos em sua rede doméstica como se estivesse lá - sem necessidade de taxa de assinatura.