VPN em todas as casas ou como domesticar o dragão

Abaixo, falarei sobre como substituir seu provedor de VPN pelo seu próprio servidor implantado no DigitalOcean usando o WireGuard.


Qual é o principal problema dos provedores de VPN? Você não sabe o que eles fazem com seus dados.
Muito poucos provedores de VPN passaram por auditorias de terceiros e quase nenhum deles abriu seu código.
Mesmo no caso do código-fonte aberto e da auditoria aprovada, para as pessoas paranóicas a questão do que está acontecendo do lado do fornecedor permanece em aberto.


A solução é bastante simples - implante seu nó VPN.


Eu quero simplificar


Existem muitos artigos na rede sobre como configurar o WireGuard, eis alguns deles:



Mas e se eu apenas quiser instalar o WireGuard, sem estudar profundamente a documentação?
Eu só quero a maneira mais fácil e rápida de implantar um servidor VPN e começar a usá-lo.


Tudo o que preciso da infraestrutura:


  • 1 servidor
  • 5-10 clientes para mim e meus entes queridos

Abaixo está uma instrução sobre como fazer isso de forma rápida e fácil.


Crie uma gota


Primeiro, você precisa criar uma nova gota no DigitalOcean: https://www.digitalocean.com/docs/droplets/how-to/create/


O mais fácil c Ubuntu 18.04 combina comigo, que custa US $ 5 por mês.


Não se esqueça de adicionar sua chave SSH para ter acesso à gota: https://www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/


Observação. DigitalOcean não é a única opção. Você pode escolher qualquer serviço em nuvem ao seu gosto.


Instale o servidor WireGuard e crie todas as configurações necessárias


Para criar todas as configurações necessárias automaticamente, você pode usar o script: wg-ububtu-server-up.sh , que:


  • instale todo o software necessário
  • configurar regras do iptables e ativar o encaminhamento IPv4
  • instalar desacoplado como resolvedor de DNS
  • criará uma configuração do servidor e o número necessário de configurações do cliente
  • lançará o WireGuard

Estabeleça uma conexão com o droplet via SSH e execute os seguintes comandos para baixar e executar o script (use o endereço IP do seu droplet em vez de xxx.xxx.x.xx):


ssh root@xxx.xxx.x.xx wget https://raw.githubusercontent.com/drew2a/wireguard/master/wg-ububtu-server-up.sh chmod +x ./wg-ububtu-server-up.sh ./wg-ububtu-server-up.sh 10 #  10  " 10  " 

Após a execução do script, o servidor WireGuard será instalado, em execução e pronto para trabalhar com os clientes.


Um sinal de que o WireGuard foi iniciado corretamente é que, após a execução do script, você deverá ver algo semelhante ao console:


 interface: wg0 public key: +xxxEjj1qmxxxotq4OxxxfHPaxxxtre5xxxxOfxxw= private key: (hidden) listening port: 51820 peer: d1exxxLdCZcYxxxIQ0xxxxK/Wpx8G1N8xxvnUrxxxx= allowed ips: 10.0.0.2/32 peer: fWExxxazRxxxUOxxxx4JKgUTxxo9LaxxxxOGWtxxK0w= allowed ips: 10.0.0.3/32 ... peer: RbmxxxDxOoXMxxxcyate6xxxinIClxxDgRDxxxx0j0= allowed ips: 10.0.0.10/32 

O script também criará 10 configurações de cliente [ client1.conf ... client10.conf ], que você pode usar uma configuração para um dispositivo (por vez).


As configurações estão no droplet, na pasta: $ HOME / wireguard /


Observação. Você pode configurar o WireGuard manualmente, sem usar um script, mas ele não se encaixa na definição de "rápido" e "sem um estudo aprofundado da documentação". No próximo artigo, se houver interesse nisso, falarei sobre o que acontece nos scripts de magia.


Observação 2. Você pode perceber razoavelmente que é ainda mais fácil usar uma imagem já preparada no mesmo DO e não executar nenhum script. Concordo, mas vou chamar sua atenção para o fato de que nos scripts propostos existem apenas 100 linhas de código e é fácil verificar se não há crime neles. Na imagem final, isso é mais difícil de fazer.


Observação 3. O comando para estabelecer uma conexão com o droplet ( ssh ) funciona em sistemas operacionais * nix-like. Se você possui Windows, use winscp , PuTTY ou outro aplicativo semelhante.


Instale o cliente de desktop


Faça o download do aplicativo de área de trabalho WireGuard em https://www.wireguard.com/install/ e instale-o.


Faça o download da configuração do cliente (digamos que você queira usar a configuração client1.conf ) do seu droplet (use o endereço IP do seu droplet em vez de xxx.xxx.x.xx):


 scp root@xxx.xxx.x.xx:"~/wireguard/client1.conf" ~/Desktop/ 

Inicie a versão desktop do WireGuard e importe o túnel da configuração do cliente baixada ( client1.conf ).


Observação. O comando de download ( scp ) funciona em sistemas operacionais * nix-like. Se você possui o Windows, use winscp ou outro aplicativo semelhante.


Observação 2. Você também pode usar a versão do WireGuard sem uma GUI e usar as mesmas configurações do cliente.


Instalar cliente para celular


Instale o aplicativo WireGuard por meio da AppStore ou PlayMarket.


Execute-o e importe o túnel da VPN através do código QR.


Como obter um código QR


Você pode gerar um código QR conectando-se ao droplet (use o endereço IP do seu droplet, em vez de xxx.xxx.x.xx) e execute o comando (caso você use a configuração do cliente client2.conf ):


 ssh root@xxx.xxx.x.xx qrencode -t ansiutf8 < ~/wireguard/client2.conf 

Obrigada

Source: https://habr.com/ru/post/pt474250/


All Articles