Servizio VPN gratuito Wireguard su AWS

A cosa serve?

Con l'aumento della censura di Internet da parte dei regimi autoritari, un numero crescente di risorse e siti web utili viene bloccato, compresi quelli con informazioni tecniche.
Di conseguenza, diventa impossibile utilizzare Internet in modo completo e viene violato il diritto fondamentale alla libertà di parola, sancito nella Dichiarazione Universale dei Diritti Umani.

Articolo 19
Ogni persona ha il diritto alla libertà di opinione e di espressione; questo diritto include la libertà di avere opinioni senza interferenze e la libertà di cercare, ricevere e diffondere informazioni e idee con qualsiasi mezzo e indipendentemente dai confini statali.

In questa guida, in 6 passaggi, ci costruiremo il nostro * è la scelta giusta. sulla base della tecnologia Wireguard, in un'infrastruttura cloud Amazon Web Services (AWS), utilizzando un account gratuito (per 12 mesi), su un'istanza (macchina virtuale) gestita da Ubuntu Server 18.04 LTS.
Ho cercato di rendere questa guida passo-passo il più amichevole possibile per chi non ha esperienza in IT. L'unica cosa richiesta è la perseveranza nel ripetere i passaggi descritti di seguito.

Nota

Fasi

  1. Registrazione di un account AWS gratuito
  2. Creazione di un'istanza AWS
  3. Connessione all'istanza AWS
  4. Configurazione di Wireguard
  5. Configurazione dei client VPN
  6. Verifica della correttezza dell'installazione VPN

Link utili

1. Registrazione dell'account AWS

Per registrare un'account AWS gratuito è necessario un numero di telefono reale e una carta di credito Visa o Mastercard valida. Consiglio di utilizzare carte virtuali offerte gratuitamente da Yandex.Money o Portafoglio Qiwi. Per verificare la validità della carta, al momento della registrazione viene addebitato un importo di 1$ che verrà successivamente restituito.

1.1. Apertura della console di gestione AWS

È necessario aprire il browser e andare all'indirizzo: https://aws.amazon.com/ru/
Cliccare sul pulsante "Registrazione"

Servizio VPN gratuito Wireguard su AWS

1.2. Compilazione dei dati personali

Compilare i dati e cliccare sul pulsante "Continua"

Servizio VPN gratuito Wireguard su AWS

1.3. Compilazione dei dati di contatto

Compilare le informazioni di contatto.

Servizio VPN gratuito Wireguard su AWS

1.4. Inserimento delle informazioni di pagamento.

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

Servizio VPN gratuito Wireguard su AWS

1.5. Conferma dell'account

In questa fase si conferma il numero di telefono e si addebita direttamente 1$ dalla carta di pagamento. Sullo schermo del computer viene visualizzato un codice di 4 cifre e sul numero di telefono indicato ricevi una chiamata da Amazon. Durante la chiamata è necessario digitare il codice visualizzato sullo schermo.

Servizio VPN gratuito Wireguard su AWS

1.6. Selezione del piano tariffario.

Selezioniamo — Piano Base (gratuito)

Servizio VPN gratuito Wireguard su AWS

1.7. Accesso alla console di gestione

Servizio VPN gratuito Wireguard su AWS

1.8. Selezione della posizione del data center

Servizio VPN gratuito Wireguard su AWS

1.8.1. Test della velocità

Prima di scegliere un data center, è consigliabile testare tramite https://speedtest.net la velocità di accesso ai data center più vicini; nella mia posizione i risultati sono questi:

  • 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 offre i migliori risultati in termini di velocità. Pertanto, l'ho scelto per la configurazione successiva.

2. Creazione di un'istanza AWS

2.1 Creazione di una macchina virtuale

2.1.1. Selezione del tipo di istanza

Di default è selezionata l'istanza t2.micro, di cui abbiamo bisogno, basta premere il pulsante Next: Configura i dettagli dell'istanza

Servizio VPN gratuito Wireguard su AWS

2.1.2. Configurazione delle impostazioni dell'istanza

