Zašto?
S povečanjem cenzure interneta s strani avtoritarnih režimov se blokira vedno več koristnih internetnih virov in spletnih strani. Tudi tehničnih informacij.
Tako je postalo nemogoče v celoti uporabljati internet, kar krši temeljno pravico do svobode govora, zapisano v .
Člen 19
Vsaka oseba ima pravico do svobode prepričanj in do svobodnega izražanja le-teh; ta pravica vključuje svobodo, da brez ovir sledi svojim prepričanjem ter svobodo iskati, prejemati in razširjati informacije in ideje z različnimi sredstvi ter neodvisno od državnih meja.
V tem priročniku bomo v 6 korakih postavili svoj lasten brezplačni* na osnovi tehnologije , v oblaku (AWS), z brezplačnim računom (za 12 mesecev), na instanci (virtualnem strežniku) pod nadzorom .
Trudil sem se, da bi to priročno vodilo naredil kar se da prijazno do ljudi, ki niso povezani z IT. Edina stvar, ki je potrebna, je vztrajnost pri ponavljanju spodaj opisanih korakov.
Napomena
- AWS ponuja za obdobje 12 mesecev, z omejitvijo na 15 gigabajtov prometa na mesec.
- Najbolj aktualna različica tega priročnika je na voljo na naslovu
Koraki
- Registracija brezplačnega računa AWS
- Ustvarjanje instance AWS
- Povezovanje z instanco AWS
- Konfiguracija Wireguarda
- Konfiguracija VPN odjemalcev
- Preverjanje pravilnosti namestitve VPN
Koristne poveznice
1. Registracija računa AWS
Za registracijo brezplačnega računa AWS potrebujete resnično telefonsko številko in plačilno karto Visa ali Mastercard. Priporočam uporabo virtualnih kartic, ki jih brezplačno ponuja ili . Za preverjanje veljavnosti kartice se ob registraciji našteje 1$, ki se nato vrne.
1.1. Odprtje upravljalske konzole AWS
Odprite brskalnik in pojdite na naslov:
Kliknite gumb 'Registracija'

1.2. Izpolnitev osebnih podatkov
Izpolnite podatke in kliknite gumb 'Nadaljuj'

1.3. Izpolnitev kontaktnih podatkov
Izpolnite kontaktne informacije.

1.4. Vnos plačilnih informacij.
Številka kartice, datum poteka in ime imetnika kartice.

1.5. Potrditev računa
V tej fazi poteka potrditev telefonske številke in neposredno oblikovanje 1 $ s plačilne kartice. Na zaslonu računalnika se prikaže 4-mestna koda, na navedeni telefon pa prejmete klic iz Amazona. Med klicem je treba vtipkati kodo, prikazano na zaslonu.

1.6. Izbira tarifnega načrta.
Izberemo — Osnovni načrt (brezplačno)

1.7. Vstop v nadzorno ploščo

1.8. Izbira lokacije podatkovnega centra

1.8.1. Testiranje hitrosti
Preden izberete podatkovni center, priporočamo, da preverite preko hitrosti dostopa do najbližjih podatkovnih centrov, v moji lokaciji so rezultati takšni:
- Singapur

- Pariz

- Frankfurt

- Stockholm

- London

Najboljše rezultate hitrosti prikazuje podatkovni center v Londonu. Zato sem ga izbral za nadaljnje nastavitev.
2. Ustvarjanje AWS instance
2.1 Ustvarjanje virtualnega stroja
2.1.1. Izbira tipa instance
Privzeto je izbrana instance t2.micro, ta nam ustreza, preprosto pritisnemo gumb Next: Configure Instance Details

2.1.2. Nastavitev parametrov instance
V nadaljevanju bomo našemu instance pripojili trajni javni IP, zato v tej fazi onemogočimo samodejno dodelitev javnega IP in pritisnemo gumb Next: Add Storage

2.1.3. Povezovanje shranjevanja
Določimo velikost „trdega diska“. Za naše potrebe je dovolj 16 gigabajtov, in pritisnemo gumb Next: Add Tags

