Serviciu VPN gratuit Wireguard pe AWS

De ce?

Odată cu creșterea cenzurii internetului de către regimurile autoritare, tot mai multe resurse și site-uri utile de pe internet sunt blocate, inclusiv cele cu informații tehnice.
Astfel, devine imposibil să folosești internetul în mod corespunzător, iar dreptul fundamental la libertatea de exprimare este încălcat, așa cum este stipulat în Declarația Universală a Drepturilor Omului.

Articolul 19
Orice persoană are dreptul la libertatea de opinie și la libertatea de exprimare; acest drept include libertatea de a deține opiniile sale fără interferență și libertatea de a căuta, primi și difuza informații și idei prin orice mijloace, indiferent de frontierele statelor.

În acest ghid, vom desfășura propriul nostru serviciu gratuit* serviciu VPN bazat pe tehnologia Wireguard, în infrastructura cloud Amazon Web Services (AWS), folosind un cont gratuit (valabil 12 luni), pe o instanță (virtual machine) care rulează Ubuntu Server 18.04 LTS.
Am încercat să fac acest ghid pas cu pas cât mai prietenos pentru cei care sunt departe de IT. Singurul lucru necesar este răbdarea de a repeta pașii descriși mai jos.

Notă

Etape

  1. Înregistrarea unui cont gratuit AWS
  2. Crearea unei instanțe AWS
  3. Conectarea la instanța AWS
  4. Configurarea Wireguard
  5. Configurarea clienților VPN
  6. Verificarea corectitudinii instalării VPN

Linkuri utile

1. Înregistrarea unui cont AWS

Pentru a înregistra un cont gratuit AWS, este necesar un număr de telefon real și o carte de credit Visa sau Mastercard funcțională. Îți recomand să folosești cardurile virtuale care sunt oferite gratuit de Yandex.Money sau Portofelul Qiwi. Pentru a verifica validitatea cardului, la înregistrare se rețin 1$, sumă ce va fi returnată ulterior.

1.1. Deschiderea consolei de management AWS

Este necesar să deschizi un browser și să accesezi adresa: https://aws.amazon.com/ru/
Apasă pe butonul „Înregistrare”

Serviciu VPN gratuit Wireguard pe AWS

1.2. Completarea datelor personale

Completează informațiile și apasă pe butonul „Continuați”

Serviciu VPN gratuit Wireguard pe AWS

1.3. Completarea informațiilor de contact

Completează datele de contact.

Serviciu VPN gratuit Wireguard pe AWS

1.4. Introducerea informațiilor de plată.

Numărul cardului, data expirării și numele titularului cardului.

Serviciu VPN gratuit Wireguard pe AWS

1.5. Confirmarea contului

În această etapă se confirmă numărul de telefon și se deduce suma de 1$ de pe cardul de plată. Pe ecranul computerului apare un cod de 4 cifre, iar pe telefonul specificat se primește un apel din partea Amazon. În timpul apelului, este necesar să introduceți codul afișat pe ecran.

Serviciu VPN gratuit Wireguard pe AWS

1.6. Alegerea planului tarifar.

Alegem — Planul de bază (gratuit)

Serviciu VPN gratuit Wireguard pe AWS

1.7. Accesarea consolei de management

Serviciu VPN gratuit Wireguard pe AWS

1.8. Alegerea locației centrului de date

Serviciu VPN gratuit Wireguard pe AWS

1.8.1. Testarea vitezei

Înainte de a alege centrul de date, se recomandă testarea prin https://speedtest.net viteza de acces la cele mai apropiate centre de date, în locația mea rezultatele sunt următoarele:

  • Singapore
    Serviciu VPN gratuit Wireguard pe AWS
  • Paris
    Serviciu VPN gratuit Wireguard pe AWS
  • Frankfurt
    Serviciu VPN gratuit Wireguard pe AWS
  • Stokholm
    Serviciu VPN gratuit Wireguard pe AWS
  • Londra
    Serviciu VPN gratuit Wireguard pe AWS

Centrul de date din Londra oferă cele mai bune rezultate de viteză. De aceea, l-am ales pentru configurarea ulterioară.

2. Crearea unei instanțe AWS

2.1 Crearea unei mașini virtuale

2.1.1. Alegerea tipului de instanță

Implicit, este selectată instanța t2.micro, care ne este necesară, deci apăsăm butonul Next: Configure Instance Details

Serviciu VPN gratuit Wireguard pe AWS

2.1.2. Configurarea parametrilor instanței