In seguito collegheremo un indirizzo IP pubblico statico alla nostra istanza, quindi in questa fase disattiviamo l'assegnazione automatica dell'IP pubblico e premiamo il pulsante Next: Aggiungi storage

Servizio VPN gratuito Wireguard su AWS

2.1.3. Collegamento dello storage

Indichiamo la dimensione del "disco rigido". Per i nostri scopi, 16 gigabyte sono sufficienti, quindi premiamo il pulsante Next: Aggiungi Tag

Servizio VPN gratuito Wireguard su AWS

2.1.4. Configurazione dei tag

Se stessimo creando diverse istanze, potremmo raggrupparle per tag, per facilitare l'amministrazione. In questo caso, questa funzionalità è superflua, premiamo subito il pulsante Next: Configura il Gruppo di Sicurezza

Servizio VPN gratuito Wireguard su AWS

2.1.5. Apertura delle porte

In questa fase configuriamo il firewall, aprendo le porte necessarie. L'insieme delle porte aperte è chiamato "Gruppo di Sicurezza" (Security Group). Dobbiamo creare un nuovo gruppo di sicurezza, dargli un nome, una descrizione, aggiungere la porta UDP (Regola UDP personalizzata); nel campo Rort Range dobbiamo specificare il numero di porta, dall'intervallo delle porte dinamiche 49152—65535. In questo caso ho scelto il numero di porta 54321.

Servizio VPN gratuito Wireguard su AWS

Dopo aver compilato i dati necessari, premiamo il pulsante Review and Launch

2.1.6. Panoramica di tutte le impostazioni

In questa pagina c'è una panoramica di tutte le impostazioni della nostra istanza, controlliamo che tutte le impostazioni siano corrette e premiamo il pulsante Launch

Servizio VPN gratuito Wireguard su AWS

2.1.7. Creazione delle chiavi di accesso

Successivamente appare una finestra di dialogo che offre di creare o aggiungere una chiave SSH esistente, tramite la quale ci collegheremo in seguito al nostro istanza. Selezioniamo l'opzione «Crea un nuovo paio di chiavi» per creare una nuova chiave. Assegniamo un nome e premiamo il pulsante Scarica il paio di chiavi, per scaricare le chiavi create. Salvale in un luogo sicuro sul disco del computer locale. Dopo aver scaricato, premi il pulsante Avvia istanze

Servizio VPN gratuito Wireguard su AWS

2.1.7.1. Salvataggio delle chiavi di accesso

Qui è mostrato il passaggio di salvataggio delle chiavi create dal passaggio precedente. Dopo aver premuto il pulsante Scarica il paio di chiavi, la chiave viene salvata come file di certificato con estensione *.pem. In questo caso l'ho denominato wireguard-awskey.pem

Servizio VPN gratuito Wireguard su AWS

2.1.8. Panoramica sui risultati della creazione dell'istanza

Successivamente vediamo un messaggio di successo relativo all'avvio della nostra istanza appena creata. Possiamo passare all'elenco delle nostre istanze premendo il pulsante Visualizza 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

Adesso dobbiamo creare un indirizzo IP esterno permanente, attraverso il quale ci connetteremo al nostro server VPN. Per fare ciò, nel pannello di navigazione sul lato sinistro dello schermo, dobbiamo selezionare l'opzione Elastic IPs dalla categoria RETE & SICUREZZA e premere il pulsante Assegna nuovo indirizzo

Servizio VPN gratuito Wireguard su AWS

2.2.2. Configurazione della creazione di un IP esterno

Nella fase successiva è necessario assicurarsi che l'opzione Amazon pool (attivata per impostazione predefinita) sia attivata, e premere il pulsante Assegna

Servizio VPN gratuito Wireguard su AWS

2.2.3. Panoramica sui risultati della creazione dell'IP esterno

Nella schermata successiva verrà visualizzato l'indirizzo IP esterno ricevuto. È consigliabile ricordarlo, o meglio ancora, annotarlo. Ci sarà utile più volte durante la successiva configurazione e utilizzo del server VPN. In questa guida, come esempio, utilizzo l'indirizzo IP 4.3.2.1. Una volta registrato l'indirizzo, premiamo il pulsante Chiudi

Servizio VPN gratuito Wireguard su AWS

