Odată cu creșterea cenzurii internetului de către regimurile autoritare, un număr tot mai mare de resurse și site-uri utile de internet sunt blocate. Inclusiv informatii tehnice.
Astfel, devine imposibilă utilizarea pe deplin a internetului și încalcă dreptul fundamental la libertatea de exprimare, consacrat în declarația Universală a Drepturilor Omului.
Articolul 19
Orice persoană are dreptul la libertatea de opinie și de exprimare; acest drept include libertatea de a avea opinii fără interferență și de a căuta, primi și împărtăși informații și idei prin orice mijloace și indiferent de frontiere.
În acest ghid, vom implementa propriul nostru program gratuit* în 6 pași. Serviciu VPN bazat pe tehnologie Garda de sârmă, în infrastructura cloud Amazon Web Services (AWS), folosind un cont gratuit (timp de 12 luni), pe o instanță (mașină virtuală) administrată de Ubuntu Server 18.04LTS.
Am încercat să fac această prezentare cât mai prietenoasă posibil pentru persoanele care nu sunt IT. Singurul lucru care este necesar este perseverența în repetarea pașilor descriși mai jos.
Nota
AWS oferă nivel de utilizare gratuită pe o perioadă de 12 luni, cu o limită de 15 gigaocteți de trafic pe lună.
Înregistrarea pentru un cont AWS gratuit necesită un număr de telefon real și un card de credit Visa sau Mastercard valid. Recomand să folosiți carduri virtuale care sunt oferite gratuit Yandex sau portofel qiwi. Pentru a verifica valabilitatea cardului, în timpul înregistrării este dedus 1 USD, care este ulterior returnat.
1.1. Deschiderea Consolei de management AWS
Trebuie să deschideți un browser și să accesați: https://aws.amazon.com/ru/
Faceți clic pe butonul „Înregistrare”.
1.2. Completarea datelor personale
Completați datele și faceți clic pe butonul „Continuare”.
1.3. Completarea datelor de contact
Completați informațiile de contact.
1.4. Specificarea informațiilor de plată.
Numărul cardului, data expirării și numele titularului cardului.
1.5. Verificarea contului
În această etapă, numărul de telefon este confirmat și 1 dolar este debitat direct de pe cardul de plată. Pe ecranul computerului este afișat un cod din 4 cifre, iar telefonul specificat primește un apel de la Amazon. În timpul unui apel, trebuie să formați codul afișat pe ecran.
1.6. Alegerea planului tarifar.
Alege - Plan de bază (gratuit)
1.7. Conectați-vă la consola de management
1.8. Alegerea locației centrului de date
1.8.1. Testarea vitezei
Înainte de a alege un centru de date, se recomandă să testați https://speedtest.net viteza de acces la cele mai apropiate centre de date, în locația mea rezultă următoarele:
Singapur
Paris
Frankfurt
Stockholm
Londra
Centrul de date din Londra arată cele mai bune rezultate în ceea ce privește viteza. Așa că l-am ales pentru personalizare ulterioară.
2. Creați o instanță AWS
2.1 Creați o mașină virtuală
2.1.1. Selectarea unui tip de instanță
În mod implicit, este selectată instanța t2.micro, care este ceea ce avem nevoie, doar apăsați butonul Următorul: Configurați detaliile instanței
2.1.2. Setarea opțiunilor de instanță
În viitor, vom conecta un IP public permanent la instanța noastră, așa că în această etapă dezactivăm atribuirea automată a unui IP public și apăsăm butonul Următorul: Adăugați spațiu de stocare
2.1.3. Conexiune de stocare
Specificați dimensiunea „hard disk-ului”. Pentru scopurile noastre, 16 gigaocteți sunt de ajuns și apăsăm butonul Următorul: Adăugați etichete
2.1.4. Configurarea etichetelor
Dacă am creat mai multe instanțe, atunci acestea ar putea fi grupate pe etichete pentru a facilita administrarea. În acest caz, această funcționalitate este de prisos, apăsați imediat butonul Următorul: Configurați grupul de securitate
2.1.5. Deschiderea porturilor
În acest pas, 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 un port UDP (Custom UDP Rule), în câmpul Rort Range, să atribuim un număr de port din interval porturi dinamice 49152-65535. În acest caz, am ales numărul portului 54321.
După completarea datelor solicitate, faceți clic pe butonul Revizuirea și lansarea
2.1.6. Prezentare generală a tuturor setărilor
Pe această pagină există o prezentare generală a tuturor setărilor instanței noastre, verificăm dacă toate setările sunt în ordine și apăsăm butonul Lansa
2.1.7. Crearea cheilor de acces
Urmează o casetă de dialog care oferă fie crearea, fie adăugarea unei chei SSH existente, cu care ulterior ne vom conecta de la distanță la instanța noastră. Selectăm opțiunea „Creează o nouă pereche de chei” pentru a crea o nouă cheie. Dați-i un nume și faceți clic pe butonul Descărcați perechea cheiepentru a descărca cheile generate. Salvați-le într-un loc sigur pe computerul local. Odată descărcat, faceți clic pe butonul. Instalații de lansare
2.1.7.1. Salvarea cheilor de acces
Aici este prezentat pasul de salvare a cheilor generate de la pasul anterior. După ce am apăsat butonul Descărcați perechea cheie, cheia este salvată ca fișier de certificat cu extensia *.pem. În acest caz, i-am dat un nume wireguard-awskey.pem
2.1.8. Prezentare generală a rezultatelor creării instanțelor
În continuare, vedem un mesaj despre lansarea cu succes a instanței pe care tocmai am creat-o. Putem accesa lista instanțelor noastre făcând clic pe butonul vizualizați instanțe
2.2. Crearea unei adrese IP externe
2.2.1. Începe crearea unui IP extern
În continuare, trebuie să creăm o adresă IP externă permanentă prin care ne vom conecta la serverul nostru VPN. Pentru a face acest lucru, în panoul de navigare din partea stângă a ecranului, selectați elementul IP-uri elastice din categorie REȚEA ȘI SECURITATE și apăsați butonul Alocați o nouă adresă
2.2.2. Configurarea creării unui IP extern
În pasul următor, trebuie să activăm opțiunea Bazinul Amazon (activat implicit) și faceți clic pe butonul Aloca
2.2.3. Prezentare generală a rezultatelor creării unei adrese IP externe
Următorul ecran va afișa adresa IP externă pe care am primit-o. Este recomandat să-l memorezi și este mai bine chiar să-l notezi. va fi util de mai multe ori în procesul de configurare și utilizare ulterioară a serverului VPN. În acest ghid, folosesc adresa IP ca exemplu. 4.3.2.1. După ce ați introdus adresa, apăsați butonul Închide
2.2.4. Lista adreselor IP externe
În continuare, ni se prezintă o listă cu adresele noastre IP publice permanente (IP elastic).
2.2.5. Atribuirea unui IP extern unei instanțe
În această listă, selectăm adresa IP pe care am primit-o și apăsăm butonul din dreapta al mouse-ului pentru a afișa un meniu derulant. În ea, selectați elementul adresa asociatuluipentru a-l atribui instanței pe care am creat-o mai devreme.
2.2.6. Setare de atribuire IP externă
În pasul următor, selectați instanța noastră din lista derulantă și apăsați butonul Avocat Colaborator
2.2.7. Prezentare generală a rezultatelor atribuirii IP externe
După aceea, putem vedea că instanța noastră și adresa sa IP privată sunt legate de adresa noastră IP publică permanentă.
Acum ne putem conecta la instanța noastră nou creată din exterior, de pe computer prin SSH.
3. Conectați-vă la o instanță AWS
SSH este un protocol securizat pentru controlul de la distanță a dispozitivelor computerizate.
3.1. Conectarea prin SSH de la un computer Windows
Pentru a vă conecta la un computer Windows, mai întâi trebuie să descărcați și să instalați programul Putty.
3.1.1. Importați cheia privată pentru Putty
3.1.1.1. După instalarea Putty, trebuie să rulați utilitarul PuTTYgen care vine cu acesta pentru a importa cheia de certificat în format PEM într-un format adecvat pentru utilizare în Putty. Pentru a face acest lucru, selectați elementul din meniul de sus Conversii->Import Key
3.1.1.2. Alegerea unei chei AWS în format PEM
Apoi, selectați cheia pe care am salvat-o anterior la pasul 2.1.7.1, în cazul nostru numele acesteia wireguard-awskey.pem
3.1.1.3. Setarea opțiunilor de import cheie
La acest pas, trebuie să specificăm un comentariu pentru această cheie (descriere) și să setăm o parolă și o confirmare pentru securitate. Acesta va fi solicitat de fiecare dată când vă conectați. Astfel, protejăm cheia cu o parolă împotriva utilizării necorespunzătoare. Nu trebuie să setați o parolă, dar este mai puțin sigură dacă cheia cade în mâini greșite. După ce apăsăm butonul Salvați cheia privată
3.1.1.4. Salvarea unei chei importate
Se deschide un dialog de salvare a fișierului și salvăm cheia noastră privată ca fișier cu extensia .ppkpotrivit pentru utilizare în program Putty.
Specificați numele cheii (în cazul nostru wireguard-awskey.ppk) și apăsați butonul Reține.
3.1.2. Crearea și configurarea unei conexiuni în Putty
3.1.2.1. Creați o conexiune
Deschideți programul Putty, selectați o categorie Sesiune (este deschis implicit) și în câmp Nume gazdă introduceți adresa IP publică a serverului nostru, pe care am primit-o la pasul 2.2.3. În câmp Sesiune salvată introduceți un nume arbitrar pentru conexiunea noastră (în cazul meu wireguard-aws-londra), apoi apăsați butonul Economisiți pentru a salva modificările pe care le-am făcut.
3.1.2.2. Configurarea autentificarea automată a utilizatorului
Mai multe la categorie Conexiune, alegeți o subcategorie Date iar în câmp Nume de utilizator pentru autentificare automată Introduceti numele de utilizator ubuntu este utilizatorul standard al instanței pe AWS cu Ubuntu.
3.1.2.3. Alegerea unei chei private pentru conectarea prin SSH
Apoi accesați subcategoria Conexiune/SSH/Auth iar lângă câmp Fișier cheie privată pentru autentificare faceți clic pe buton Cauta ... pentru a selecta un fișier cu un certificat de cheie.
3.1.2.4. Deschiderea unei chei importate
Specificați cheia pe care am importat-o mai devreme la pasul 3.1.1.4, în cazul nostru este un fișier wireguard-awskey.ppk, și apăsați butonul deschis.
3.1.2.5. Salvarea setărilor și pornirea unei conexiuni
Revenind la pagina categoriei Sesiune apăsați din nou butonul Economisiți, pentru a salva modificările pe care le-am făcut mai devreme în pașii anteriori (3.1.2.2 - 3.1.2.4). Și apoi apăsăm butonul Operatii Deschise pentru a deschide conexiunea SSH la distanță pe care am creat-o și am configurat-o.
3.1.2.7. Stabilirea încrederii între gazde
La pasul următor, prima dată când încercăm să ne conectăm, ni se dă un avertisment, nu avem încredere configurată între cele două computere și ne întreabă dacă să avem încredere în computerul de la distanță. Vom apăsa butonul Da, adăugându-l astfel la lista de gazde de încredere.
3.1.2.8. Introducerea unei parole pentru a accesa cheia
După aceea, se deschide o fereastră de terminal, unde vi se cere parola pentru cheie, dacă ați setat-o mai devreme la pasul 3.1.1.3. Când introduceți o parolă, nu are loc nicio acțiune pe ecran. Dacă faci o greșeală, poți folosi cheia backspace.
3.1.2.9. Mesaj de bun venit la conexiunea reușită
După introducerea cu succes a parolei, ni se arată un text de bun venit în terminal, care ne spune că sistemul de la distanță este pregătit să execute comenzile noastre.
4. Configurarea serverului Wireguard
Cele mai actualizate instrucțiuni pentru instalarea și utilizarea Wireguard folosind scripturile descrise mai jos pot fi găsite în depozit: https://github.com/isystem-io/wireguard-aws
4.1. Instalarea WireGuard
În terminal, introduceți următoarele comenzi (puteți copia în clipboard și lipiți în terminal apăsând butonul din dreapta al mouse-ului):
4.1.1. Clonarea unui depozit
Clonează depozitul cu scripturile de instalare Wireguard
Rulați ca administrator (utilizator rădăcină) scriptul de instalare Wireguard
sudo ./initial.sh
Procesul de instalare va solicita anumite date necesare pentru a configura Wireguard
4.1.3.1. Intrare punct de conectare
Introduceți adresa IP externă și portul deschis al serverului Wireguard. Am obținut adresa IP externă a serverului la pasul 2.2.3 și am deschis portul la pasul 2.1.5. Le indicăm împreună, separându-le cu două puncte, de exemplu 4.3.2.1:54321și apoi apăsați tasta Intrați Eșantion de ieșire:
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. Introducerea adresei IP interne
Introduceți adresa IP a serverului Wireguard pe subrețeaua VPN securizată, dacă nu știți ce este, apăsați tasta Enter pentru a seta valoarea implicită (10.50.0.1) Eșantion de ieșire:
Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):
4.1.3.3. Specificarea unui server DNS
Introduceți adresa IP a serverului DNS sau apăsați tasta Enter pentru a seta valoarea implicită 1.1.1.1 (DNS public Cloudflare) Eșantion de ieșire:
Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):
4.1.3.4. Specificarea interfeței WAN
Apoi, trebuie să introduceți numele interfeței de rețea externă care va asculta pe interfața de rețea internă VPN. Doar apăsați Enter pentru a seta valoarea implicită pentru AWS (eth0) Eșantion de ieșire:
Enter the name of the WAN network interface ([ENTER] set to default: eth0):
4.1.3.5. Specificarea numelui clientului
Introduceți numele utilizatorului VPN. Faptul este că serverul Wireguard VPN nu va putea porni până când nu a fost adăugat cel puțin un client. În acest caz, am introdus numele Alex@mobile Eșantion de ieșire:
Enter VPN user name: Alex@mobile
După aceea, pe ecran ar trebui să fie afișat un cod QR cu configurația clientului nou adăugat, care trebuie citit folosind clientul mobil Wireguard pe Android sau iOS pentru a-l configura. Și tot sub codul QR va fi afișat textul fișierului de configurare în cazul configurării manuale a clienților. Cum se face acest lucru va fi discutat mai jos.
4.2. Adăugarea unui nou utilizator VPN
Pentru a adăuga un utilizator nou, trebuie să executați scriptul în terminal add-client.sh
sudo ./add-client.sh
Scriptul cere un nume de utilizator: Eșantion de ieșire:
Enter VPN user name:
De asemenea, numele utilizatorilor poate fi transmis ca parametru de script (în acest caz Alex@mobile):
sudo ./add-client.sh Alex@mobile
Ca urmare a execuției scriptului, în directorul cu numele clientului de-a lungul căii /etc/wireguard/clients/{ИмяКлиента} va fi creat fișierul de configurare a clientului /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, iar ecranul terminalului va afișa un cod QR pentru configurarea clienților mobili și conținutul fișierului de configurare.
4.2.1. Fișierul de configurare a utilizatorului
Puteți afișa conținutul fișierului .conf pe ecran, pentru configurarea manuală a clientului, folosind comanda cat
Descrierea fișierului de configurare a clientului:
[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом
[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все - 0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения
4.2.2. Cod QR pentru configurarea clientului
Puteți afișa un cod QR de configurare pentru un client creat anterior pe ecranul terminalului folosind comanda qrencode -t ansiutf8 (în acest exemplu, este folosit un client numit Alex@mobile):
După aceea, trebuie să importați configurația citind codul QR cu configurația clientului (vezi paragraful 4.2.2) și să îi dați un nume:
După importarea cu succes a configurației, puteți activa tunelul VPN. O conexiune reușită va fi indicată de o cheie stocată în bara de sistem Android
5.2. Configurare client Windows
Mai întâi trebuie să descărcați și să instalați programul TunSafe pentru Windows este clientul Wireguard pentru Windows.
5.2.1. Crearea unui fișier de configurare de import
Faceți clic dreapta pentru a crea un fișier text pe desktop.
5.2.2. Copiați conținutul fișierului de configurare de pe server
Apoi revenim la terminalul Putty și afișăm conținutul fișierului de configurare al utilizatorului dorit, așa cum este descris în pasul 4.2.1.
Apoi, faceți clic dreapta pe textul de configurare din terminalul Putty, după ce selecția este finalizată, acesta va fi copiat automat în clipboard.
5.2.3. Copierea configurației într-un fișier de configurare local
În acest câmp, ne întoarcem la fișierul text pe care l-am creat mai devreme pe desktop și lipim textul de configurare în el din clipboard.
5.2.4. Salvarea unui fișier de configurare local
Salvați fișierul cu extensia .conf (în acest caz numit london.conf)
5.2.5. Importul unui fișier de configurare local
Apoi, trebuie să importați fișierul de configurare în programul TunSafe.
5.2.6. Configurarea unei conexiuni VPN
Selectați acest fișier de configurare și conectați-vă făcând clic pe butonul Conectați.
6. Verificarea dacă conexiunea a avut succes
Pentru a verifica succesul conexiunii prin tunelul VPN, trebuie să deschideți un browser și să accesați site-ul https://2ip.ua/ru/
Adresa IP afișată trebuie să se potrivească cu cea pe care am primit-o la pasul 2.2.3.
Dacă da, atunci tunelul VPN funcționează cu succes.
Din terminalul Linux, vă puteți verifica adresa IP tastând:
curl http://zx2c4.com/ip
Sau poți merge pur și simplu la pornhub dacă te afli în Kazahstan.