Zašto?
S porastom cenzuriranja interneta autoritarnih režima, blokira se sve veći broj korisnih internetskih resursa i web stranica. Uključujući i tehničke informacije.
Na taj način, postaje nemoguće u potpunosti koristiti internet i krši se temeljno pravo na slobodu govora, zajamčeno u .
Članku 19
Svaka osoba ima pravo na slobodu uvjerenja i slobodno izražavanje; ovo pravo uključuje slobodu da bez prepreka drži svoja uvjerenja i slobodu da traži, prima i širi informacije i ideje bilo kojim sredstvima, neovisno o državnim granicama.
U ovom vodiču ćemo u 6 koraka postaviti vlastitu besplatnu* na bazi tehnologije , u oblačnoj infrastrukturi (AWS), pomoću besplatnog računa (na 12 mjeseci), na instanci (virtualnoj mašini) upravljanoj .
Trudio sam se da ovo korak-po-korak uputstvo učinim što prijateljskijim prema ljudima koji nisu povezani s IT-om. Jedino što je potrebno je strpljenje u ponavljanju koraka koji su opisani u nastavku.
Napomena
- AWS nudi na 12 mjeseci, s ograničenjem od 15 gigabajta prometa mjesečno.
- Najnovija verzija ovog vodiča nalazi se na adresi
Koraci
- Registracija besplatnog računa AWS
- Kreiranje AWS instance
- Povezivanje s AWS instancom
- Konfiguracija Wireguard-a
- Konfiguracija VPN klijenata
- Provjera ispravnosti instalacije VPN-a
Koristitne veze
1. Registracija AWS računa
Za registraciju besplatnog računa AWS-a potrebni su stvarni broj telefona i važeća kreditna kartica Visa ili Mastercard. Preporučujem korištenje virtualnih kartica koje besplatno nudi ili . Za provjeru valjanosti kartice, prilikom registracije se naplaćuje 1$ koji se kasnije vraća.
1.1. Otvaranje AWS upravljačke konzole
Potrebno je otvoriti preglednik i otići na adresu:
Kliknite na dugme „Registracija”

1.2. Ispunjavanje osobnih podataka
Ispunite podatke i kliknite na dugme „Nastavi”

1.3. Ispunjavanje kontaktnih podataka
Ispunite kontaktne informacije.

1.4. Navođenje informacija o plaćanju.
Broj kartice, datum isteka i ime vlasnika kartice.

1.5. Potvrda računa
U ovoj fazi se potvrđuje broj telefona i direktno se naplaćuje 1$ s platne kartice. Na ekranu računala pojavljuje se 4-cifreni kod, a na navedeni telefon dolazi poziv iz Amazona. Tijekom poziva potrebno je upisati kod prikazan na ekranu.

1.6. Odabir tarifnog plana.
Odabiremo — Osnovni plan (besplatni)

1.7. Prijava u upravljačku konzolu

1.8. Odabir lokacije data centra

1.8.1. Testiranje brzine
Prije nego što odaberete data centar, preporučuje se testirati brzinu pristupa najbližim data centrima, u mojoj lokaciji takvi su rezultati: Pariz
- Singapur

- Stokholm

- Frankfurt

- Najbolje rezultate brzine pokazuje data centar u Londonu. Stoga sam odabrao njega za daljnju konfiguraciju.

- London

2. Kreiranje AWS instance
2.1 Kreiranje virtualnog stroja
2.1.1. Odabir tipa instance
Zadano je odabrana instanca t2.micro, ona nam je potrebna, jednostavno pritisnite gumb
Dalje: Konfigurirajte podatke instance 2.1.2. Konfiguracija parametara instance

Kasnije ćemo povezati našu instancu s trajnim javnim IP-om, stoga u ovoj fazi isključujemo automatsku dodjelu javnog IP-a i pritisnemo gumb
Dalje: Dodaj pohranu 2.1.3. Povezivanje pohrane

Odaberite veličinu „tvrdom disku“. Za naše potrebe dovoljno je 16 gigabajta, a zatim pritisnite gumb
Dalje: Dodaj oznake 2.1.4. Konfiguracija oznaka