2.2.4. Elenco degli indirizzi IP esterni

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

Servizio VPN gratuito Wireguard su AWS

2.2.5. Assegnazione di un IP esterno all'istanza

In questo elenco scegliamo l'indirizzo IP ricevuto, e clicchiamo con il tasto destro del mouse per far apparire il menu a discesa. Selezioniamo l'opzione Associa indirizzo, per assegnarlo all'istanza da noi creata in precedenza.

Servizio VPN gratuito Wireguard su AWS

2.2.6. Configurazione dell'assegnazione dell'IP esterno

Nella fase successiva scegliamo dal menu a discesa la nostra istanza e premiamo il pulsante Associa

Servizio VPN gratuito Wireguard su AWS

2.2.7. Panoramica sui risultati dell'assegnazione dell'IP esterno

Dopo di ciò, possiamo vedere che il nostro istanza è collegato al nostro indirizzo IP pubblico permanente e al suo indirizzo IP privato.

Servizio VPN gratuito Wireguard su AWS

Adesso possiamo connetterci al nostro nuovo istanza da fuori, dal nostro computer tramite SSH.

3. Connessione all'istanza AWS

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

3.1. Connessione tramite SSH da un computer Windows

Per connettersi da un computer Windows, è necessario prima scaricare e installare il programma Putty.

3.1.1. Importazione della chiave privata per Putty

3.1.1.1. Dopo aver installato Putty, dobbiamo avviare l'utility PuTTYgen che viene fornita con esso per importare la chiave del certificato in formato PEM in un formato utilizzabile con il programma Putty. A tale scopo, nel menu superiore, scegliamo l'opzione Conversions->Import Key

Servizio VPN gratuito Wireguard su AWS

3.1.1.2. Selezione della chiave AWS in formato PEM

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

Servizio VPN gratuito Wireguard su AWS

3.1.1.3. Impostazione dei parametri di importazione della chiave

In questo passaggio dobbiamo specificare un commento per questa chiave (descrizione) e impostare una password per la sicurezza. Questa verrà richiesta ad ogni connessione, in questo modo proteggiamo la chiave con una password per evitarne un uso non autorizzato. Non è obbligatorio impostare una password, ma è meno sicuro nel caso in cui la chiave finisca nelle mani sbagliate. Dopo di ciò, premiamo il pulsante Save private key

Servizio VPN gratuito Wireguard su AWS

3.1.1.4. Salvataggio della chiave importata

Si apre una finestra di dialogo per il salvataggio del file, e salviamo la nostra chiave privata come un file con estensione .ppk, adatta per l'uso con il programma Putty.
Indichiamo il nome della chiave (nel nostro caso wireguard-awskey.ppk) e premiamo il pulsante Salva.

Servizio VPN gratuito Wireguard su AWS

3.1.2. Creazione e configurazione della connessione in Putty

3.1.2.1. Creazione della connessione

Apriamo il programma Putty, scegliamo la categoria Session (è aperta di default) e nel campo Host Name inseriamo l'indirizzo IP pubblico del nostro server, che abbiamo ottenuto al passaggio 2.2.3. Nel campo Saved Session inseriamo un nome a nostro piacere per la connessione (nel mio caso wireguard-aws-london), e poi premiamo il pulsante Salva per salvare le modifiche apportate.

Servizio VPN gratuito Wireguard su AWS

3.1.2.2. Configurazione dell'accesso automatico dell'utente

Successivamente, nella categoria Connection, scegliamo la sotto-categoria Dati e nel campo Auto-login username inseriamo il nome utente ubuntu — è l'utente standard dell'istanza su AWS con Ubuntu.

Servizio VPN gratuito Wireguard su AWS

3.1.2.3. Selezione della chiave privata per la connessione SSH

Poi passiamo alla sotto-categoria Connection/SSH/Auth e accanto al campo File della chiave privata per l'autenticazione clicchiamo sul pulsante Sfoglia… per selezionare il file del certificato della chiave.

Servizio VPN gratuito Wireguard su AWS

3.1.2.4. Apertura della chiave importata