Mai departe vom conecta un IP public permanent la instanța noastră, prin urmare în acest moment dezactivăm alocarea automată a IP-ului public și apăsăm butonul Next: Add Storage

Serviciu VPN gratuit Wireguard pe AWS

2.1.3. Conectarea stocării

Specificăm dimensiunea „hard disk-ului”. Pentru scopurile noastre, 16 gigabyți sunt suficiente, și apăsăm butonul Next: Add Tags

Serviciu VPN gratuit Wireguard pe AWS

2.1.4. Configurarea etichetelor

Dacă am crea mai multe instanțe, le-am putea grupa după etichete pentru a ușura administrarea. În acest caz, această funcționalitate este redundantă, așa că apăsăm imediat butonul Next: Configure Security Group

Serviciu VPN gratuit Wireguard pe AWS

2.1.5. Deschiderea porturilor

În această etapă configurăm firewall-ul, deschizând porturile necesare. Setul de porturi deschise se numește „Grup de securitate”. Trebuie să creăm un nou grup de securitate, să-i dăm un nume, o descriere, să adăugăm port UDP (Custom UDP Rule), în câmpul Rort Range trebuie să specificăm numărul portului din intervalul porturilor dinamice 49152—65535. În acest caz, am ales numărul portului 54321.

Serviciu VPN gratuit Wireguard pe AWS

După completarea datelor necesare, apăsăm pe butonul Review and Launch

2.1.6. Revizuirea tuturor setărilor

În această pagină avem o revizuire a tuturor setărilor instanței noastre, verificăm dacă toate setările sunt în regulă și apăsăm butonul Lansează

Serviciu VPN gratuit Wireguard pe AWS

2.1.7. Crearea cheilor de acces

Următorul apare un dialog care oferă opțiunea de a crea sau de a adăuga o cheie SSH existentă, care ulterior ne va permite să ne conectăm la instanța noastră de la distanță. Alegem opțiunea „Creează un nou set de chei” pentru a crea o cheie nouă. Îi atribuim un nume și facem clic pe butonul Descarcă setul de chei, pentru a descărca cheile generate. Salvați-le într-un loc sigur pe hard diskul computerului local. După ce le-ați descărcat, apăsați butonul Lansați instanțele

Serviciu VPN gratuit Wireguard pe AWS

2.1.7.1. Salvarea cheilor de acces

Aici este prezentat pasul de salvare a cheilor create din etapa anterioară. După ce am apăsat butonul Descarcă setul de chei, cheia este salvată ca un fișier certificat cu extensia *.pem. În acest caz, i-am dat numele wireguard-awskey.pem

Serviciu VPN gratuit Wireguard pe AWS

2.1.8. Revizuirea rezultatelor creării instanței

Apoi vedem un mesaj de succes pentru lansarea instanței pe care tocmai am creat-o. Putem accesa lista instanțelor noastre apăsând pe butonul Vizualizați instanțele

Serviciu VPN gratuit Wireguard pe AWS

2.2. Crearea unei adrese IP externe

2.2.1. Inițierea creării unei adrese IP externe

Apoi trebuie să creăm o adresă IP externă statică, prin care ne vom conecta la serverul nostru VPN. Pentru aceasta, în bara de navigare din partea stângă a ecranului, trebuie să selectăm opțiunea Elastic IPs din categoria REȚEA & SECURITATE și facem clic pe butonul Atribuie o nouă adresă

Serviciu VPN gratuit Wireguard pe AWS

2.2.2. Configurarea creării unei adrese IP externe

În pasul următor, trebuie să ne asigurăm că opțiunea Amazon pool (activată implicit), este selectată, și facem clic pe butonul Atribuie

Serviciu VPN gratuit Wireguard pe AWS

2.2.3. Revizuirea rezultatelor creării unei adrese IP externe

Pe ecranul următor va apărea adresa IP externă obținută. Este recomandat să o rețineți, iar mai bine chiar să o notați. Ne va fi utilă din nou în procesul de configurare și utilizare a serverului VPN. În acest ghid, folosesc ca exemplu adresa IP 4.3.2.1. După ce ați notat adresa, faceți clic pe butonul Închide

Serviciu VPN gratuit Wireguard pe AWS

2.2.4. Lista adreselor IP externe

Apoi ne deschide o listă cu adresele noastre IP publice permanente (IP elastice).

Serviciu VPN gratuit Wireguard pe AWS

2.2.5. Atribuirea adresei IP instanței

În această listă, selectăm adresa IP obținută și facem clic dreapta pentru a deschide un meniu derulant. Acolo alegem opțiunea Atribuie adresă, pentru a o aloca instanței create anterior.

