Servizio VPN gratuito Wireguard su AWS

Per che cosa?

Con la crescente censura di Internet da parte di regimi autoritari, un numero crescente di risorse e siti Internet utili viene bloccato. Comprese le informazioni tecniche.
Pertanto, diventa impossibile utilizzare pienamente Internet e viola il diritto fondamentale alla libertà di parola, sancito da dichiarazione Universale dei Diritti Umani.

Articolo 19
Ognuno ha diritto alla libertà di opinione e di espressione; questo diritto include la libertà di avere opinioni senza interferenze e di cercare, ricevere e diffondere informazioni e idee attraverso qualsiasi mezzo e indipendentemente dalle frontiere

In questa guida, distribuiremo il nostro freeware* in 6 passaggi. Servizio VPN basato sulla tecnologia Gabbia di protezione, nell'infrastruttura cloud Amazon Web Services (AWS), utilizzando un account gratuito (per 12 mesi), su un'istanza (macchina virtuale) gestita da Server Ubuntu 18.04 LTS.
Ho cercato di rendere questa procedura dettagliata il più amichevole possibile per le persone non IT. L'unica cosa che è richiesta è la perseveranza nel ripetere i passaggi descritti di seguito.

Nota

stadi

  1. Registrati per un account AWS gratuito
  2. Crea un'istanza AWS
  3. Connessione a un'istanza AWS
  4. Configurazione Wireguard
  5. Configurazione dei client VPN
  6. Verifica della correttezza dell'installazione della VPN

Link utili

1. Registrazione di un account AWS

La registrazione per un account AWS gratuito richiede un numero di telefono reale e una carta di credito Visa o Mastercard valida. Consiglio di utilizzare le carte virtuali fornite gratuitamente Yandex o portafoglio qiwi. Per verificare la validità della carta, durante la registrazione viene detratto $ 1, che viene successivamente restituito.

1.1. Apertura della Console di gestione AWS

Devi aprire un browser e andare su: https://aws.amazon.com/ru/
Fare clic sul pulsante "Registrati".

Servizio VPN gratuito Wireguard su AWS

1.2. Compilazione dati personali

Compila i dati e clicca sul pulsante "Continua".

Servizio VPN gratuito Wireguard su AWS

1.3. Compilazione dei dati di contatto

Compila le informazioni di contatto.

Servizio VPN gratuito Wireguard su AWS

1.4. Specificare le informazioni di pagamento.

Numero della carta, data di scadenza e nome del titolare della carta.

Servizio VPN gratuito Wireguard su AWS

1.5. Verifica dell'account

A questo punto, il numero di telefono viene confermato e $ 1 viene addebitato direttamente sulla carta di pagamento. Sullo schermo del computer viene visualizzato un codice a 4 cifre e il telefono specificato riceve una chiamata da Amazon. Durante una chiamata è necessario comporre il codice visualizzato sullo schermo.

Servizio VPN gratuito Wireguard su AWS

1.6. Scelta del piano tariffario.

Scegli - Piano di base (gratuito)

Servizio VPN gratuito Wireguard su AWS

1.7. Accedi alla console di gestione

Servizio VPN gratuito Wireguard su AWS

1.8. Scelta della posizione del data center

Servizio VPN gratuito Wireguard su AWS

1.8.1. Test di velocità

Prima di scegliere un data center, si consiglia di testare https://speedtest.net velocità di accesso ai data center più vicini, nella mia località i seguenti risultati:

  • Singapore
    Servizio VPN gratuito Wireguard su AWS
  • Parigi
    Servizio VPN gratuito Wireguard su AWS
  • Francoforte
    Servizio VPN gratuito Wireguard su AWS
  • Stoccolma
    Servizio VPN gratuito Wireguard su AWS
  • Londra
    Servizio VPN gratuito Wireguard su AWS

Il data center di Londra mostra i migliori risultati in termini di velocità. Quindi l'ho scelto per un'ulteriore personalizzazione.

2. Crea un'istanza AWS

2.1 Creare una macchina virtuale

2.1.1. Selezione di un tipo di istanza

Per impostazione predefinita, l'istanza t2.micro è selezionata, che è ciò di cui abbiamo bisogno, basta premere il pulsante Successivo: Configura i dettagli dell'istanza

Servizio VPN gratuito Wireguard su AWS

2.1.2. Impostazione delle opzioni di istanza