Specifichiamo la chiave che abbiamo importato precedentemente nel passaggio 3.1.1.4, nel nostro caso è il file wireguard-awskey.ppk, e facciamo clic sul pulsante Apri.

Servizio VPN gratuito Wireguard su AWS

3.1.2.5. Salvataggio delle impostazioni e avvio della connessione

Tornati alla pagina della categoria Session clicchiamo di nuovo sul pulsante Salva, per salvare le modifiche fatte nei passaggi precedenti (3.1.2.2 — 3.1.2.4). E poi clicchiamo sul pulsante Apri per aprire la connessione remota creata e configurata tramite SSH.

Servizio VPN gratuito Wireguard su AWS

3.1.2.7. Configurazione della fiducia tra gli host

Nel prossimo passaggio, al primo tentativo di connessione, ci viene visualizzato un avviso, non abbiamo configurato la fiducia tra i due computer, e ci si chiede se vogliamo fidarci del computer remoto. Cliccheremo sul pulsante , aggiungendolo così all'elenco degli host fidati.

Servizio VPN gratuito Wireguard su AWS

3.1.2.8. Inserimento della password per accedere alla chiave

Dopo di che si apre una finestra del terminale, dove viene richiesta la password per la chiave, se l'avevate impostata precedentemente nel passaggio 3.1.1.3. Durante l'inserimento della password, non vede alcuna azione sullo schermo. Se commettete un errore, potete usare il tasto Backspace.

Servizio VPN gratuito Wireguard su AWS

3.1.2.9. Messaggio di benvenuto per la connessione riuscita

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

Servizio VPN gratuito Wireguard su AWS

4. Configurazione del server Wireguard

Puoi trovare le istruzioni più aggiornate per l'installazione e l'uso di Wireguard utilizzando gli script descritti di seguito nel repository: https://github.com/isystem-io/wireguard-aws

4.1. Installazione di Wireguard

Nel terminale inseriamo i seguenti comandi (puoi copiarli negli appunti e incollarli nel terminale con un clic destro del mouse):

4.1.1. Clonazione del repository

Cloniamo il repository con gli script di installazione di Wireguard

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

4.1.2. Accesso alla directory degli script

Accediamo alla directory del repository clonato

cd wireguard_aws

4.1.3. Avvio dello script di inizializzazione

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

sudo ./initial.sh

Durante l'installazione verranno richieste alcune informazioni necessarie per la configurazione di Wireguard

4.1.3.1. Inserimento del punto di collegamento

Inserisci l'indirizzo IP esterno e la porta aperta del server Wireguard. L'indirizzo IP esterno del server è stato ottenuto nel passaggio 2.2.3, mentre la porta è stata aperta nel passaggio 2.1.5. Indicali insieme, separandoli con un colon, per esempio 4.3.2.1:54321, e dopo questo premi il tasto Invio
Esempio di output:

Inserisci l'endpoint (IP esterno e porta) nel formato [ipv4:porta] (es. 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. Inserimento dell'indirizzo IP interno

Inserisci l'indirizzo IP del server Wireguard nella sottorete VPN protetta, se non sai cosa sia, premi semplicemente il tasto Invio per impostare il valore predefinito (10.50.0.1)
Esempio di output:

Inserisci l'indirizzo del server nella sottorete VPN (formato CIDR) ([ENTER] per impostare il default: 10.50.0.1):

4.1.3.3. Specifica del server DNS

Inserisci l'indirizzo IP del server DNS, oppure premi semplicemente il tasto Invio per impostare il valore predefinito 1.1.1.1 (DNS pubblico Cloudflare)
Esempio di output:

Inserisci l'indirizzo IP del server DNS (formato CIDR) ([ENTER] per impostare il 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à l'interfaccia di rete interna della VPN. Premi semplicemente Invio per impostare il valore di default per AWS (eth0)
Esempio di output:

Inserisci il nome dell'interfaccia di rete WAN ([ENTER] per impostare il default: eth0):

4.1.3.5. Specifica del nome del client

Inserisci il nome dell'utente VPN. È importante notare che il server VPN Wireguard non può avviarsi finché non è stato aggiunto almeno un client. In questo caso ho inserito il nome Alex@mobile
Esempio di output:

