Acesso à rede interna com PiVPN/WireGuard

Existem alguns serviços que eu quero ter acesso através de uma rede externa, como o Nextcloud, Bitwarden e Plex, no entanto, tenho outras coisas a correr na minha rede interna que não quero expor para a rede externa mas por vezes preciso de acesso para poder fazer algum tipo de manutenção.

Acesso à rede interna com PiVPN/WireGuard

Existem alguns serviços que eu quero ter acesso através de uma rede externa, como o Nextcloud, Bitwarden e Plex, no entanto, tenho outras coisas a correr na minha rede interna que não quero expor para a rede externa mas por vezes preciso de acesso para poder fazer algum tipo de manutenção.

Para resolver o meu problema de um acesso “autenticado” e encriptado a esses serviços, decidi utilizar o PiVPN com o wireguard. Desta maneira, consigo criar um acesso privado à minha rede interna e “teletransportar-me” digitalmente para a minha rede interna, ganhando acesso a esses mesmos serviços.

Instalação

O setup desta VPN é muito simples. e com um simples comando pode-se fazer a instalação.

curl -L https://install.pivpn.io | bash

De seguida é so seguir os passos:

Escolhe-se qual o utilizador que vai ser o dono das configurações:

E depois selecciona-se WireGuard da lista de possíveis VPN’s:

Se utilizarem o PiVPN juntamente com o Pi-hole poderão dizer que querem usar o DNS to Pi-hole, no entanto para este exemplo vou utilizar o DNS da Google.

Esta parte é muito importante, e o ideal é utilizar um serviço de Dynamic DNS (DynDNS, No-IP, selfhost.de, …) para se poder aceder à VPN sempre com o mesmo domínio. Para este exemplo eu estou a usar o meu static IP, no entanto a configuração é igual no caso de se utilizar um domínio.

Depois de um reboot a instalação fica terminada.

Criar um cliente/acesso

Para criar um novo cliente basta abrir um terminal e escrever

pivpn add

Escreve-se um nome para este cliente (pode ser qualquer nome), e a configuração fica criada na pasta /home/{user}/configs como é possível ver no seguinte exemplo:

No telemóvel eu utilizo a app WireGuard para me ligar à VPN, uma coisa muito boa deste aplicação é que é possível ler um QR Code para configurar o nosso cliente no telemóvel, e para obter esse QR Code é só escrever o seguinte no terminal:

pivpn -qr

E depois seleccionar o index da nossa config, neste caso seria 1:

Isto irá imprimir no terminal um QR Code que pode ser lido com a aplicação.

Claro que vai ser necessário abrir as portas correctas no router, no caso de se ter usado a porta que foi apresentada durante a instalação, então a porta 51820 no router terá de ser redireccionada para a mesma porta na máquina.

E pronto, está criada a VPN e é agora possível aceder à rede interna a partir de qualquer lado.

Espero que tenha sido util e qualquer duvida deixem um comentário.