Lembramos que o usuário executa todas as ações descritas no artigo por sua conta e risco. O material é apenas para fins informativos. Se você deseja reproduzir as ações descritas abaixo, é altamente recomendável que você leia atentamente o artigo até o final pelo menos uma vez. Os editores da Avalanche Noticias não são responsáveis por quaisquer consequências possíveis.
⇡ # O que é o WireGuard e por que é necessário?
O WireGuard é um protocolo VPN de última geração, escrito de raiz, gratuito e de código aberto. Ao contrário dos “mastodontes” como o OpenVPN ou o IPSec, é muito mais simples e fácil. Isso se aplica à velocidade da (re) conexão, aos requisitos de desempenho e recursos, ao processo de instalação e à quantidade de código. Recentemente, foi anunciado que o WireGuard fará parte dos futuros kernels do Linux e, posteriormente, cairá em todas as distribuições populares, o que indica indiretamente a maturidade dessa solução.
Conforme declarado no anúncio, estamos considerando um cenário para proteger conexões com redes públicas e outras redes não confiáveis. Naturalmente, o uso do WireGuard não se limita a isso. Como exemplo, considere a configuração de clientes e de um servidor (embora, neste caso, sejam conceitos condicionais, devido às especificidades do protocolo), que funciona na nuvem e no roteador doméstico Keenetic. Como mostra a prática, muitos serviços públicos de VPN não são escrupulosos em relação a esses clientes; portanto, é sempre melhor ter algo próprio, controlado apenas pelo usuário. No nosso caso, estamos considerando instalar e configurar o WireGuard usando um computador Windows e uma máquina virtual baseada em nuvem no Ubuntu.
Preparation # Preparação
Como precisaremos de um pacote PuTTY completo, é melhor fazer o download do pacote MSI com o instalador imediatamente (disponível no link anterior), que instalará tudo e criará um novo grupo no menu principal. Lá, precisamos do utilitário PuTTYgen. Após o início, geramos um novo par de chaves com as configurações padrão (RSA-2048) clicando no botão Gerar e movendo-o com o mouse por meio minuto na janela do utilitário. Resta preencher vários campos: no comentário da chave, você pode inserir o nome da chave como lembrete e, na senha da chave e na senha de confirmação, insira a mesma senha.
Essa senha ainda é útil, então você precisa se lembrar ou salvá-la em um local seguro. Em seguida, no PuTTYgen, salvamos as chaves privada (Salvar chave privada, arquivo .ppk) e pública (Salvar chave pública) separadamente. Se você planeja usar vários provedores de nuvem, para cada um deles, e melhor para cada servidor, use suas próprias chaves.
⇡ # Configurando o servidor Vscale
A Vscale é um provedor de nuvem russo com sites próprios em Moscou e São Petersburgo e oferece boas configurações a preços baixos. O servidor mais barato, cuja capacidade é suficiente para nossas tarefas, custará 200 rublos / mês. O armazenamento de instantâneos custa mais 40 rublos / mês. E também pode ser movido de uma região para outra. Mas não há restrições de tráfego.
Especialmente para os leitores da Avalanche Noticias, a Vscale preparou um código promocional Avalanche Noticias500 para que você possa se familiarizar com todos os recursos do serviço. Após o registro, é necessário reabastecer a balança em pelo menos 100 rublos ou anexar um cartão bancário. Em seguida, o código promocional deve ser ativado nesta página. O código será válido até 23:59:59 18/02/2020.
A interface de serviço está disponível em russo. É fácil de entender, então descreva brevemente as etapas principais. Para funcionar, primeiro, você precisa adicionar a chave SSH pública recebida no PuTTYgen nas configurações da conta. Em seguida, na seção servidores, crie um novo servidor com o Ubuntu 18.04 OS, especificando a região, tarifa e chave desejadas. Dentro de um minuto, o servidor estará pronto e em execução.
Um cliente SSH separado não é necessário para acessar a linha de comandos, pois o Vscale fornece um console da web. Para entrar, digite o login root e pressione Enter, depois insira os comandos abaixo um por um e concorde com tudo pressionando Enter:
apt-get update apt-get upgrade apt-get install software-propriedades-comum add-apt-repository ppa: wireguard / wireguard apt-get update
Alguns comentários sobre o uso de outros provedores de nuvem. Primeiro, para o Ubuntu 19.10 e versões mais recentes do sistema operacional, você não precisa adicionar o ppa, os dois primeiros comandos serão suficientes. Em segundo lugar, o acesso à linha de comando é possível usando o PuTTY. No campo Nome do Host, digite o endereço IP do servidor e, na seção Conexão → SSH → Autenticação, digite o caminho para a chave ppk privada. O logon raiz e a senha especificada ao criar a chave (frase-chave da chave). Por conveniência, você pode salvar a sessão (Salvar). Ao clicar no botão Abrir, uma janela do console será aberta, no primeiro início, precedida por uma notificação de segurança, com a qual devemos concordar.
Observe que, mesmo quando o servidor está desligado, os recursos são salvos e pagos da mesma maneira. Portanto, um servidor desnecessário deve ser excluído. Se uma VPN não for necessária continuamente, mas apenas algumas vezes, você poderá salvar todas as configurações criando um instantâneo (backup). O próprio instantâneo pode ser transferido para outra região e, ao criar um novo servidor, selecione-o como base. Você precisa criar um instantâneo estritamente depois que o servidor VPN estiver configurado e altamente desejável. Nesse caso, instale o cliente DDNS desligando o servidor imediatamente antes de criar o backup.
⇡ # Configurando o servidor VPN WireGuard
Para configurar o servidor WireGuard, não filosofaremos maliciosamente, mas usaremos a solução aberta easy-wg-quick. Esse script gera automaticamente arquivos de configuração e facilita a manipulação de configurações. Você deve primeiro instalar o próprio wireguard e alguns utilitários adicionais. No console da web Vscale ou no PuTTY, digite os seguintes comandos, pressionando Enter após cada um:
O apt-get install wireguard-tools mawk grep iproute2 qrencode wget https://raw.githubusercontent.com/burghardt/easy-wg-quick/master/easy-wg-quick chmod + x easy-wg-quick
Quando você inicia o script, por padrão, ele cria um arquivo de configuração para o servidor e para um cliente e também exibe um código QR que pode ser verificado no aplicativo móvel WireGuard para obter imediatamente todas as configurações necessárias.
./easy-wg-quick
Para adicionar configurações para outro cliente (laptop, por exemplo), você precisa executar o mesmo comando novamente, especificando o nome do novo perfil:
./easy-wg-quick profile_name
Por exemplo, o arquivo wgclient_win10.conf correspondente será criado para o nome do perfil win10. Seu conteúdo pode ser visualizado com o comando cat, que é útil ao configurar o cliente WireGuard no futuro.
cat ./wgclient_win10.conf
Após adicionar todos os perfis necessários, resta apenas adicionar o servidor WireGuard à execução automática e habilitá-lo:
cp wghub.conf /etc/wireguard/wghub.conf systemctl enable wg-quick @ wghub systemctl start wg-quick @ wghub
Para visualizar as conexões atuais, use este comando:
wg show
⇡ # Configurando o cliente VPN WireGuard
Clientes para Windows, Android, iOS e outros sistemas operacionais podem ser baixados do WireGuard. Nas versões móveis, tudo é simples – basta digitalizar o código QR. Ou, como em todos os outros clientes, copie manualmente as configurações dos arquivos wgclient _ *. Conf. Das opções adicionais, existe apenas a capacidade de excluir o acesso via VPN para aplicativos selecionados pelo usuário: Aplicativos Excluídos nas configurações do perfil.
No caso de um cliente Windows, no menu do botão inferior esquerdo, selecione Adicionar túnel vazio, insira todo o conteúdo do arquivo conf em uma nova janela, especifique o nome do perfil (Nome). Opcionalmente, você pode ativar a função kill-switch para bloquear qualquer tráfego fora da conexão VPN. Por fim, salve e ative a conexão. Para verificar se a conexão está correta, a maneira mais fácil é acessar um site que determine o endereço IP externo atual.
Nos modelos atuais de roteadores Keenetic com firmware versão 3.3 ou posterior, também apareceu suporte para conexões VPN WireGuard – você precisa instalar o componente com o mesmo nome. Para importar configurações de conexão, você precisa salvar o conteúdo do arquivo wgclient _ *. Conf (consulte acima) em um documento de texto e, na seção “Outras conexões”, carregue os parâmetros desse arquivo. O roteador criará uma nova conexão com base neles, que deve ser ativada pelo comutador na parte esquerda da lista.
Para uma operação correta, você precisa fazer algumas pequenas alterações (a propósito, após cada ação, não se esqueça de clicar no botão “Salvar” na parte inferior da interface da web). Primeiro, ative a caixa de seleção “Usar para acessar a Internet”. Em segundo lugar, o campo “Sub-redes permitidas” deve ser convertido para 0.0.0.0/0. Terceiro, na seção “Prioridades da conexão”, arraste uma conexão recém-criada acima de todas as outras.
Depois disso, todos os clientes conectados ao roteador, por padrão, acessarão a Internet através de um túnel VPN. Se o acesso for necessário apenas para alguns dispositivos, é melhor ter um perfil separado.
Observe que, para cada cliente, você precisará gerar e copiar seu próprio arquivo conf. Se no estágio anterior você configurou o cliente DDNS no servidor, na seção Ponto de extremidade para todos os clientes, será necessário registrar o nome DDNS em vez do endereço IP.
⇡ # Configurando o WireGuard para Keenetic: servidor e cliente móvel
No começo, já mencionamos que não há diferença fundamental entre o servidor e o cliente no caso do WireGuard. E como o suporte a este protocolo já está disponível no firmware, você pode configurar a conexão dos clientes ao roteador. Na versão atual, nem todas as configurações são feitas na interface da web, mas nada é complicado de qualquer maneira. O único requisito é a presença de um endereço IP externo “branco”, mesmo que seja dinâmico (nesse caso, o DDNS ajudará).
Na seção “Outras conexões” da seção WireGuard, você precisa adicionar uma nova conexão. Especifique um nome (qualquer) e marque “Gerar um par de chaves aleatório”. No campo “Endereço”, você deve inserir qualquer endereço adequado do intervalo privado, mas de forma que não se sobreponha a outras redes no próprio roteador. Como exemplo, usamos 10.11.12.1/24. O número da porta pode ser especificado arbitrariamente, se não for bloqueado pelo provedor e não coincidir com as portas já abertas para outros serviços. No nosso exemplo, isso é 55555. Por fim, no campo DNS, especifique o endereço de qualquer servidor DNS público.
O próximo passo é adicionar pares (clientes) com o botão correspondente. Especificamos qualquer nome e, no campo “Sub-redes permitidas”, digite 0.0.0.0/0. Agora abra o aplicativo móvel WireGuard no smartphone e adicione uma nova conexão – Crie do zero. Na seção Interface, especifique o nome (qualquer) e clique no botão Gerar. O conteúdo do campo Chave pública é copiado e colado no campo “Chave pública” nas configurações de mesmo nível no roteador. No campo Endereços, especifique o endereço IP privado da mesma sub-rede do roteador. No nosso exemplo, ele tinha 10.11.12.1/24, portanto, para o cliente, basta seguir o seguinte: 10.11.12.2/24. DNS é novamente qualquer público.
Na seção Pares, no campo Chaves Públicas, copie o conteúdo do campo “Chave Pública” do roteador, digite 0.0.0.0/0 em IPs Permitidos e digite o endereço IP externo do roteador (ou nome DDNS) e a porta através de dois pontos no Endpoint, ou seja, para nosso Como exemplo, você deve obter um design no formato xx.xx.xx.xx: 55555. Opcionalmente, você pode ativar a função de manter a atividade de conexão especificando o tempo em segundos no campo Persistência persistente no cliente e no campo “Verificar atividade” nas configurações de mesmo nível no roteador. Um intervalo de 3 a 30 segundos é geralmente suficiente. Para outros clientes, você precisará repetir o mesmo procedimento para adicionar novos pares.
Mas isso não é tudo. Depois de adicionar pares, você deve permitir que eles acessem a rede local e a Internet. Na seção “Firewall”, você precisa encontrar uma conexão WireGuard – navegue pelo nome, pode estar no menu suspenso na parte superior – e crie uma nova regra de permissão (consulte captura de tela acima). Você também precisará conectar-se ao roteador via telnet usando PuTTY e inserir alguns comandos. O endereço padrão é my.keenetic.net, o login e a senha são os mesmos que para acessar a interface da web, os comandos são dados abaixo:
interface Wireguard0 IP privado no nível de segurança nat Configuração do sistema Wireguard0 salvar
Finalmente, após todas essas etapas, você deve ativar a conexão WireGuard. Se tudo correu bem, depois de conectar o cliente, um círculo verde acenderá na frente do banquete e as estatísticas de tráfego serão exibidas. Lembre-se de que o desempenho do roteador ainda é muito menor que o de qualquer servidor em nuvem. Portanto, fornecerá uma velocidade de conexão decente ao custo de uma carga na CPU do roteador, o que pode afetar a operação de outros serviços.
After # Posfácio
Por fim, lembramos a sabedoria “popular”: esperança de uma VPN, mas não seja tão ruim. Simplificando, cuidado e higiene digital sempre devem ser seguidos. Você não precisa se conectar a redes completamente suspeitas e não deve esquecer as regras básicas. Não existem muitos deles: instalar as atualizações do SO e do software a tempo, usar a autenticação de dois fatores, selecionar cuidadosamente os programas utilizados, verificar a razoabilidade das solicitações de software para acessar vários recursos do dispositivo e adquirir um antivírus moderno. Tudo isso se aplica a smartphones, tablets, laptops e desktops. .
Embora não seja o vizinho mais próximo da Terra, Marte há muito tempo atrai a…
Como vocês sabem, este ano a Intel intrigou os investidores com a afirmação de que…
Rumores de que a OpenAI está planejando lançar um chip para acelerar os cálculos de…
Para o atual presidente dos EUA, Donald Trump, as taxas alfandegárias se tornaram a principal…
O vizinho do norte dos Estados Unidos tornou-se o primeiro país a receber implantes cerebrais…
A Amazon testou com sucesso seu sistema de internet via satélite Projeto Kuiper, alcançando velocidades…