Da smo kreirali više instanci, mogle bi se grupirati prema oznakama radi lakšeg upravljanja. U ovom slučaju, ta funkcionalnost je suvišna, odmah pritiskamo gumb
Dalje: Konfigurirajte sigurnosnu grupu 2.1.5. Otvaranje portova

U ovoj fazi podešavamo vatrozid otvaranjem potrebnih portova. Set otvorenih portova naziva se „Sigurnosna grupa“ (Security Group). Moramo stvoriti novu sigurnosnu grupu, dati joj ime, opis, dodati UDP port (Pravila prilagođenog UDP-a), u polju Opseg portova potrebno je odrediti broj porta iz raspona
dinamičkih portova Nakon popunjavanja potrebnih podataka, pritisnite tipku

2.1.6. Pregled svih postavki Pregled i pokretanje
Na ovoj stranici pregledavamo sve postavke naše instance, provjeravamo jesu li svi postavke u redu i pritiskamo tipku
2.1.7. Kreiranje ključeva za pristup Pokreni

2.1.7. Создание ключей доступа
Pojavljuje se dijaloški prozor koji nudi mogućnost stvaranja ili dodavanja postojećeg SSH ključa, putem kojeg ćemo se kasnije udaljeno povezati na naš instancu. Odabiremo opciju „Create a new key pair“ kako bismo stvorili novi ključ. Postavljamo njegovo ime i pritisnemo dugme Preuzmi ključ, da bismo preuzeli stvorene ključeve. Spremite ih na sigurno mesto na disku lokalnog računala. Nakon preuzimanja — pritisnite dugme Pokreni instance

2.1.7.1. Spremanje pristupnih ključeva
Ovdje je prikazan korak spremanja stvorenih ključeva iz prethodnog koraka. Nakon što smo pritisnuli dugme Preuzmi ključ, ključ se sprema u obliku datoteke certifikata s ekstenzijom *.pem. U ovom slučaju dao sam mu ime wireguard-awskey.pem

2.1.8. Pregled rezultata stvaranja instance
Nakon toga vidimo poruku o uspješnom pokretanju upravo stvorene instance. Možemo prijeći na popis naših instanci pritiskom na dugme Pogledaj instance

2.2. Stvaranje vanjske IP adrese
2.2.1. Pokretanje stvaranja vanjske IP adrese
Sada je potrebno stvoriti stalnu vanjsku IP adresu, putem koje ćemo se povezati na naš VPN server. Za to je potrebno u navigacijskom panelu s lijeve strane ekrana odabrati opciju Elastični IP-ovi iz kategorije MREŽA & BEZBJEDNOST i pritisnuti dugme Dodeli novu adresu

2.2.2. Postavke stvaranja vanjske IP adrese
Na sljedećem koraku potrebno je da bude uključena opcija Amazon pool (uključeno po defaultu), i pritiskamo dugme Dodeli

2.2.3. Pregled rezultata stvaranja vanjske IP adrese
Na sljedećem ekranu prikazat će se dobijena vanjska IP adresa. Preporučuje se da je zapamtite, a najbolje čak i zapišete. Još će nam trebati u procesu daljnjih postavki i korištenja VPN servera. U ovom vodiču kao primjer koristim IP adresu 4.3.2.1. Kada zapišemo adresu, pritisnemo dugme Zatvori

2.2.4. Popis vanjskih IP adresa
Dalje nam se otvara popis naših stalnih javnih IP adresa (elastične IP adrese).

2.2.5. Dodela vanjske IP adresi instanci
Na ovom popisu odabiremo dobijenu IP adresu i desnim klikom pozivamo kontekstualni izbornik. U njemu odabiremo opciju Dodijeli adresu, kako bismo je dodijelili ranije stvorenoj instanci.

2.2.6. Postavke dodjele vanjske IP adrese
Na sljedećem koraku biramo našu instancu iz padajućeg izbornika i pritiskamo dugme Dodijeli

2.2.7. Pregled rezultata dodjele vanjske IP adrese
Nakon toga, možemo vidjeti da je naš instanca povezana s našom stalnom javnom IP adresom i njegovom privatnom IP adresom.

