Brezplačna VPN storitev Wireguard na AWS

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 Splošni deklaraciji o človekovih pravicah.

Č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* VPN storitev na osnovi tehnologije Wireguard, v oblaku Amazon Web Services (AWS), z brezplačnim računom (za 12 mesecev), na instanci (virtualnem strežniku) pod nadzorom Ubuntu Server 18.04 LTS.
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

Koraki

  1. Registracija brezplačnega računa AWS
  2. Ustvarjanje instance AWS
  3. Povezovanje z instanco AWS
  4. Konfiguracija Wireguarda
  5. Konfiguracija VPN odjemalcev
  6. 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 Yandex.Money ili Qiwi denarnica. 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: https://aws.amazon.com/ru/
Kliknite gumb 'Registracija'

Brezplačna VPN storitev Wireguard na AWS

1.2. Izpolnitev osebnih podatkov

Izpolnite podatke in kliknite gumb 'Nadaljuj'

Brezplačna VPN storitev Wireguard na AWS

1.3. Izpolnitev kontaktnih podatkov

Izpolnite kontaktne informacije.

Brezplačna VPN storitev Wireguard na AWS

1.4. Vnos plačilnih informacij.

Številka kartice, datum poteka in ime imetnika kartice.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

1.6. Izbira tarifnega načrta.

Izberemo — Osnovni načrt (brezplačno)

Brezplačna VPN storitev Wireguard na AWS

1.7. Vstop v nadzorno ploščo

Brezplačna VPN storitev Wireguard na AWS

1.8. Izbira lokacije podatkovnega centra

Brezplačna VPN storitev Wireguard na AWS

1.8.1. Testiranje hitrosti

Preden izberete podatkovni center, priporočamo, da preverite preko https://speedtest.net hitrosti dostopa do najbližjih podatkovnih centrov, v moji lokaciji so rezultati takšni:

  • Singapur
    Brezplačna VPN storitev Wireguard na AWS
  • Pariz
    Brezplačna VPN storitev Wireguard na AWS
  • Frankfurt
    Brezplačna VPN storitev Wireguard na AWS
  • Stockholm
    Brezplačna VPN storitev Wireguard na AWS
  • London
    Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

2.1.3. Povezovanje shranjevanja

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

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

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 dinamičnih vrat 49152—65535. V tem primeru sem izbral številko vrat 54321.

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

2.2.2. Nastavitev ustvarjanja zunanjega IP

V naslednjem koraku moramo omogočiti možnost Amazon pool (privzeto omogočeno), in pritisnemo gumb Dodeli

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

2.2.4. Seznam zunanjih IP naslovov

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

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

2.2.6. Nastavitev dodelitve zunanjega IP

V naslednjem koraku izberemo našo instanco iz spustnega seznama in pritisnemo gumb Dodeli

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

Zdaj se lahko povežemo z našo novo ustvarjeno instanco od zunaj, iz svojega računalnika preko SSH.

3. Povezovanje z instanco AWS

SSH — 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 Putty.

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

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

4. Konfiguracija strežnika Wireguard

Najbolj aktualna navodila za namestitev in uporabo Wireguard z uporabo spodaj opisanih skriptov si lahko ogledate v repozitoriju: https://github.com/isystem-io/wireguard-aws

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_aws

4.1.2. Pojdite v katalog s skripti

Pojdite v katalog s kloniranim repozitorijem

cd wireguard_aws

4.1.3. Zagon inicializacijskega skripta

Zaganjamo skript za namestitev Wireguard kot skrbnik (uporabnik root)

sudo ./initial.sh

Med 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:54321

4.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@mobile

Nato 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.

Brezplačna VPN storitev Wireguard na AWS

4.2. Dodajanje novega VPN uporabnika

Za dodajanje novega uporabnika je potrebno v terminalu izvesti skripto add-client.sh

sudo .\/add-client.sh

Skripta 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@mobile

Kot 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.conf

rezultat 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:54321

Opis 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 povezivanje

4.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 ansiutf8

5. Konfiguracija VPN klijenata

5.1. Podešavanje mobilnog klijenta za Android

Zvančni Wireguard klijent za Android može se preuzeti iz zvanične Google Play prodavnice

Nakon toga, potrebno je uvesti konfiguraciju skeniranjem QR koda s konfiguracijom klijenta (vidi tačku 4.2.2) i dati mu ime:

Brezplačna VPN storitev Wireguard na AWS

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

Brezplačna VPN storitev Wireguard na AWS

5.2. Podešavanje klijenta za Windows

Prvo je potrebno preuzeti i instalirati program TunSafe za Windows — 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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

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.

Brezplačna VPN storitev Wireguard na AWS

5.2.4. Čuvanje lokalne datoteke konfiguracije

Sačuvajte datoteku s ekstenzijom .conf (u ovom slučaju sa imenom london.conf)

Brezplačna VPN storitev Wireguard na AWS

5.2.5. Uvoz lokalne datoteke konfiguracije

Zatim je potrebno uvesti datoteku konfiguracije u program TunSafe.

Brezplačna VPN storitev Wireguard na AWS

5.2.6. Postavljanje VPN veze

Izberite to konfiguracijsko datoteko in se povežite z enim pritiskom na gumb Povezivanje.
Brezplačna VPN storitev Wireguard na AWS

6. Preverjanje uspešnosti povezave

Če želite preveriti uspešnost povezave preko VPN tunela, morate odpreti brskalnik in iti na spletno mesto https://2ip.ua/ru/

Brezplačna VPN storitev Wireguard na AWS

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/ip

Lahko pa enostavno obiščete Pornhub, če se nahajate v Kazahstanu.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster