Túnel privado VPN

Como criar sua própria VPN Wireguard com uma linha de comando

Uma VPN é uma ferramenta muito importante para sua segurança e privacidade, especialmente quando se faz uso de redes WiFi públicas. Hoje você verá como criar sua VPN Wireguard, mas se quiser tem outras opções também.

Uma VPN cria um túnel criptografado entre você e seu servidor, impedindo que pessoas mal intencionadas ou mesmo seu provedor de internet saibam o que você faz online e por onde navega.

Primeiros passos

Você vai precisar de um servidor VPS, como um da Vultr que é barato. Também vai precisar ter conhecimentos básicos de acesso e operação de um terminal SSH de um sistema Linux.

Aqui você não vai precisar de um domínio, já que pode usar o IP do servidor VPS diretamente. Também vamos usar um script que vai te fazer umas perguntas e realizar todo o trabalho pesado pra você.

Esse script foi desenvolvido por angristan e está disponível no Github. É compatível com Ubuntu, Debian, Fedora, CentOS, AlmaLinux, Arch Linux e Oracle Linux. Neste tutorial vamos usar o Debian 11 na Vultr.

Escolha a localização que desejar para seu servidor VPS sabendo que é a partir dela que seu tráfego vai sair e também será a localização que os sites e serviços vão pensar que você se encontra.

Por exemplo, se seu VPS estiver em Londres, todos os sites que você acessar quando estiver conectado na VPN pensarão que você está fisicamente em Londres também.

Só para garantir, digite apt update; apt install ufw curl no terminal SSH do seu VPS para ter certeza de que esses programas básicos estão instalados e assim você não terá erros no decorrer do tutorial.

O resto é o script quem lida. Sem mais delongas, vamos prosseguir.

Instalando a VPN Wireguard

Agora vem a parte difícil: copiar o comando abaixo e colar na janela do terminal SSH do seu servidor virtual:

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh; chmod +x wireguard-install.sh; ./wireguard-install.sh

Eu sei, foi cansativo. O script então fará algumas perguntas:

  • IPv4 or IPv6 public address: aqui ele pede o IP público do seu VPS, o que deve ter sido detectado automaticamente. Caso esteja errado, corrija. Caso esteja certo, aperte Enter;
  • Public interface: nome da interface de rede pela qual seu servidor acessa a internet, como eth0 ou enp1s0. O script deve ter detectado automaticamente e se estiver tudo certo, pressione Enter;
  • WireGuard interface name: nome da interface virtual a ser criada pela VPN. Por padrão é wg0 e não temos motivos para alterar isso, portanto aperte Enter;
  • Server’s WireGuard IPv4: esse é o endereço IPv4 do servidor da sua VPN. Por padrão é 10.66.66.1, mas caso saiba o que está fazendo e queira usar outra faixa, fique à vontade para alterar ela aqui. Aperte Enter para continuar;
  • Server’s WireGuard IPv6: mesmo princípio da pergunta anterior, mas caso não queira mudar nada, aperte Enter;
  • Server’s WireGuard port: porta utilizada pelo servidor para se comunicar com os clientes. Por padrão o script seleciona uma aleatória, mas caso queira mudar fique à vontade. Aperte Enter para prosseguir;
  • First DNS resolver to use for the clients: IP de um servidor DNS a ser enviado para os clientes e usado por eles para resolver endereços. Por padrão o script usa IPs do AdGuard, mas caso queira mudar a hora é agora. Aperte Enter para continuar;
  • Second DNS resolver to use for the clients: opcionalmente defina um segundo IP de algum servidor DNS que será enviado para os clientes. Por padrão é usado o AdGuard. Aperte Enter para continuar;

Complicado, né? E isso é tudo que o script precisa inicialmente. Agora é apertar Enter de novo e esperar ele fazer todo o trabalho sujo pra você.

Ao final o script vai voltar com uma nova pergunta: um nome para o arquivo de configuração do primeiro cliente que você vai gerar.

Digite por exemplo “telefone”, “windows” ou algum nome que permita identificar a qual dispositivo a configuração se refere.

Depois ele vai perguntar qual será o IPv4 desse cliente dentro da VPN. Por padrão ele seleciona 10.66.66.2 ou algo terminado em .2 com a faixa que você escolheu durante o assistente acima.

Caso não queira mudar, aperte Enter. Posteriormente, conforme você for criando novos arquivos de configuração para novos clientes, esse número vai subindo somando mais um.

Então ele vai perguntar qual o endereço IPv6 do cliente dentro da VPN. Você não é obrigado a mudar isso, então aperte Enter.

Pronto! O script vai então gerar um QR Code pra você. Escaneie esse QR Code com seu celular e já será possível se conectar na sua VPN Wireguard. Caso o cliente usado não tenha suporte a códigos QR, não se preocupe.

O script também gera um arquivo de configuração que você poderá importar no cliente que usará para se conectar na VPN. Esse arquivo fica no seguinte caminho:

/root/wg0-client-<nome-dado-ao-cliente>.conf

É só baixar e importar no cliente desejado ou então copiar o conteúdo do arquivo e colar no aplicativo instalado no cliente. Ao final, será possível se conectar na sua VPN de uma forma ou de outra.

Visite esta página e baixe o instalador do programa cliente para seu sistema operacional. É com ele que você vai conseguir se conectar na sua VPN recém criada e navegar por aí.

Liberando a porta no firewall

Mas antes de conseguir navegar de fato, será preciso autorizar a porta no firewall no seu servidor. Instalamos o UFW no início do tutorial, então vamos rodar os comandos abaixo para abrir a porta do seu servidor Wireguard:

ufw default deny incoming
ufw default allow outgoing
ufw allow 22
ufw allow <porta-vpn>

Troque <porta-vpn> pelo número da porta usada pelo seu servidor VPN, aquela que apareceu durante o assistente. Caso tenha alterado ela durante a série de perguntas, informe a porta escolhida no comando acima.

A depender de onde você mantém seu servidor VPS, pode ser necessário reiniciar a máquina virtual caso não esteja conseguindo conectar. Mas ao final desse tutorial tudo deve estar no ponto para você usar sua VPN Wireguard.

Sem rastreadores. Sem anúncios. Sem paywall.

Se você gostou do conteúdo, considere pagar um cafezinho para o autor.

Este blog não mostra mais anúncios, nem conta com rastreadores ou paywall. De verdade. Não rouba seus dados e nem os vende. Ele conta apenas com a colaboração dos leitores.

Botão Doar com Mercado Pago