In futuro collegheremo un IP pubblico permanente alla nostra istanza, quindi in questa fase disattiviamo l'assegnazione automatica di un IP pubblico e premiamo il pulsante Successivo: Aggiungi spazio di archiviazione

Servizio VPN gratuito Wireguard su AWS

2.1.3. Connessione di archiviazione

Specificare la dimensione del "disco rigido". Per i nostri scopi sono sufficienti 16 gigabyte e premiamo il pulsante Successivo: Aggiungi tag

Servizio VPN gratuito Wireguard su AWS

2.1.4. Impostazione dei tag

Se abbiamo creato diverse istanze, allora potrebbero essere raggruppate per tag per facilitare l'amministrazione. In questo caso questa funzionalità è superflua, premi subito il pulsante Avanti: Configura il gruppo di sicurezza

Servizio VPN gratuito Wireguard su AWS

2.1.5. Porti di apertura

In questo passaggio, configuriamo il firewall aprendo le porte richieste. L'insieme delle porte aperte è chiamato gruppo di sicurezza. Dobbiamo creare un nuovo gruppo di sicurezza, assegnargli un nome, una descrizione, aggiungere una porta UDP (Custom UDP Rule), nel campo Rort Range, assegnare un numero di porta dall'intervallo porti dinamici 49152-65535. In questo caso, ho scelto il numero di porta 54321.

Servizio VPN gratuito Wireguard su AWS

Dopo aver inserito i dati richiesti, cliccare sul pulsante Rivedi e avvia

2.1.6. Panoramica di tutte le impostazioni

In questa pagina c'è una panoramica di tutte le impostazioni della nostra istanza, controlliamo se tutte le impostazioni sono in ordine e premiamo il pulsante Lancio

Servizio VPN gratuito Wireguard su AWS

2.1.7. Creazione di chiavi di accesso

Successivamente viene visualizzata una finestra di dialogo che offre di creare o aggiungere una chiave SSH esistente, con la quale in seguito ci connetteremo in remoto alla nostra istanza. Selezioniamo l'opzione "Crea una nuova coppia di chiavi" per creare una nuova chiave. Assegnagli un nome e fai clic sul pulsante Scarica Key Pairper scaricare le chiavi generate. Salvali in un posto sicuro sul tuo computer locale. Una volta scaricato, fai clic sul pulsante. Istanze di lancio

Servizio VPN gratuito Wireguard su AWS

2.1.7.1. Salvataggio delle chiavi di accesso

Qui viene mostrato il passaggio di salvataggio delle chiavi generate dal passaggio precedente. Dopo aver premuto il pulsante Scarica Key Pair, la chiave viene salvata come file di certificato con estensione *.pem. In questo caso gli ho dato un nome wireguard-awskey.pem

Servizio VPN gratuito Wireguard su AWS

2.1.8. Panoramica dei risultati della creazione di istanze

Successivamente, vediamo un messaggio sull'avvio riuscito dell'istanza che abbiamo appena creato. Possiamo andare all'elenco delle nostre istanze facendo clic sul pulsante visualizzare le istanze

Servizio VPN gratuito Wireguard su AWS

2.2. Creazione di un indirizzo IP esterno

2.2.1. Avvio della creazione di un IP esterno

Successivamente, dobbiamo creare un indirizzo IP esterno permanente attraverso il quale ci collegheremo al nostro server VPN. Per fare ciò, nel pannello di navigazione sul lato sinistro dello schermo, seleziona la voce IP elastici dalla categoria RETE E SICUREZZA e premere il pulsante Assegna nuovo indirizzo

Servizio VPN gratuito Wireguard su AWS

2.2.2. Configurazione della creazione di un IP esterno

Nel passaggio successivo, dobbiamo abilitare l'opzione Piscina amazzonica (abilitato per impostazione predefinita) e fare clic sul pulsante assegnare

Servizio VPN gratuito Wireguard su AWS

2.2.3. Panoramica dei risultati della creazione di un indirizzo IP esterno

La schermata successiva mostrerà l'indirizzo IP esterno che abbiamo ricevuto. Si consiglia di memorizzarlo ed è meglio anche scriverlo. tornerà utile più di una volta nel processo di ulteriore configurazione e utilizzo del server VPN. In questa guida, utilizzo l'indirizzo IP come esempio. 4.3.2.1. Una volta inserito l'indirizzo, premere il pulsante Chiudi

