Serviço VPN gratuito Wireguard na AWS

Para quê?

Com a crescente censura da Internet por regimes autoritários, um número crescente de recursos e sites úteis da Internet está sendo bloqueado. Incluindo informações técnicas.
Assim, torna-se impossível o pleno uso da Internet e viola-se o direito fundamental à liberdade de expressão, consagrado no art. Declaração universal dos direitos humanos.

Artigo 19
Todos têm direito à liberdade de opinião e expressão; este direito inclui a liberdade de, sem interferência, ter opiniões e de procurar, receber e transmitir informações e ideias por qualquer meio e independentemente de fronteiras

Neste guia, implantaremos nosso próprio freeware* em 6 etapas. serviço VPN baseado em tecnologia Vigia, em infraestrutura de nuvem Amazon Web Services (AWS), usando uma conta gratuita (por 12 meses), em uma instância (máquina virtual) gerenciada por Servidor Ubuntu 18.04 LTS.
Tentei tornar este passo a passo o mais amigável possível para pessoas que não são de TI. A única coisa necessária é perseverança em repetir as etapas descritas abaixo.

Nota

Estágios

  1. Inscreva-se para uma conta gratuita da AWS
  2. Criar uma instância da AWS
  3. Conectando-se a uma instância da AWS
  4. Configuração do Wireguard
  5. Configurando Clientes VPN
  6. Verificando a exatidão da instalação da VPN

Links úteis

1. Registrando uma conta da AWS

Inscrever-se para uma conta gratuita da AWS requer um número de telefone real e um cartão de crédito Visa ou Mastercard válido. Eu recomendo usar cartões virtuais que são fornecidos gratuitamente Yandex ou Carteira QIWI. Para verificar a validade do cartão, é descontado $ 1 durante o cadastro, que posteriormente é devolvido.

1.1. Abrindo o Console de gerenciamento da AWS

Você precisa abrir um navegador e ir para: https://aws.amazon.com/ru/
Clique no botão "Registrar"

Serviço VPN gratuito Wireguard na AWS

1.2. Preenchendo dados pessoais

Preencha os dados e clique no botão "Continuar"

Serviço VPN gratuito Wireguard na AWS

1.3. Preenchendo os dados de contato

Preencha as informações de contato.

Serviço VPN gratuito Wireguard na AWS

1.4. Especificando informações de pagamento.

Número do cartão, data de validade e nome do titular do cartão.

Serviço VPN gratuito Wireguard na AWS

1.5. Verificação de conta

Nesta fase, o número de telefone é confirmado e $ 1 é debitado diretamente do cartão de pagamento. Um código de 4 dígitos é exibido na tela do computador e o telefone especificado recebe uma ligação da Amazon. Durante uma chamada, você deve discar o código mostrado na tela.

Serviço VPN gratuito Wireguard na AWS

1.6. Escolha do plano tarifário.

Escolha - plano básico (grátis)

Serviço VPN gratuito Wireguard na AWS

1.7. Faça login no console de gerenciamento

Serviço VPN gratuito Wireguard na AWS

1.8. Escolhendo a localização do centro de dados

Serviço VPN gratuito Wireguard na AWS

1.8.1. Teste de velocidade

Antes de escolher um centro de dados, é recomendável testar através de https://speedtest.net velocidade de acesso aos data centers mais próximos, na minha localização os seguintes resultados:

  • Cingapura
    Serviço VPN gratuito Wireguard na AWS
  • Paris
    Serviço VPN gratuito Wireguard na AWS
  • Frankfurt
    Serviço VPN gratuito Wireguard na AWS
  • Estocolmo
    Serviço VPN gratuito Wireguard na AWS
  • Londres
    Serviço VPN gratuito Wireguard na AWS

O data center de Londres apresenta os melhores resultados em termos de velocidade. Então eu escolhi para uma maior personalização.

2. Crie uma instância da AWS

2.1 Criar uma máquina virtual

2.1.1. Selecionando um tipo de instância

Por padrão, a instância t2.micro é selecionada, que é o que precisamos, basta pressionar o botão A seguir: Configurar detalhes da instância

Serviço VPN gratuito Wireguard na AWS

2.1.2. Definindo opções de instância