2.1.4. Nastavitev oznak
Če bi ustvarjali več instanc, bi jih lahko grupirali po oznakah za lažje upravljanje. V tem primeru je ta funkcionalnost odveč, takoj pritisnemo gumb Next: Configure Security Group

2.1.5. Odpiranje vrat
V tej fazi nastavljamo požarni zid, odpiramo potrebna vrata. Nabor odprtih vrat imenujemo „Varnostna skupina“ (Security Group). Ustvariti moramo novo varnostno skupino, ji dati ime, opis, dodati vrata UDP (Custom UDP Rule), v polje Rort Range pa vpišemo številko vrat iz razpona 49152—65535. V tem primeru sem izbral številko vrat 54321.

Po izpolnjevanju potrebnih podatkov pritisnemo gumb Review and Launch
2.1.6. Pregled vseh nastavitev
Na tej strani poteka pregled vseh nastavitev našega instance, preverjamo, ali so vse nastavitve v redu, in pritisnemo gumb Launch

2.1.7. Ustvarjanje dostopnih ključev
Nato se prikaže pogovorno okno, ki ponuja bodisi ustvarjanje bodisi dodajanje obstoječega SSH ključa, s katerim se bomo kasneje oddaljeno povezali z našim instancom. Izberemo možnost „Ustvari nov par ključev“, da ustvarimo nov ključ. Damo mu ime in pritisnemo gumb Prenesi par ključev, da prenesemo ustvarjene ključe. Shranite jih na varno mesto na trdem disku lokalnega računalnika. Ko ste prenesli, pritisnite gumb Zaženi instance

2.1.7.1. Shranjevanje dostopnih ključev
Tukaj je prikazan korak shranjevanja ustvarjenih ključev iz prejšnjega koraka. Ko pritisnemo gumb Prenesi par ključev, se ključ shrani v obliki datoteke potrdila z razširitvijo *.pem. V tem primeru sem mu dal ime wireguard-awskey.pem

2.1.8. Pregled rezultatov ustvarjanja instance
Nato vidimo sporočilo o uspešnem zagonu pravkar ustvarjene instance. Lahko preidemo na seznam naših instanc tako, da pritisnemo gumb Poglej instance

2.2. Ustvarjanje zunanjega IP naslova
2.2.1. Začetek ustvarjanja zunanjega IP
Zdaj moramo ustvariti trajni zunanji IP naslov, preko katerega se bomo povezali z našim VPN strežnikom. Za to je potrebno v navigacijskem meniju na levi strani zaslona izbrati točko Elastični IP-ji iz kategorije OMREŽJE & VARNOST in pritisniti gumb Dodeli nov naslov

2.2.2. Nastavitev ustvarjanja zunanjega IP
V naslednjem koraku moramo omogočiti možnost Amazon pool (privzeto omogočeno), in pritisnemo gumb Dodeli

2.2.3. Pregled rezultatov ustvarjanja zunanjega IP naslova
Na naslednjem zaslonu se bo izpisal naš pridobljeni zunanji IP naslov. Priporočljivo je, da si ga zapomnimo, še bolje pa, da si ga zapišemo. Še večkrat nam bo koristil pri nadaljnji nastavitvi in uporabi VPN strežnika. V tem priročniku kot primer uporabljam IP naslov 4.3.2.1. Ko smo naslov zabeležili, pritisnemo gumb Zapri

2.2.4. Seznam zunanjih IP naslovov
Nato se nam odpre seznam naših trajnih javnih IP naslovov (elastični IP-ji).

2.2.5. Dodelitev zunanjega IP instanci
Na tem seznamu izberemo naš pridobljeni IP naslov in pritisnemo desni gumb miške, da prikažemo kontekstni meni. V njem izberemo točko Dodeli naslov, da ga dodelimo naši prej ustvarjeni instanci.