Servizio VPN gratuito Wireguard su AWS

2.2.4. Elenco di indirizzi IP esterni

Successivamente, ci viene presentato un elenco dei nostri indirizzi IP pubblici permanenti (IP elastici).

Servizio VPN gratuito Wireguard su AWS

2.2.5. Assegnazione di un IP esterno a un'istanza

In questo elenco, selezioniamo l'indirizzo IP che abbiamo ricevuto e premiamo il tasto destro del mouse per visualizzare un menu a discesa. In esso, seleziona l'elemento indirizzo associatoper assegnarlo all'istanza che abbiamo creato in precedenza.

Servizio VPN gratuito Wireguard su AWS

2.2.6. Impostazione dell'assegnazione dell'IP esterno

Nel passaggio successivo, seleziona la nostra istanza dall'elenco a discesa e premi il pulsante Associate

Servizio VPN gratuito Wireguard su AWS

2.2.7. Panoramica dei risultati dell'assegnazione di indirizzi IP esterni

Successivamente, possiamo vedere che la nostra istanza e il suo indirizzo IP privato sono associati al nostro indirizzo IP pubblico permanente.

Servizio VPN gratuito Wireguard su AWS

Ora possiamo connetterci alla nostra istanza appena creata dall'esterno, dal nostro computer tramite SSH.

3. Connettiti a un'istanza AWS

SSH è un protocollo sicuro per il controllo remoto dei dispositivi informatici.

3.1. Connessione tramite SSH da un computer Windows

Per connetterti a un computer Windows, devi prima scaricare e installare il programma stucco.

3.1.1. Importa la chiave privata per Putty

3.1.1.1. Dopo aver installato Putty, è necessario eseguire l'utilità PuTTYgen fornita con esso per importare la chiave del certificato in formato PEM, in un formato adatto all'uso in Putty. Per fare ciò, seleziona la voce nel menu in alto Conversioni->Importa chiave

Servizio VPN gratuito Wireguard su AWS

3.1.1.2. Scelta di una chiave AWS in formato PEM

Successivamente, seleziona la chiave che abbiamo precedentemente salvato nel passaggio 2.1.7.1, nel nostro caso il suo nome wireguard-awskey.pem

Servizio VPN gratuito Wireguard su AWS

3.1.1.3. Impostazione delle opzioni di importazione chiave

A questo punto, dobbiamo specificare un commento per questa chiave (descrizione) e impostare una password e una conferma per sicurezza. Verrà richiesto ogni volta che ti connetti. Pertanto, proteggiamo la chiave con una password da un uso inappropriato. Non è necessario impostare una password, ma è meno sicuro se la chiave cade nelle mani sbagliate. Dopo aver premuto il pulsante Salva chiave privata

Servizio VPN gratuito Wireguard su AWS

3.1.1.4. Salvataggio di una chiave importata

Si apre una finestra di dialogo di salvataggio del file e salviamo la nostra chiave privata come file con estensione .ppkadatto per l'uso nel programma stucco.
Specificare il nome della chiave (nel nostro caso wireguard-awskey.ppk) e premere il pulsante Salva.

Servizio VPN gratuito Wireguard su AWS

3.1.2. Creazione e configurazione di una connessione in Putty

3.1.2.1. Crea una connessione

Apri il programma Putty, seleziona una categoria Sessione (è aperto per impostazione predefinita) e sul campo Host Name inserire l'indirizzo IP pubblico del nostro server, che abbiamo ricevuto nel passaggio 2.2.3. In campo Sessione salvata inserisci un nome arbitrario per la nostra connessione (nel mio caso wireguard-aws-londra), quindi premere il pulsante Risparmi per salvare le modifiche apportate.

Servizio VPN gratuito Wireguard su AWS

3.1.2.2. Impostazione dell'accesso automatico dell'utente

Altro nella categoria Connessione, scegli una sottocategoria Dati e sul campo Nome utente di accesso automatico inserire username ubuntu è l'utente standard dell'istanza su AWS con Ubuntu.

Servizio VPN gratuito Wireguard su AWS

3.1.2.3. Scelta di una chiave privata per la connessione tramite SSH

Quindi vai alla sottocategoria Connessione/SSH/Aut e accanto al campo File di chiave privata per l'autenticazione clicca sul pulsante Sfoglia ... per selezionare un file con un certificato chiave.

Servizio VPN gratuito Wireguard su AWS