No futuro, conectaremos um IP público permanente à nossa instância, portanto, neste estágio, desativamos a atribuição automática de um IP público e pressionamos o botão Próximo: Adicionar armazenamento

Serviço VPN gratuito Wireguard na AWS

2.1.3. Conexão de armazenamento

Especifique o tamanho do "disco rígido". Para nossos propósitos, 16 gigabytes são suficientes e pressionamos o botão Próximo: Adicionar Tags

Serviço VPN gratuito Wireguard na AWS

2.1.4. Configurando tags

Se criássemos várias instâncias, elas poderiam ser agrupadas por tags para facilitar a administração. Nesse caso, essa funcionalidade é supérflua, pressione imediatamente o botão Próximo: Configurar grupo de segurança

Serviço VPN gratuito Wireguard na AWS

2.1.5. Abrindo portas

Nesta etapa, configuramos o firewall abrindo as portas necessárias. O conjunto de portas abertas é chamado de Grupo de Segurança. Devemos criar um novo grupo de segurança, dar-lhe um nome, descrição, adicionar uma porta UDP (Custom UDP Rule), no campo Rort Range, atribuir um número de porta do intervalo portas dinâmicas 49152-65535. Nesse caso, escolhi o número da porta 54321.

Serviço VPN gratuito Wireguard na AWS

Após preencher os dados solicitados, clique no botão Revisar e iniciar

2.1.6. Visão geral de todas as configurações

Nesta página há uma visão geral de todas as configurações de nossa instância, verificamos se todas as configurações estão em ordem e pressionamos o botão Apresentação livro

Serviço VPN gratuito Wireguard na AWS

2.1.7. Criando Chaves de Acesso

Em seguida, vem uma caixa de diálogo oferecendo para criar ou adicionar uma chave SSH existente, com a qual posteriormente nos conectaremos remotamente à nossa instância. Selecionamos a opção "Criar um novo par de chaves" para criar uma nova chave. Dê um nome e clique no botão Download Par de chavespara baixar as chaves geradas. Salve-os em um local seguro em seu computador local. Depois de baixado, clique no botão. Instâncias de lançamento

Serviço VPN gratuito Wireguard na AWS

2.1.7.1. Salvando Chaves de Acesso

Aqui é mostrada a etapa de salvar as chaves geradas na etapa anterior. Depois que pressionamos o botão Download Par de chaves, a chave é salva como um arquivo de certificado com extensão *.pem. Neste caso, dei-lhe um nome wireguard-awskey.pem

Serviço VPN gratuito Wireguard na AWS

2.1.8. Visão geral dos resultados da criação de instâncias

Em seguida, vemos uma mensagem sobre o lançamento bem-sucedido da instância que acabamos de criar. Podemos ir para a lista de nossas instâncias clicando no botão visualizar instâncias

Serviço VPN gratuito Wireguard na AWS

2.2. Criando um endereço IP externo

2.2.1. Iniciando a criação de um IP externo

Em seguida, precisamos criar um endereço IP externo permanente através do qual nos conectaremos ao nosso servidor VPN. Para fazer isso, no painel de navegação do lado esquerdo da tela, selecione o item IPs elásticos da categoria REDE E SEGURANÇA e pressione o botão Alocar novo endereço

Serviço VPN gratuito Wireguard na AWS

2.2.2. Configurando a criação de um IP externo

Na próxima etapa, precisamos habilitar a opção piscina amazônica (ativado por padrão) e clique no botão distribuir

Serviço VPN gratuito Wireguard na AWS

2.2.3. Visão geral dos resultados da criação de um endereço IP externo

A próxima tela exibirá o endereço IP externo que recebemos. Recomenda-se memorizá-lo, e é melhor até escrevê-lo. ele será útil mais de uma vez no processo de configuração e uso do servidor VPN. Neste guia, uso o endereço IP como exemplo. 4.3.2.1. Depois de inserir o endereço, pressione o botão Fechar

Serviço VPN gratuito Wireguard na AWS

2.2.4. Lista de endereços IP externos

Em seguida, somos apresentados a uma lista de nossos endereços IP públicos permanentes (IP elásticos).

Serviço VPN gratuito Wireguard na AWS

2.2.5. Atribuir um IP externo a uma instância

Nesta lista, selecionamos o endereço IP que recebemos e pressionamos o botão direito do mouse para abrir um menu suspenso. Nele, selecione o item endereço associadopara atribuí-lo à instância que criamos anteriormente.

Serviço VPN gratuito Wireguard na AWS

2.2.6. Configuração de atribuição de IP externo

Na próxima etapa, selecione nossa instância na lista suspensa e pressione o botão Jurídico

Serviço VPN gratuito Wireguard na AWS

2.2.7. Visão geral dos resultados da atribuição de IP externo

Depois disso, podemos ver que nossa instância e seu endereço IP privado estão vinculados ao nosso endereço IP público permanente.

Serviço VPN gratuito Wireguard na AWS

Agora podemos nos conectar à nossa instância recém-criada de fora, de nosso computador via SSH.

3. Conecte-se a uma instância da AWS

SSH é um protocolo seguro para o controle remoto de dispositivos de computador.

3.1. Conexão via SSH de um computador com Windows

Para se conectar a um computador com Windows, primeiro você precisa baixar e instalar o programa massa de vidraceiro.

3.1.1. Importar chave privada para Putty

3.1.1.1. Depois de instalar o Putty, você precisa executar o utilitário PuTTYgen que o acompanha para importar a chave do certificado no formato PEM, em um formato adequado para uso no Putty. Para fazer isso, selecione o item no menu superior Conversões->Importar chave

Serviço VPN gratuito Wireguard na AWS

3.1.1.2. Escolhendo uma chave AWS no formato PEM

Em seguida, selecione a chave que salvamos anteriormente na etapa 2.1.7.1, no nosso caso, seu nome wireguard-awskey.pem

Serviço VPN gratuito Wireguard na AWS

3.1.1.3. Definindo opções de importação de chaves

Nesta etapa, precisamos especificar um comentário para esta chave (descrição) e definir uma senha e confirmação para segurança. Ele será solicitado toda vez que você se conectar. Assim, protegemos a chave com uma senha contra uso indevido. Você não precisa definir uma senha, mas é menos seguro se a chave cair em mãos erradas. Depois de pressionarmos o botão Salvar chave privada

Serviço VPN gratuito Wireguard na AWS

3.1.1.4. Salvando uma chave importada

Uma caixa de diálogo para salvar arquivo é aberta e salvamos nossa chave privada como um arquivo com a extensão .ppkadequado para uso no programa massa de vidraceiro.
Especifique o nome da chave (no nosso caso wireguard-awskey.ppk) e pressione o botão Salvar.

Serviço VPN gratuito Wireguard na AWS

3.1.2. Criando e configurando uma conexão no Putty

3.1.2.1. Criar uma conexão

Abra o programa Putty, selecione uma categoria Número da (está aberto por padrão) e no campo Nome do host insira o endereço IP público do nosso servidor, que recebemos na etapa 2.2.3. No campo Sessão salva insira um nome arbitrário para nossa conexão (no meu caso wireguard-aws-londres) e, em seguida, pressione o botão Salvar para salvar as alterações que fizemos.

Serviço VPN gratuito Wireguard na AWS

3.1.2.2. Configurando o login automático do usuário

Mais na categoria Conexão, escolha uma subcategoria Data e no campo Nome de usuário de login automático insira nome de usuário ubuntu é o usuário padrão da instância na AWS com Ubuntu.

Serviço VPN gratuito Wireguard na AWS

3.1.2.3. Escolhendo uma chave privada para conectar via SSH

Em seguida, vá para a subcategoria Conexão/SSH/Autenticação e ao lado do campo Arquivo de chave privada para autenticação aperte o botão Squeaky toy… para selecionar um arquivo com um certificado de chave.

Serviço VPN gratuito Wireguard na AWS

3.1.2.4. Abrindo uma chave importada

Especifique a chave que importamos anteriormente na etapa 3.1.1.4, no nosso caso é um arquivo wireguard-awskey.ppk, e pressione o botão aberto.

Serviço VPN gratuito Wireguard na AWS

3.1.2.5. Salvando configurações e iniciando uma conexão

Voltando à página da categoria Número da pressione o botão novamente Salvar, para salvar as alterações que fizemos anteriormente nas etapas anteriores (3.1.2.2 - 3.1.2.4). E então apertamos o botão Abra para abrir a conexão SSH remota que criamos e configuramos.