2.2.6. Nastavitev dodelitve zunanjega IP
V naslednjem koraku izberemo našo instanco iz spustnega seznama in pritisnemo gumb Dodeli

2.2.7. Pregled rezultatov dodelitve zunanjega IP
Po tem lahko vidimo, da je našo instanco povezano z našim stalnim javnim IP naslovom in njegovim zasebnim IP naslovom.

Zdaj se lahko povežemo z našo novo ustvarjeno instanco od zunaj, iz svojega računalnika preko SSH.
3. Povezovanje z instanco AWS
— to je varen protokol za oddaljeno upravljanje računalniških naprav.
3.1. Povezovanje preko SSH z računalnika na Windows
Za povezovanje z računalnikom z Windows je najprej potrebno prenesti in namestiti program .
3.1.1. Uvoz privatnega ključa za Putty
3.1.1.1. Po namestitvi Putty je potrebno zagnati orodje PuTTYgen, ki ga vsebuje, za uvoz ključa certifikata v formatu PEM v format, primeren za uporabo v programu Putty. Za to v zgornjem meniju izberemo točko Conversions->Import Key

3.1.1.2. Izbira ključa AWS v formatu PEM
Nato izberemo ključ, ki smo ga prej shranili v koraku 2.1.7.1, njegova ime je wireguard-awskey.pem

3.1.1.3. Določitev parametrov za uvoz ključa
Na tej stopnji moramo navesti komentar za ta ključ (opis) in dodeliti geslo za varnost ter njegovo potrditev. To bo zahtevano pri vsakem povezovanju. Tako zaščitimo ključ z geslom pred nepravilno uporabo. Geslo ni nujno, vendar je to manj varno, v primeru, da ključ pade v napačne roke. Po tem pritisnemo gumb Save private key

3.1.1.4. Shranjevanje uvoženega ključa
Odpre se okno za shranjevanje datoteke, kjer shranimo naš privatni ključ v obliki datoteke z razširitvijo .ppk, primerne za uporabo v programu Putty.
Določimo ime ključa (v našem primeru wireguard-awskey.ppk) in pritisnemo gumb Shrani.

3.1.2. Ustvarjanje in nastavitev povezave v Putty
3.1.2.1. Ustvarjanje povezave
Odprimo program Putty, izberemo kategorijo Session (odprta je privzeto) in v polje Host Name vnesemo javni IP naslov našega strežnika, ki smo ga pridobili v koraku 2.2.3. V polje Saved Session vnesemo poljubno ime naše povezave (v mojem primeru wireguard-aws-london), nato pritisnemo gumb Shrani da shranimo naše spremembe.

3.1.2.2. Nastavitev avtologina uporabnika
Nato v kategoriji Povezava, izberemo podkategorijo Podatki in v polje Auto-login username vnesemo ime uporabnika ubuntu — to je privzeti uporabnik instance na AWS z Ubuntu.

3.1.2.3. Izbira privatnega ključa za povezavo preko SSH
Nato se preusmerimo v podkategorijo Connection/SSH/Auth in poleg polja Datoteka zasebnega ključa za overitev kliknemo gumb Browse… za izbiro datoteke s certifikatom ključa.

3.1.2.4. Odpiranje uvoženega ključa
Določimo ključ, uvožen prej v koraku 3.1.1.4, v našem primeru to je datoteka wireguard-awskey.ppk, in pritisnite gumb Odpri.

3.1.2.5. Shranjevanje nastavitev in zagon povezave
Po vrnitvi na stran kategorije Session spet kliknemo gumb Shrani, da shranimo prej opravljene spremembe v prejšnjih korakih (3.1.2.2 — 3.1.2.4). In nato kliknemo gumb Open , da odprete ustvarjeno in nastavljeno oddaljeno povezavo prek SSH.

3.1.2.7. Nastavitev zaupanja med gostitelji
Na naslednjem koraku, ob prvi poskusni povezavi, dobimo opozorilo, da med dvema računalnikoma ni nastavljeno zaupanje, in nas vpraša, ali naj zaupamo oddaljenemu računalniku. Kliknili bomo gumb Da, s čimer ga dodamo na seznam zaupanja vrednih gostiteljev.