Serviciu VPN gratuit Wireguard pe AWS

2.2.6. Configurarea alocării adresei IP externe

În pasul următor, alegem din lista derulantă instanța noastră și facem clic pe butonul Asociază

Serviciu VPN gratuit Wireguard pe AWS

2.2.7. Revizuirea rezultatelor asocierii adresei IP externe

După aceasta, putem observa că instanța noastră este asociată cu adresa noastră IP publică statică și cu adresa sa IP privată.

Serviciu VPN gratuit Wireguard pe AWS

Acum putem să ne conectăm la noua noastră instanță de afară, de pe computerul nostru prin SSH.

3. Conectarea la instanța AWS

SSH — este un protocol sigur de gestionare la distanță a dispozitivelor informatice.

3.1. Conectarea prin SSH de pe un computer Windows

Pentru a ne conecta de pe un computer cu Windows, trebuie să descărcăm și să instalăm programul Putty.

3.1.1. Importarea cheii private pentru Putty

3.1.1.1. După instalarea Putty, trebuie să lansăm utilitarul PuTTYgen care vine împreună cu acesta, pentru a importa cheia certificatului din format PEM, într-un format utilizabil în programul Putty. Pentru aceasta, în meniul de sus selectăm opțiunea Conversions->Import Key

Serviciu VPN gratuit Wireguard pe AWS

3.1.1.2. Selectarea cheii AWS în format PEM

Apoi, selectăm cheia pe care am salvat-o anterior în etapa 2.1.7.1, în cazul nostru denumirea ei este wireguard-awskey.pem

Serviciu VPN gratuit Wireguard pe AWS

3.1.1.3. Setarea parametrilor pentru importul cheii

În acest pas, trebuie să specificăm un comentariu pentru această cheie (descriere) și să setăm o parolă pentru securitate și confirmarea acesteia. Aceasta va fi solicitată la fiecare conectare. Astfel, protejăm cheia cu o parolă împotriva utilizării necorespunzătoare. Parola poate fi omisă, dar aceasta este mai puțin sigură, în cazul în care cheia ajunge în mâinile altora. Apoi, apăsăm butonul Save private key

Serviciu VPN gratuit Wireguard pe AWS

3.1.1.4. Salvarea cheii importate

Se deschide o fereastră de dialog pentru salvarea fișierului, și salvăm cheia noastră privată ca un fișier cu extensia .ppk, utilizabil în programul Putty.
Specificăm denumirea cheii (în cazul nostru wireguard-awskey.ppk) și apăsăm butonul Salvați.

Serviciu VPN gratuit Wireguard pe AWS

3.1.2. Crearea și configurarea unei conexiuni în Putty

3.1.2.1. Crearea conexiunii

Deschidem programul Putty, alegem categoria Sesiune (care este deschisă implicit) și în câmpul Host Name introducem adresa IP publică a serverului nostru, pe care am obținut-o în pasul 2.2.3. În câmpul Saved Session introducem un nume aleatoriu pentru conexiunea noastră (în cazul meu wireguard-aws-london), și apoi apăsăm butonul Salvează pentru a salva modificările efectuate.

Serviciu VPN gratuit Wireguard pe AWS

3.1.2.2. Configurarea autentificării automate a utilizatorului

Apoi, în categoria Connection, alegem subcategoria Data și în câmpul Auto-login username introducem numele utilizatorului ubuntu — acesta este utilizatorul standard al instanței pe AWS cu Ubuntu.

Serviciu VPN gratuit Wireguard pe AWS

3.1.2.3. Selectarea cheii private pentru conexiunea prin SSH

Apoi, trecem la subcategoria Connection/SSH/Auth și lângă câmpul Fișierul cheii private pentru autentificare apăsați pe buton Răsfoiți… pentru a selecta fișierul cu certificatul cheii.

Serviciu VPN gratuit Wireguard pe AWS

3.1.2.4. Deschiderea cheii importate

Indicați cheia, importată anterior la etapa 3.1.1.4; în cazul nostru, acesta este fișierul wireguard-awskey.ppk, și apăsăm butonul Deschideți.

Serviciu VPN gratuit Wireguard pe AWS

3.1.2.5. Salvarea setărilor și inițierea conexiunii

Întorcându-ne pe pagina categoriei Sesiune apăsați din nou butonul Salvează, pentru a salva modificările efectuate anterior în pașii anteriori (3.1.2.2 — 3.1.2.4). Apoi, apăsați butonul Open pentru a deschide conexiunea la distanță creată și configurată de noi prin SSH.

Serviciu VPN gratuit Wireguard pe AWS

3.1.2.7. Configurarea încrederii între gazde

La următorul pas, la prima tentativă de conectare, primim un avertisment, că nu avem configurată încrederea între cele două calculatoare, și ne cere să acceptăm încrederea în calculatorul la distanță. Vom apăsa butonul Da, adăugând astfel la lista gazdelor de încredere.

Serviciu VPN gratuit Wireguard pe AWS

3.1.2.8. Introducerea parolei pentru accesul la cheie

După aceea, se deschide o fereastră de terminal, unde se solicită parola pentru cheie, dacă a fost setată anterior la pasul 3.1.1.3. La introducerea parolei, nu se va vedea nimic pe ecran. Dacă ați greșit, puteți folosi tasta Backspace.

Serviciu VPN gratuit Wireguard pe AWS

3.1.2.9. Mesaj de bun venit privind conectarea reușită

După introducerea cu succes a parolei, în terminal vedem un text de bun venit, care ne informează că sistemul la distanță este pregătit să execute comenzile noastre.

Serviciu VPN gratuit Wireguard pe AWS

4. Configurarea serverului Wireguard

Cea mai actualizată instrucțiune pentru instalarea și utilizarea Wireguard cu scripturile descrise mai jos poate fi consultată în repository: https://github.com/isystem-io/wireguard-aws

4.1. Instalarea Wireguard

În terminal, introducem următoarele comenzi (puteți copia în clipboard și lipi în terminal apăsând click dreapta):

4.1.1. Clonarea repository-ului

Clonăm repository-ul cu scripturile de instalare Wireguard

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

4.1.2. Accesarea directorului cu scripturi

Accesăm directorul cu repository-ul clonat

cd wireguard_aws

4.1.3. Pornirea scriptului de inițializare

Pornim scriptul de instalare Wireguard cu drepturi de administrator (utilizator root)

sudo ./initial.sh

În timpul instalării, vor fi solicitate anumite date necesare pentru configurarea Wireguard

4.1.3.1. Introducerea punctului de conectare

Introduceți adresa IP externă și portul deschis al serverului Wireguard. Adresa IP externă a serverului a fost obținută la pasul 2.2.3, iar portul a fost deschis la pasul 2.1.5. Indicați-le împreună, separându-le prin doi puncte, de exemplu 4.3.2.1:54321, și după aceea apasați tasta Enter
Exemplu de ieșire:

Introduceți punctul final (IP extern și port) în formatul [ipv4:port] (de exemplu 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. Introducerea adresei IP interne

Introduceți adresa IP a serverului Wireguard în subrețeaua VPN protejată, dacă nu știți ce este, pur și simplu apăsați tasta Enter pentru a seta valoarea implicită (10.50.0.1)
Exemplu de ieșire:

Introduceți adresa serverului în subrețeaua VPN (format CIDR) ([ENTER] setată pe implicit: 10.50.0.1):

4.1.3.3. Specificarea serverului DNS

Introduceți adresa IP a serverului DNS, sau pur și simplu apăsați tasta Enter pentru a seta valoarea implicită 1.1.1.1 (DNS public Cloudflare)
Exemplu de ieșire:

Introduceți adresa IP a serverului DNS (format CIDR) ([ENTER] setată pe implicit: 1.1.1.1):

4.1.3.4. Specificarea interfeței WAN

Apoi, trebuie să introduceți numele interfeței de rețea externe, care va asculta interfața de rețea internă VPN. Pur și simplu apăsați Enter pentru a seta valoarea implicită pentru AWS (eth0)
Exemplu de ieșire:

Introduceți numele interfeței de rețea WAN ([ENTER] setată pe implicit: eth0):

4.1.3.5. Specificarea numelui clientului

Introduceți numele utilizatorului VPN. Problema este că serverul VPN Wireguard nu poate porni, până când nu este adăugat cel puțin un client. În acest caz, am introdus numele Alex@mobile
Exemplu de ieșire:

Introduceți numele utilizatorului VPN: Alex@mobile

După aceasta, pe ecran ar trebui să apară un cod QR cu configurația clientului adăugat, care trebuie scanat cu aplicația mobilă Wireguard pe Android sau iOS, pentru configurare. De asemenea, sub codul QR va apărea textul fișierului de configurare în cazul în care doriți configurare manuală a clienților. Cum se va face acest lucru va fi explicat mai jos.

Serviciu VPN gratuit Wireguard pe AWS

4.2. Adăugarea unui nou utilizator VPN

Pentru a adăuga un nou utilizator, trebuie să executați scriptul în terminal add-client.sh

sudo ./add-client.sh

Scriptul solicită numele utilizatorului:
Exemplu de ieșire:

Introduceți numele utilizatorului VPN: 

De asemenea, numele utilizatorului poate fi transmis ca parametru al scriptului (în acest caz Alex@mobile):

sudo ./add-client.sh Alex@mobile

În urma executării scriptului, în directorul cu numele clientului pe calea /etc/wireguard/clients/{ИмяКлиента} va fi creat un fișier cu configurația clientului /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, iar pe ecranul terminalului va apărea un cod QR pentru configurarea clienților mobili și conținutul fișierului de configurare.

4.2.1. Fișierul de configurare a utilizatorului

Pentru a afișa pe ecran conținutul fișierului .conf, pentru configurarea manuală a clientului, puteți folosi comanda cat

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

rezultatul execuției:

[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

Descrierea fișierului de configurare a clientului:

[Interface]
PrivateKey = Cheia privată a clientului
Address = Adresa IP a clientului
DNS = DNS utilizat de client

[Peer]
PublicKey = Cheia publică a serverului
PresharedKey = Cheia comună a serverului și a clientului
AllowedIPs = Adrese permise pentru conectare (toate - 0.0.0.0/0, ::/0)
Endpoint = Adresa IP și portul pentru conexiune

4.2.2. Cod QR al configurației clientului

Pentru a afișa codul QR al configurației pentru clientul creat anterior, se poate utiliza comanda qrencode -t ansiutf8 (în acest exemplu se folosește un client numit Alex@mobile):

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

5. Configurarea clienților VPN

5.1. Configurarea clientului mobil Android

Clientul oficial Wireguard pentru Android poate fi instalat din magazinul oficial GooglePlay

După aceea, trebuie importată configurația, citind codul QR cu configurația clientului (vezi punctul 4.2.2) și dându-i un nume:

Serviciu VPN gratuit Wireguard pe AWS

După importarea cu succes a configurației, se poate activa tunelul VPN. O notificare de succes va apărea în bara de sistem Android.

Serviciu VPN gratuit Wireguard pe AWS

5.2. Configurarea clientului Windows

În primul rând, trebuie să descărcați și să instalați programul TunSafe for Windows — acesta este clientul Wireguard pentru Windows.

5.2.1. Crearea fișierului de configurare pentru import

Faceți clic dreapta pentru a crea un fișier text pe desktop.

Serviciu VPN gratuit Wireguard pe AWS

5.2.2. Copierea conținutului fișierului de configurație de pe server

Apoi, reveniți la terminalul Putty și vizualizați conținutul fișierului de configurare pentru utilizatorul dorit, așa cum este descris în pasul 4.2.1.
Apoi, selectați cu butonul din dreapta textul configurației în terminalul Putty, iar la terminarea selecției se va copia automat în clipboard.

Serviciu VPN gratuit Wireguard pe AWS

5.2.3. Copierea configurației în fișierul local de configurare

După aceea, revenim la fișierul text creat anterior pe desktop și inserăm în el textul configurației din clipboard.

Serviciu VPN gratuit Wireguard pe AWS

5.2.4. Salvarea fișierului local de configurare

Salvăm fișierul cu extensia .conf (în acest caz cu numele london.conf)

Serviciu VPN gratuit Wireguard pe AWS

5.2.5. Importarea fișierului local de configurare

Apoi este necesar să importați fișierul de configurare în programul TunSafe.

Serviciu VPN gratuit Wireguard pe AWS

5.2.6. Stabilirea conexiunii VPN

Selectați acest fișier de configurare și conectați-vă, apăsând butonul Conectare.
Serviciu VPN gratuit Wireguard pe AWS

6. Verificarea succesului conexiunii

Pentru a verifica succesul conexiunii prin tunel VPN, trebuie să deschideți un browser și să accesați site-ul https://2ip.ua/ru/

Serviciu VPN gratuit Wireguard pe AWS

Adresa IP afișată trebuie să coincidă cu cea pe care am obținut-o la etapa 2.2.3.
Dacă este așa, atunci tunelul VPN funcționează cu succes.

Din terminalul Linux, puteți verifica adresa IP, introducând comanda:

curl http://zx2c4.com/ip

Sau pur și simplu puteți accesa un site pentru adulți, dacă vă aflați în Kazahstan.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster