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. .
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. baseado em tecnologia , em infraestrutura de nuvem (AWS), usando uma conta gratuita (por 12 meses), em uma instância (máquina virtual) gerenciada por .
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
- AWS fornece por um período de 12 meses, com limite de 15 gigabytes de tráfego por mês.
- A versão mais atualizada deste manual pode ser encontrada em
Estágios
- Inscreva-se para uma conta gratuita da AWS
- Criar uma instância da AWS
- Conectando-se a uma instância da AWS
- Configuração Wireguard
- Configurando Clientes VPN
- 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 ou . 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:
Clique no botão "Registrar"

1.2. Preenchendo dados pessoais
Preencha os dados e clique no botão "Continuar"

1.3. Preenchendo os dados de contato
Preencha as informações de contato.

1.4. Especificando informações de pagamento.
Número do cartão, data de validade e nome do titular do cartão.

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.

1.6. Escolha do plano tarifário.
Escolha - plano básico (grátis)

1.7. Faça login no console de gerenciamento

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

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

- Paris

- Frankfurt

- Estocolmo

- Londres

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

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

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

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

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 49152-65535. Nesse caso, escolhi o número da porta 54321.

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 Lançamento

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

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

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

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

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

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

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).

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.

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

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.

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
é um protocolo seguro para o controle remoto de dispositivos de computador.
3.1. Conectando-se via SSH de um computador para Windows
Para conectar-se a um computador com WindowsPrimeiro, você precisa baixar e instalar o programa. .
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

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

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

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.

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 em Nova York (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 Economize para salvar as alterações que fizemos.

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

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.

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.

3.1.2.5. Salvando configurações e iniciando uma conexão
Voltando à página da categoria em Nova York pressione o botão novamente Economize, 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.

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.

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.

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.

4. Configurando o servidor Wireguard
As instruções de instalação e utilização mais recentes. Wireguard Você pode visualizar o repositório usando os scripts descritos abaixo:
4.1. Instalaçã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. Wireguard
git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws4.1.2. Alternando para o diretório com scripts
Vá para o diretório com o repositório clonado
cd wireguard_aws4.1.3 Executando o script de inicialização
Execute o script de instalação como administrador (usuário root). Wireguard
sudo ./initial.shDurante o processo de instalação, serão solicitadas algumas informações necessárias para a configuração. Wireguard
4.1.3.1. Entrada do ponto de conexão
Insira o endereço IP externo e a porta aberta. Wireguard servidor. Obtivemos o endereço IP externo do servidor na etapa 2.2.3 e abrimos a porta na etapa 2.1.5. Especificamos ambos juntos, separados por 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:543214.1.3.2. Inserindo o endereço IP interno
Insira o endereço IP do servidor. Wireguard Em uma sub-rede VPN segura, se você não souber qual é, basta pressionar 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 seu nome de usuário da VPN. A questão é que o servidor VPN Wireguard Não será possível iniciar até que pelo menos um cliente seja adicionado. Neste caso, eu inseri o nome. Alex@mobile
Saída de amostra:
Enter VPN user name: Alex@mobileApós isso, um código QR com a configuração do cliente recém-adicionado deverá aparecer na tela, o qual deverá ser escaneado utilizando o aplicativo móvel. Wireguard em Android ou iOS, para configurá-lo. O texto do arquivo de configuração também aparecerá abaixo do código QR se você configurar os clientes manualmente. Como fazer isso será explicado a seguir.

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.shO 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@mobileComo 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/Alex@mobile.confresultado 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:54321Descriçã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/Alex@mobile.conf | qrencode -t ansiutf85. Configuração de clientes VPN
5.1. Configurando o cliente móvel Android
Cliente oficial Wireguard Para Android é possível
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:

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

5.2. Configuração do cliente Windows
Primeiro você precisa baixar e instalar o programa - Este é um 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.

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.

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.

5.2.4. Salvando um arquivo de configuração local
Salve o arquivo com extensão .conf (neste caso denominado london.conf)

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

5.2.6. Configurando uma conexão VPN
Selecione este arquivo de configuração e conecte-se clicando no botão Conecte-se.

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

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.
Do terminal para Linux Você pode verificar seu endereço IP digitando o comando:
curl http://zx2c4.com/ipOu você pode simplesmente ir ao pornhub se estiver no Cazaquistão.
Fonte: habr.com