3.1.2.4. Apertura di una chiave importata

Specificare la chiave che abbiamo importato in precedenza al passaggio 3.1.1.4, nel nostro caso è un file wireguard-awskey.ppke premere il pulsante aperto.

Servizio VPN gratuito Wireguard su AWS

3.1.2.5. Salvataggio delle impostazioni e avvio di una connessione

Ritorno alla pagina delle categorie Sessione premere nuovamente il pulsante Risparmi, per salvare le modifiche apportate in precedenza nei passaggi precedenti (3.1.2.2 - 3.1.2.4). E poi premiamo il pulsante Apri per aprire la connessione SSH remota che abbiamo creato e configurato.

Servizio VPN gratuito Wireguard su AWS

3.1.2.7. Impostazione della fiducia tra gli host

Nel passaggio successivo, la prima volta che proviamo a connetterci, ci viene dato un avviso, non abbiamo fiducia configurata tra i due computer e ci chiede se fidarci del computer remoto. Premeremo il pulsante , aggiungendolo quindi all'elenco degli host attendibili.

Servizio VPN gratuito Wireguard su AWS

3.1.2.8. Immissione di una password per accedere alla chiave

Dopodiché, si apre una finestra di terminale, in cui ti viene chiesta la password per la chiave, se l'hai impostata in precedenza al passaggio 3.1.1.3. Quando si immette una password, non si verifica alcuna azione sullo schermo. Se commetti un errore, puoi usare la chiave Backspace.

Servizio VPN gratuito Wireguard su AWS

3.1.2.9. Messaggio di benvenuto in caso di connessione riuscita

Dopo aver inserito correttamente la password, ci viene mostrato un testo di benvenuto nel terminale, che ci dice che il sistema remoto è pronto per eseguire i nostri comandi.

Servizio VPN gratuito Wireguard su AWS

4. Configurazione del server Wireguard

Le istruzioni più aggiornate per l'installazione e l'utilizzo di Wireguard utilizzando gli script descritti di seguito sono disponibili nel repository: https://github.com/isystem-io/wireguard-aws

4.1. Installazione di Wireguard

Nel terminale, inserisci i seguenti comandi (puoi copiare negli appunti e incollare nel terminale premendo il tasto destro del mouse):

4.1.1. Clonazione di un repository

Clona il repository con gli script di installazione di Wireguard

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

4.1.2. Passaggio alla directory con gli script

Vai alla directory con il repository clonato

cd wireguard_aws

4.1.3 Esecuzione dello script di inizializzazione

Esegui come amministratore (utente root) lo script di installazione di Wireguard

sudo ./initial.sh

Il processo di installazione richiederà alcuni dati necessari per configurare Wireguard

4.1.3.1. Ingresso punto di connessione

Immettere l'indirizzo IP esterno e aprire la porta del server Wireguard. Abbiamo ottenuto l'indirizzo IP esterno del server nel passaggio 2.2.3 e aperto la porta nel passaggio 2.1.5. Li indichiamo insieme, separandoli con i due punti, per esempio 4.3.2.1:54321e quindi premere il tasto entrare
Esempio di output:

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. Immissione dell'indirizzo IP interno

Inserisci l'indirizzo IP del server Wireguard sulla sottorete VPN sicura, se non sai qual è, basta premere il tasto Invio per impostare il valore predefinito (10.50.0.1)
Esempio di output:

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

4.1.3.3. Specifica di un server DNS

Immettere l'indirizzo IP del server DNS o premere semplicemente il tasto Invio per impostare il valore predefinito 1.1.1.1 (DNS pubblico di Cloudflare)
Esempio di output:

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

4.1.3.4. Specifica dell'interfaccia WAN

Successivamente, è necessario inserire il nome dell'interfaccia di rete esterna che ascolterà sull'interfaccia di rete interna VPN. Basta premere Invio per impostare il valore predefinito per AWS (eth0)
Esempio di output:

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

4.1.3.5. Specificando il nome del cliente

Immettere il nome dell'utente VPN. Il fatto è che il server VPN Wireguard non sarà in grado di avviarsi fino a quando non sarà stato aggiunto almeno un client. In questo caso, ho inserito il nome Alex@mobile
Esempio di output:

Enter VPN user name: Alex@mobile

Successivamente, sullo schermo dovrebbe essere visualizzato un codice QR con la configurazione del client appena aggiunto, che deve essere letto utilizzando il client mobile Wireguard su Android o iOS per configurarlo. E anche sotto il codice QR, verrà visualizzato il testo del file di configurazione in caso di configurazione manuale dei client. Come fare questo sarà discusso di seguito.

Servizio VPN gratuito Wireguard su AWS

4.2. Aggiunta di un nuovo utente VPN

Per aggiungere un nuovo utente, è necessario eseguire lo script nel terminale add-client.sh

sudo ./add-client.sh

Lo script richiede un nome utente:
Esempio di output:

Enter VPN user name: 

Inoltre, il nome degli utenti può essere passato come parametro di script (in questo caso Alex@mobile):

sudo ./add-client.sh Alex@mobile

Come risultato dell'esecuzione dello script, nella directory con il nome del client lungo il percorso /etc/wireguard/clients/{ИмяКлиента} verrà creato il file di configurazione del client /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.confe lo schermo del terminale visualizzerà un codice QR per l'impostazione dei client mobili e il contenuto del file di configurazione.

4.2.1. File di configurazione dell'utente

È possibile visualizzare sullo schermo il contenuto del file .conf, per la configurazione manuale del client, utilizzando il comando cat

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

risultato dell'esecuzione:

[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

Descrizione del file di configurazione del client:

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

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

4.2.2. Codice QR per la configurazione del client

È possibile visualizzare un codice QR di configurazione per un client precedentemente creato sullo schermo del terminale utilizzando il comando qrencode -t ansiutf8 (in questo esempio viene utilizzato il client denominato Alex@mobile):

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

5. Configurazione dei client VPN

5.1. Configurazione del client mobile Android

Il client Wireguard ufficiale per Android può essere installa dal Google Play Store ufficiale

Dopodiché è necessario importare la configurazione leggendo il QR code con la configurazione del client (vedi paragrafo 4.2.2) e dargli un nome:

Servizio VPN gratuito Wireguard su AWS

Dopo aver importato correttamente la configurazione, puoi abilitare il tunnel VPN. Una connessione riuscita verrà indicata da una chiave nascosta nella barra delle applicazioni di Android

Servizio VPN gratuito Wireguard su AWS

5.2. Configurazione del client Windows

Per prima cosa devi scaricare e installare il programma TunSafe per Windows è il client Wireguard per Windows.

5.2.1. Creazione di un file di configurazione di importazione

Fare clic con il pulsante destro del mouse per creare un file di testo sul desktop.

Servizio VPN gratuito Wireguard su AWS

5.2.2. Copia il contenuto del file di configurazione dal server

Quindi torniamo al terminale Putty e visualizziamo il contenuto del file di configurazione dell'utente desiderato, come descritto al punto 4.2.1.
Successivamente, fai clic con il pulsante destro del mouse sul testo di configurazione nel terminale Putty, dopo che la selezione è stata completata, verrà automaticamente copiato negli appunti.

Servizio VPN gratuito Wireguard su AWS

5.2.3. Copia della configurazione in un file di configurazione locale

In questo campo, torniamo al file di testo che abbiamo creato in precedenza sul desktop e vi incolliamo il testo di configurazione dagli appunti.

Servizio VPN gratuito Wireguard su AWS

5.2.4. Salvataggio di un file di configurazione locale

Salva il file con estensione .conf (in questo caso denominato london.conf)

Servizio VPN gratuito Wireguard su AWS

5.2.5. Importazione di un file di configurazione locale

Successivamente, è necessario importare il file di configurazione nel programma TunSafe.

Servizio VPN gratuito Wireguard su AWS

5.2.6. Configurazione di una connessione VPN

Seleziona questo file di configurazione e connettiti facendo clic sul pulsante Connettiti.
Servizio VPN gratuito Wireguard su AWS

6. Verifica se la connessione ha avuto successo

Per verificare il buon esito della connessione attraverso il tunnel VPN, è necessario aprire un browser e recarsi sul sito https://2ip.ua/ru/

Servizio VPN gratuito Wireguard su AWS

L'indirizzo IP visualizzato deve corrispondere a quello che abbiamo ricevuto nel passaggio 2.2.3.
In tal caso, il tunnel VPN funziona correttamente.

Dal terminale Linux, puoi controllare il tuo indirizzo IP digitando:

curl http://zx2c4.com/ip

Oppure puoi semplicemente andare su pornhub se sei in Kazakistan.

Fonte: habr.com

Aggiungi un commento