Serviço VPN gratuito Wireguard na AWS

3.1.2.7. Configurando a confiança entre hosts

Na próxima etapa, na primeira vez que tentamos nos conectar, recebemos um aviso, não temos confiança configurada entre os dois computadores e perguntamos se devemos confiar no computador remoto. vamos apertar o botão Sim, adicionando-o assim à lista de hosts confiáveis.

Serviço VPN gratuito Wireguard na AWS

3.1.2.8. Inserindo uma senha para acessar a chave

Depois disso, uma janela de terminal é aberta, onde é solicitada a senha da chave, se você a definiu anteriormente na etapa 3.1.1.3. Ao inserir uma senha, nenhuma ação na tela ocorre. Se você cometer um erro, você pode usar a tecla Retrocesso.

Serviço VPN gratuito Wireguard na AWS

3.1.2.9. Mensagem de boas-vindas na conexão bem-sucedida

Depois de inserir a senha com sucesso, é exibido um texto de boas-vindas no terminal, informando que o sistema remoto está pronto para executar nossos comandos.

Serviço VPN gratuito Wireguard na AWS

4. Configurando o Servidor Wireguard

As instruções mais atualizadas para instalar e usar o Wireguard usando os scripts descritos abaixo podem ser encontradas no repositório: https://github.com/isystem-io/wireguard-aws

4.1. Instalando o WireGuard

No terminal, digite os seguintes comandos (você pode copiar para a área de transferência e colar no terminal pressionando o botão direito do mouse):

4.1.1. Clonando um repositório

Clone o repositório com os scripts de instalação do Wireguard

git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws

4.1.2. Alternando para o diretório com scripts

Vá para o diretório com o repositório clonado

cd wireguard_aws

4.1.3 Executando o script de inicialização

Execute como administrador (usuário root) o script de instalação do Wireguard

sudo ./initial.sh

O processo de instalação solicitará alguns dados necessários para configurar o Wireguard

4.1.3.1. Entrada do ponto de conexão

Digite o endereço IP externo e abra a porta do servidor Wireguard. Obtivemos o endereço IP externo do servidor na etapa 2.2.3 e abrimos a porta na etapa 2.1.5. Nós os indicamos juntos, separando-os com dois pontos, por exemplo 4.3.2.1:54321e depois pressione a tecla Entrar
Saída de amostra:

Enter the endpoint (external ip and port) in format [ipv4:port] (e.g. 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. Inserindo o endereço IP interno

Digite o endereço IP do servidor Wireguard na sub-rede VPN segura, se você não sabe o que é, basta pressionar a tecla Enter para definir o valor padrão (10.50.0.1)
Saída de amostra:

Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):

4.1.3.3. Especificando um servidor DNS

Digite o endereço IP do servidor DNS ou apenas pressione a tecla Enter para definir o valor padrão 1.1.1.1 (DNS público da Cloudflare)
Saída de amostra:

Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):

4.1.3.4. Especificando a interface WAN

Em seguida, você precisa inserir o nome da interface de rede externa que escutará na interface de rede interna da VPN. Basta pressionar Enter para definir o valor padrão para AWS (eth0)
Saída de amostra:

Enter the name of the WAN network interface ([ENTER] set to default: eth0):

4.1.3.5. Especificando o nome do cliente

Digite o nome do usuário VPN. O fato é que o servidor Wireguard VPN não poderá iniciar até que pelo menos um cliente tenha sido adicionado. Neste caso, digitei o nome Alex@mobile
Saída de amostra:

Enter VPN user name: Alex@mobile

Em seguida, deve ser exibido na tela um código QR com a configuração do cliente recém-adicionado, que deve ser lido utilizando o cliente móvel Wireguard no Android ou iOS para configurá-lo. E também abaixo do código QR, o texto do arquivo de configuração será exibido em caso de configuração manual de clientes. Como fazer isso será discutido abaixo.

Serviço VPN gratuito Wireguard na AWS

4.2. Adicionando um novo usuário VPN

Para adicionar um novo usuário, você precisa executar o script no terminal add-client.sh

sudo ./add-client.sh

O script pede um nome de usuário:
Saída de amostra:

Enter VPN user name: 

Além disso, o nome dos usuários pode ser passado como um parâmetro de script (neste caso Alex@mobile):

sudo ./add-client.sh Alex@mobile

Como resultado da execução do script, no diretório com o nome do cliente no caminho /etc/wireguard/clients/{ИмяКлиента} arquivo de configuração do cliente será criado /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, e a tela do terminal exibirá um código QR para configurar clientes móveis e o conteúdo do arquivo de configuração.

4.2.1. Arquivo de configuração do usuário

Você pode exibir na tela o conteúdo do arquivo .conf, para configuração manual do cliente, utilizando o comando cat

sudo cat /etc/wireguard/clients/Alex@mobile/[email protected]

resultado da execução:

[Interface]
PrivateKey = oDMWr0toPVCvgKt5oncLLRfHRit+jbzT5cshNUi8zlM=
Address = 10.50.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = mLnd+mul15U0EP6jCH5MRhIAjsfKYuIU/j5ml8Z2SEk=
PresharedKey = wjXdcf8CG29Scmnl5D97N46PhVn1jecioaXjdvrEkAc=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 4.3.2.1:54321

Descrição do arquivo de configuração do cliente:

[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом

[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все -  0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения

4.2.2. Código QR para configuração do cliente

Você pode exibir um código QR de configuração para um cliente criado anteriormente na tela do terminal usando o comando qrencode -t ansiutf8 (neste exemplo, um cliente chamado Alex@mobile é usado):

sudo cat /etc/wireguard/clients/Alex@mobile/[email protected] | qrencode -t ansiutf8

5. Configuração de clientes VPN

5.1. Configurando o cliente móvel Android

O cliente Wireguard oficial para Android pode ser instale a partir da Google Play Store oficial

Depois disso, você precisa importar a configuração lendo o código QR com a configuração do cliente (consulte o parágrafo 4.2.2) e dê um nome a ela:

Serviço VPN gratuito Wireguard na AWS

Depois de importar a configuração com sucesso, você pode habilitar o túnel VPN. Uma conexão bem-sucedida será indicada por um esconderijo de chaves na bandeja do sistema Android

Serviço VPN gratuito Wireguard na AWS

5.2. Configuração do cliente Windows

Primeiro você precisa baixar e instalar o programa TunSafe para Windows é o cliente Wireguard para Windows.

5.2.1. Criando um arquivo de configuração de importação

Clique com o botão direito do mouse para criar um arquivo de texto na área de trabalho.

Serviço VPN gratuito Wireguard na AWS

5.2.2. Copie o conteúdo do arquivo de configuração do servidor

Em seguida voltamos ao terminal Putty e exibimos o conteúdo do arquivo de configuração do usuário desejado, conforme descrito no passo 4.2.1.
Em seguida, clique com o botão direito do mouse no texto de configuração no terminal Putty, após a conclusão da seleção, ele será copiado automaticamente para a área de transferência.

Serviço VPN gratuito Wireguard na AWS

5.2.3. Copiando a configuração para um arquivo de configuração local

Neste campo, voltamos ao arquivo de texto que criamos anteriormente na área de trabalho e colamos o texto de configuração nele da área de transferência.

Serviço VPN gratuito Wireguard na AWS

5.2.4. Salvando um arquivo de configuração local

Salve o arquivo com extensão .conf (neste caso denominado london.conf)

Serviço VPN gratuito Wireguard na AWS

5.2.5. Importando um arquivo de configuração local

Em seguida, você precisa importar o arquivo de configuração para o programa TunSafe.

Serviço VPN gratuito Wireguard na AWS

5.2.6. Configurando uma conexão VPN

Selecione este arquivo de configuração e conecte-se clicando no botão Contato.
Serviço VPN gratuito Wireguard na AWS

6. Verificando se a conexão foi bem-sucedida

Para verificar o sucesso da conexão através do túnel VPN, você precisa abrir um navegador e acessar o site https://2ip.ua/ru/

Serviço VPN gratuito Wireguard na AWS

O endereço IP exibido deve corresponder ao que recebemos na etapa 2.2.3.
Em caso afirmativo, o túnel VPN está funcionando com sucesso.

No terminal Linux, você pode verificar seu endereço IP digitando:

curl http://zx2c4.com/ip

Ou você pode simplesmente ir ao pornhub se estiver no Cazaquistão.

Fonte: habr.com

Adicionar um comentário