Sada se možemo povezati s našom novokreiranom instancom izvana, s vlastitog računala putem SSH-a.
3. Povezivanje s AWS instancom
— to je siguran protokol udaljenog upravljanja računalnim uređajima.
3.1. Povezivanje putem SSH s Windows računala
Za povezivanje s Windows računalom, prvo je potrebno preuzeti i instalirati program .
3.1.1. Uvoz privatnog ključa za Putty
3.1.1.1. Nakon instalacije Putty-a, potrebno je pokrenuti alat PuTTYgen koji dolazi s njim, za uvoz certifikatskog ključa u PEM formatu, u format pogodan za korištenje u programu Putty. Da bismo to učinili, u gornjem izborniku odaberemo opciju Conversions->Import Key

3.1.1.2. Odabir AWS ključa u PEM formatu
Nakon toga, odabiremo ključ koji smo prethodno spremili u koraku 2.1.7.1, u našem slučaju njegovo ime wireguard-awskey.pem

3.1.1.3. Postavljanje parametara za uvoz ključa
U ovom koraku trebamo navesti komentar za ovaj ključ (opis) i postaviti lozinku i njezino potvrđivanje radi sigurnosti. Bit će tražena pri svakom povezivanju. Na taj način štitimo ključ lozinkom od neautorizirane upotrebe. Lozinku nije obavezno postaviti, ali to je manje sigurno, u slučaju da ključ dođe u tuđe ruke. Nakon toga pritisnemo gumb Save private key

3.1.1.4. Spremanje uvezenog ključa
Otvara se dijalog za spremanje datoteke, a mi čuvamo naš privatni ključ u obliku datoteke s ekstenzijom .ppk, pogodnom za korištenje u programu Putty.
Navedimo ime ključa (u našem slučaju wireguard-awskey.ppk) i pritisnemo gumb Spremi.

3.1.2. Kreiranje i konfiguracija veze u Putty
3.1.2.1. Kreiranje veze
Otvorite program Putty, odaberite kategoriju Sesija (ona je otvorena prema zadanim postavkama) i u polje Host Name upišite javnu IP adresu našeg servera koju smo dobili u koraku 2.2.3. U polje Saved Session unesite proizvoljno ime naše veze (u mom slučaju wireguard-aws-london), a zatim pritisnite gumb Spremi za spremanje učinjenih promjena.

3.1.2.2. Postavljanje automatskog prijavljivanja korisnika
Sljedeće u kategoriji Connection, odaberite podkategoriju Data i u polje Auto-login username upisujemo korisničko ime ubuntu — to je standardni korisnik instanice na AWS-u s Ubuntu-om.

3.1.2.3. Odabir privatnog ključa za povezivanje putem SSH-a
Zatim prelazimo u podkategoriju Connection/SSH/Auth i pored polja Datoteka privatnog ključa za autentifikaciju Kliknemo na gumb Pretraži… da bismo odabrali datoteku s certifikatom ključa.

3.1.2.4. Otvaranje uvezenog ključa
Odabiremo ključ koji smo ranije uvezli u koraku 3.1.1.4, u našem slučaju to je datoteka wireguard-awskey.ppk, i pritisnemo gumb Otvoriti.

3.1.2.5. Spremanje postavki i pokretanje veze
Vraćamo se na stranicu kategorije Sesija ponovno pritisnemo gumb Spremi, kako bismo spremili promjene koje smo napravili u prethodnim koracima (3.1.2.2 — 3.1.2.4). Zatim pritisnemo gumb Open da bismo otvorili naše ranije kreirano i konfigurirano udaljeno SSH povezivanje.

3.1.2.7. Konfiguracija povjerenja između hostova
Na sljedećem koraku, prilikom prvog pokušaja povezivanja, dobijamo upozorenje da nemamo postavljeno povjerenje između dva računala, i pita nas da li vjerujemo udaljenom računalu. Pritisnut ćemo gumb Da, čime ga dodajemo na popis povjerenih hostova.