3.1.2.8. Vnos gesla za dostop do ključa
Nato se prikaže okno terminala, kjer se zahteva geslo za ključ, če ste ga nastavili prej v koraku 3.1.1.3. Pri vnosu gesla se na ekranu ne zgodi nič. Če ste storili napako, lahko uporabite tipko Backspace.

3.1.2.9. Pozdravna sporočila o uspešni povezavi
Po uspešnem vnosu gesla se nam v terminalu izpiše pozdravno besedilo, ki sporoča, da je oddaljen sistem pripravljen za izvajanje naših ukazov.

4. Konfiguracija strežnika Wireguard
Najbolj aktualna navodila za namestitev in uporabo Wireguard z uporabo spodaj opisanih skriptov si lahko ogledate v repozitoriju:
4.1. Namestitev Wireguard
V terminalu vnesemo naslednje ukaze (lahko jih kopirate v odložišče in prilepite v terminal s klikom desne tipke miške):
4.1.1. Kloniranje repozitorija
Kloniramo repozitorij s skripti za namestitev Wireguard
git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws4.1.2. Pojdite v katalog s skripti
Pojdite v katalog s kloniranim repozitorijem
cd wireguard_aws4.1.3. Zagon inicializacijskega skripta
Zaganjamo skript za namestitev Wireguard kot skrbnik (uporabnik root)
sudo ./initial.shMed namestitvijo bodo zahtevani določeni podatki, potrebni za nastavitev Wireguard
4.1.3.1. Vnos točke povezave
Vnesite zunanji IP naslov in odprt port Wireguard strežnika. Zunanji IP naslov strežnika smo dobili v koraku 2.2.3, port pa smo odprli v koraku 2.1.5. Navedite jih skupaj, ločite z dvopičjem, na primer 4.3.2.1:54321, in nato pritisnite tipko Enter
Primer izhoda:
Vnesite končno točko (zunanji ip in port) v formatu [ipv4:port] (npr. 4.3.2.1:54321): 4.3.2.1:543214.1.3.2. Vnos notranjega IP naslova
Vnesite IP naslov strežnika Wireguard v zaščiteni VPN podmreži, če ne veste, kaj to pomeni, preprosto pritisnite tipko Enter za privzeto vrednost (10.50.0.1)
Primer izhoda:
Vnesite naslov strežnika v VPN podmreži (CIDR format) ([ENTER] nastavite privzeto: 10.50.0.1):4.1.3.3. Določitev strežnika DNS
Vnesite IP naslov DNS strežnika ali preprosto pritisnite tipko Enter za privzeto vrednost 1.1.1.1 (Cloudflare javni DNS)
Primer izhoda:
Vnesite ip naslov strežnika DNS (CIDR format) ([ENTER] nastavite privzeto: 1.1.1.1):4.1.3.4. Določitev WAN vmesnika
Nato morate vnesti ime zunanjega omrežnega vmesnika, ki bo poslušal notranji omrežni vmesnik VPN. Preprosto pritisnite Enter, da nastavite privzeto vrednost za AWS (eth0)
Primer izhoda:
Vnesite ime WAN omrežnega vmesnika ([ENTER] nastavite privzeto: eth0):4.1.3.5. Določitev imena uporabnika
Vnesite ime VPN uporabnika. VPN strežnik Wireguard se ne bo mogel zagnati, dokler ne bo dodan vsaj en uporabnik. V tem primeru sem vnesel ime Alex@mobile
Primer izhoda:
Vnesite ime VPN uporabnika: Alex@mobileNato se na zaslonu prikaže QR koda s konfiguracijo pravkar dodanega uporabnika, ki jo je treba skenirati s pomočjo mobilne aplikacije Wireguard na Android ali iOS, za njegovo nastavitev. Prav tako se pod QR kodo prikaže tekst konfiguracijske datoteke v primeru ročne nastavitve uporabnikov. Kako to storiti, bo razloženo spodaj.

4.2. Dodajanje novega VPN uporabnika
Za dodajanje novega uporabnika je potrebno v terminalu izvesti skripto add-client.sh
sudo .\/add-client.shSkripta zahteva ime uporabnika:
Primer izhoda:
Vnesite ime VPN uporabnika: Poleg tega lahko ime uporabnika posredujete kot parameter skripti (v tem primeru Alex@mobile):
sudo .\/add-client.sh Alex@mobileKot rezultat izvajanja skripte bo v imeniku z imenom uporabnika na poti /etc/wireguard/clients/{ИмяКлиента} ustvarjena datoteka s konfiguracijo uporabnika /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, na zaslonu terminala pa se prikaže QR koda za nastavitev mobilnih odjemalcev in vsebina datoteke s konfiguracijo.
4.2.1. Datoteka uporabniške konfiguracije
Vsebino datoteke .conf za ročno nastavitev uporabnika lahko prikažete na zaslonu s pomočjo ukaza cat
sudo cat \/etc\/wireguard\/clients\/Alex@mobile\/Alex@mobile.confrezultat izvajanja:
[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 s konfiguracijom klijenta:
[Interface]
PrivateKey = Klijentov privatni ključ
Address = Klijentova IP adresa
DNS = DNS koji koristi klijent
[Peer]
PublicKey = Javna ključ servera
PresharedKey = Zajednički ključ servera 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 terminalu pomoću komande qrencode -t ansiutf8 (u ovom primeru se koristi klijent imenom Alex@mobile):
sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf85. Konfiguracija VPN klijenata
5.1. Podešavanje mobilnog klijenta za Android
Zvančni Wireguard klijent za Android može se
Nakon toga, potrebno je uvesti konfiguraciju skeniranjem QR koda s konfiguracijom klijenta (vidi tačku 4.2.2) i dati mu ime:

Nakon uspešnog uvoza konfiguracije, VPN tunel se može aktivirati. O uspešnom povezivanju će signalizovati ikonica ključa na sistemskoj traci Android uređaja

5.2. Podešavanje klijenta za Windows
Prvo je potrebno preuzeti i instalirati program — to je Wireguard klijent za Windows.
5.2.1. Kreiranje datoteke konfiguracije za uvoz
Desnim tasterom miša kreirajte tekstualnu datoteku na radnoj površini.

5.2.2. Kopiranje sadržaja datoteke konfiguracije sa servera
Zatim se vraćamo u terminal Putty i prikazujemo sadržaj konfiguracijske datoteke potrebnog korisnika, kao što je opisano u koraku 4.2.1.
Zatim desnim tasterom miša označavamo tekst konfiguracije u terminalu Putty; po završetku označavanja, on se automatski kopira u međuspremnik.

5.2.3. Kopiranje konfiguracije u lokalnu datoteku konfiguracije
Nakon toga se vraćamo na tekstualnu datoteku koju smo ranije kreirali na radnoj površini i leplimo u nju tekst konfiguracije iz međuspremnika.

5.2.4. Čuvanje lokalne datoteke konfiguracije
Sačuvajte datoteku s ekstenzijom .conf (u ovom slučaju sa imenom london.conf)

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

5.2.6. Postavljanje VPN veze
Izberite to konfiguracijsko datoteko in se povežite z enim pritiskom na gumb Povezivanje.

6. Preverjanje uspešnosti povezave
Če želite preveriti uspešnost povezave preko VPN tunela, morate odpreti brskalnik in iti na spletno mesto

Prikazana IP naslov mora biti enak tistemu, ki smo ga pridobili v koraku 2.2.3.
Če je tako, potem VPN tunel deluje uspešno.
S terminalom v Linuxu lahko preverite svoj IP naslov tako, da vnesete ukaz:
curl http://zx2c4.com/ipLahko pa enostavno obiščete Pornhub, če se nahajate v Kazahstanu.
Izvor: habr.com