Inserisci il nome utente VPN: Alex@mobile

Dopo questo, sullo schermo dovrebbe apparire un codice QR con la configurazione del client appena aggiunto, che deve essere scansionato utilizzando il client mobile Wireguard su Android o iOS per la sua configurazione. Inoltre, sotto il codice QR verrà visualizzato il testo del file di configurazione nel caso di una configurazione manuale dei client. Come fare sarà spiegato in 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 il nome utente:
Esempio di output:

Inserisci il nome utente VPN: 

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

sudo ./add-client.sh Alex@mobile

Al termine dell'esecuzione dello script, nella cartella con il nome del client verrà creato un file con la configurazione del client /etc/wireguard/clients/{ИмяКлиента} verrà visualizzato un codice QR per configurare i client mobili e il contenuto del file di configurazione. /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf4.2.1. File di configurazione utente

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

sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf cat

risultato dell'esecuzione:

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 = Chiave privata del client
Address = Indirizzo IP del client
DNS = DNS utilizzato dal client

[Peer]
PublicKey = Chiave pubblica del server
PresharedKey = Chiave condivisa tra server e client
AllowedIPs = Indirizzi consentiti per la connessione (tutti - 0.0.0.0/0, ::/0)
Endpoint = Indirizzo IP e porta per la connessione

4.2.2. Codice QR della configurazione del client

Per visualizzare il codice QR della configurazione per il client creato in precedenza, è possibile utilizzare il comando qrencode -t ansiutf8 (in questo esempio si utilizza un client con il nome Alex@mobile):

sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf8

5. Configurazione dei client VPN

5.1. Impostazione del client mobile Android

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

Successivamente, è necessario importare la configurazione, leggendo il codice QR della configurazione del client (vedi punto 4.2.2) e assegnargli un nome:

Servizio VPN gratuito Wireguard su AWS

Dopo aver importato con successo la configurazione, è possibile attivare il tunnel VPN. L'icona del lucchetto nella barra di stato di Android indicherà il collegamento riuscito.

Servizio VPN gratuito Wireguard su AWS

5.2. Impostazione del client Windows

Per prima cosa, è necessario scaricare e installare il programma TunSafe per Windows — è un client Wireguard per Windows.

5.2.1. Creazione del file di configurazione per l'importazione

Clicca con il tasto destro per creare un file di testo sul desktop.

Servizio VPN gratuito Wireguard su AWS

5.2.2. Copia del contenuto del file di configurazione dal server

Torna poi al terminale Putty e visualizza il contenuto del file di configurazione per l'utente necessario, come descritto nel passaggio 4.2.1.
Successivamente, seleziona il testo della configurazione nel terminale Putty con il tasto destro del mouse; una volta selezionato, verrà copiato automaticamente negli appunti.

Servizio VPN gratuito Wireguard su AWS

5.2.3. Copia della configurazione nel file di configurazione locale

Dopo di ciò, torna al file di testo precedentemente creato sul desktop e incolla il testo della configurazione dagli appunti.

Servizio VPN gratuito Wireguard su AWS

5.2.4. Salvataggio del file di configurazione locale

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

Servizio VPN gratuito Wireguard su AWS

5.2.5. Importazione del file di configurazione locale

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

Servizio VPN gratuito Wireguard su AWS

5.2.6. Stabilire la connessione VPN

Seleziona questo file di configurazione e connettiti premendo il pulsante Connessione.
Servizio VPN gratuito Wireguard su AWS

6. Verifica del successo della connessione

Per verificare il successo della connessione tramite tunnel VPN, è necessario aprire il browser e andare sul sito https://2ip.ua/ru/

Servizio VPN gratuito Wireguard su AWS

L'indirizzo IP visualizzato deve corrispondere a quello che abbiamo ottenuto al punto 2.2.3.
Se è così, significa che il tunnel VPN funziona correttamente.

Dal terminale in Linux è possibile controllare il proprio indirizzo IP digitando il comando:

curl http://zx2c4.com/ip

Oppure puoi semplicemente andare su un sito di pornografia, se ti trovi in Kazakistan.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS - ProHoster