3.1.2.8. Unos lozinke za pristup ključu
Nakon toga otvara se terminal prozor u kojem se traži lozinka za ključ, ako ste je postavili ranije u koraku 3.1.1.3. Prilikom unosa lozinke, ništa se ne prikazuje na ekranu. Ako ste pogriješili, možete koristiti tipku Backspace.

3.1.2.9. Pozdravna poruka o uspješnom povezivanju
Nakon uspješnog unosa lozinke, u terminalu nam se prikazuje pozdravni tekst koji navodi da je udaljeni sustav spreman za izvršavanje naših naredbi.

4. Konfiguriranje Wireguard servera
Najnoviju uputu za instalaciju i korištenje Wireguarda uz pomoć dolje navedenih skripti možete pogledati u repozitoriju:
4.1. Instalacija Wireguarda
U terminal upisujemo sljedeće naredbe (možete kopirati u međuspremnik, a zatim ih zalijepiti u terminal desnim klikom miša):
4.1.1. Kloniranje repozitorija
Kloniramo repozitorij sa skriptama za instalaciju Wireguarda
git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws4.1.2. Ulazak u katalog sa skriptama
Ulazimo u katalog s kloniranim repozitorijem
cd wireguard_aws4.1.3 Pokretanje skripte inicijalizacije
Pokrećemo skriptu za instalaciju Wireguarda s administratorskim pravima (root korisnika)
sudo ./initial.shTijekom instalacije bit će traženi određeni podaci potrebni za konfiguraciju Wireguarda
4.1.3.1. Unos točke povezivanja
Unesite vanjsku IP adresu i otvoreni port Wireguard servera. Vanjsku IP adresu servera dobili smo u koraku 2.2.3, a port smo otvorili u koraku 2.1.5. Opišite ih zajedno, odvajajući dvotočkom, na primjer 4.3.2.1:54321, a zatim pritisnite tipku Enter
Primjer izlaza:
Unesite endpoint (vanjska IP adresa i port) u formatu [ipv4:port] (npr. 4.3.2.1:54321): 4.3.2.1:543214.1.3.2. Unos unutarnje IP adrese
Unesite IP adresu Wireguard servera u zaštićenoj VPN podmreži, ako ne znate što je to, jednostavno pritisnite tipku Enter za postavljanje zadane vrijednosti (10.50.0.1)
Primjer izlaza:
Unesite adresu servera u VPN podmreži (CIDR format) ([ENTER] postavite na zadano: 10.50.0.1):4.1.3.3. Navođenje DNS servera
Unesite IP adresu DNS servera, ili jednostavno pritisnite tipku Enter za postavljanje zadane vrijednosti 1.1.1.1 (Cloudflare javni DNS)
Primjer izlaza:
Unesite IP adresu DNS servera (CIDR format) ([ENTER] postavite na zadano: 1.1.1.1):4.1.3.4. Navođenje WAN sučelja
Zatim je potrebno unijeti naziv vanjskog mrežnog sučelja koje će slušati unutarnje VPN mrežno sučelje. Jednostavno pritisnite Enter kako biste postavili zadanu vrijednost za AWS (eth0)
Primjer izlaza:
Unesite naziv WAN mrežnog sučelja ([ENTER] postavite na zadano: eth0):4.1.3.5. Navođenje imena klijenta
Unesite ime VPN korisnika. Naime, Wireguard VPN server neće moći započeti dok ne bude dodan barem jedan klijent. U ovom slučaju unio sam ime Alex@mobile
Primjer izlaza:
Unesite ime VPN korisnika: Alex@mobileNakon toga na ekranu bi se trebao prikazati QR kod s konfiguracijom upravo dodanog klijenta, koji treba skenirati mobilnim Wireguard klijentom na Androidu ili iOS-u za postavljanje. Također, ispod QR koda bi se trebao prikazati tekst конфигурационog datoteke u slučaju ručne konfiguracije klijenata. Kako to učiniti bit će navedeno u nastavku.

4.2. Dodavanje novog VPN korisnika
Da biste dodali novog korisnika, potrebno je u terminalu izvršiti skriptu add-client.sh
sudo .\/add-client.shSkripta traži ime korisnika:
Primjer izlaza:
Unesite ime VPN korisnika: Također, ime korisnika se može proslijediti kao parametar skripti (u ovom slučaju Alex@mobile):
sudo .\/add-client.sh Alex@mobileKao rezultat izvođenja skripte, u direktoriju s imenom klijenta na putu /etc/wireguard/clients/{ИмяКлиента} bit će stvoren datoteka s konfiguracijom klijenta /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, a na ekranu terminala će se prikazati QR kod za postavljanje mobilnih klijenata i sadržaj datoteke s konfiguracijom.
4.2.1. Datoteka korisničke konfiguracije
Prikazivanje sadržaja datoteke .conf na ekranu, za ručnu postavku klijenta, može se izvršiti pomoću komande cat
sudo cat \/etc\/wireguard\/clients\/Alex@mobile\/Alex@mobile.confrezultat izvršenja:
[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:54321Opis datoteke konfiguracije klijenta:
[Interface]
PrivateKey = Privatni ključ klijenta
Address = IP adresa klijenta
DNS = DNS koji koristi klijent
[Peer]
PublicKey = Javni ključ poslužitelja
PresharedKey = Zajednički ključ poslužitelja i klijenta
AllowedIPs = Dozvoljene adrese za povezivanje (sve - 0.0.0.0/0, ::/0)
Endpoint = IP adresa i port za povezivanje4.2.2. QR kod konfiguracije klijenta
QR kod konfiguracije za ranije kreiranog klijenta može se prikazati na ekranu terminala pomoću naredbe qrencode -t ansiutf8 (u ovom primjeru koristi se klijent pod imenom Alex@mobile):
sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf85. Konfiguriranje VPN klijenata
5.1. Postavke mobilnog klijenta za Android
Službenog klijenta Wireguard za Android moguće je
Nakon toga, potrebno je uvesti konfiguraciju skeniranjem QR koda s konfiguracijom klijenta (vidi točku 4.2.2) i dati mu ime:

Nakon uspješnog uvoza konfiguracije, VPN tunel se može uključiti. O uspješnom povezivanju će obavijestiti ikonica ključa na sustavnoj traci Androida

5.2. Postavke klijenta za Windows
Prvo treba preuzeti i instalirati program — to je klijent Wireguard za Windows.
5.2.1. Izrada datoteke konfiguracije za uvoz
Desnom tipkom miša kreirajte tekstualnu datoteku na radnoj površini.

5.2.2. Kopiranje sadržaja datoteke konfiguracije s poslužitelja
Zatim se vraćamo u terminal Putty i prikazujemo sadržaj konfiguracijske datoteke odgovarajućeg korisnika, kao što je opisano u koraku 4.2.1.
Nakon toga desnom tipkom miša označite tekst konfiguracije u terminalu Putty, a nakon završetka označavanja automatski će se kopirati u međuspremnik.

5.2.3. Kopiranje konfiguracije u lokalnu datoteku konfiguracije
Nakon toga se vraćamo maloprije stvorenom tekstualnom datoteci na radnoj površini i u međuspremnik lijevamo tekst konfiguracije.

5.2.4. Spremanje lokalne datoteke konfiguracije
Spremamo datoteku s ekstenzijom .conf (u ovom slučaju pod imenom london.conf)

5.2.5. Uvoz lokalne datoteke konfiguracije
Nakon toga potrebno je uvesti datoteku konfiguracije u program TunSafe.

5.2.6. Postavljanje VPN veze
Odaberite ovu datoteku konfiguracije i povežite se klikom na gumb Povezivanje.

6. Provjera uspješnosti povezivanja
Da biste provjerili uspješnost povezivanja putem VPN tunela, potrebno je otvoriti preglednik i otići na web stranicu

Prikazana IP adresa trebala bi odgovarati onoj koju smo dobili u koraku 2.2.3.
Ako je tako, VPN tunel radi uspješno.
Iz terminala u Linuxu možete provjeriti svoju IP adresu unosom naredbe:
curl http://zx2c4.com/ipIli možete jednostavno posjetiti Pornhub ako se nalazite u Kazahstanu.
Izvor: habr.com





