Bezplatná VPN služba Wireguard na AWS

Na čo?

S rastom cenzúrovania internetu autoritárskymi režimami sa blokuje čoraz viac užitočných internetových zdrojov a stránok, vrátane tých s technickými informáciami.
Tým pádom sa stáva nemožné plnohodnotne využívať internet, čo narúša základné právo na slobodu slova, zakotvené v Všeobecnej deklarácii ľudských práv.

Článok 19
Každý človek má právo na slobodu presvedčenia a na jeho slobodné vyjadrenie; toto právo zahŕňa slobodu bez prekážok držať sa svojich presvedčení a slobodu hľadať, prijímať a šíriť informácie a myšlienky akýmikoľvek prostriedkami a bez ohľadu na štátne hranice.

V tejto príručke si v 6 etapách rozbehneme svoj vlastný bezplatný* VPN službu na báze technológie Wireguard, v cloudovej infraštruktúre Amazon Web Services (AWS), s pomocou bezplatného účtu (na 12 mesiacov), na inštancii (virtuálnom stroji) bežiacom na Ubuntu Server 18.04 LTS.
Snažil som sa urobiť túto krok za krokom príručku čo najprívetivejšiu pre ľudí, ktorí sú od IT vzdialení. Jediné, čo sa vyžaduje, je trpezlivosť pri opakovaní nižšie uvedených krokov.

Poznámka

Etapy

  1. Registrácia bezplatného účtu AWS
  2. Vytvorenie inštancie AWS
  3. Pripojenie k inštancii AWS
  4. Konfigurácia Wireguard
  5. Konfigurácia VPN klientov
  6. Kontrola správnosti inštalácie VPN

Užitočné odkazy

1. Registrácia účtu AWS

Na registráciu bezplatného účtu AWS je potrebné reálne telefónne číslo a spôsobilá kreditná karta Visa alebo Mastercard. Odporúčam využiť virtuálne karty, ktoré bezplatne poskytuje Yandex.Money alebo Qiwi peňaženka. Na overenie platnosti karty sa pri registrácii strhne 1$, ktorý sa neskôr vráti.

1.1. Otvorenie konzoly správy AWS

Je potrebné otvoriť prehliadač a prejsť na adresu: https://aws.amazon.com/ru/
Kliknite na tlačidlo „Registrácia“

Bezplatná VPN služba Wireguard na AWS

1.2. Vyplnenie osobných údajov

Vyplňte údaje a kliknite na tlačidlo „Pokračovať“

Bezplatná VPN služba Wireguard na AWS

1.3. Vyplnenie kontaktných údajov

Vyplňte kontaktné údaje.

Bezplatná VPN služba Wireguard na AWS

1.4. Zadajte platobné informácie.

Číslo karty, dátum expirácie a meno držiteľa karty.

Bezplatná VPN služba Wireguard na AWS

1.5. Potvrdenie účtu

V tomto kroku prebieha potvrdenie telefónneho čísla a okamžité strhnutie 1 $ z platobnej karty. Na obrazovke počítača sa zobrazí 4-miestny kód a na zadané telefónne číslo príde hovor z Amazonu. Počas hovoru je potrebné zadať kód uvedený na obrazovke.

Bezplatná VPN služba Wireguard na AWS

1.6. Výber tarifného plánu.

Vyberáme — Základný plán (bezplatný)

Bezplatná VPN služba Wireguard na AWS

1.7. Prihlásenie do ovládacieho panela

Bezplatná VPN služba Wireguard na AWS

1.8. Výber umiestnenia dátového centra

Bezplatná VPN služba Wireguard na AWS

1.8.1. Testovanie rýchlosti

Pred výberom dátového centra sa odporúča otestovať cez https://speedtest.net rýchlosť prístupu k najbližším dátovým centrám, v mojej lokalite sú takéto výsledky:

  • Singapúr
    Bezplatná VPN služba Wireguard na AWS
  • Paríž
    Bezplatná VPN služba Wireguard na AWS
  • Frankfurt
    Bezplatná VPN služba Wireguard na AWS
  • Štokholm
    Bezplatná VPN služba Wireguard na AWS
  • Londýn
    Bezplatná VPN služba Wireguard na AWS

Najlepšie výsledky rýchlosti vykazuje dátové centrum v Londýne. Preto som si ho vybral na ďalšie nastavenie.

2. Vytvorenie inštancie AWS

2.1. Vytvorenie virtuálneho stroja

2.1.1. Výber typu inštancie

Predvolená inštancia je t2.micro, tú potrebujeme, jednoducho stlačíme tlačidlo Ďalej: Nakonfigurovať podrobnosti inštancie

Bezplatná VPN služba Wireguard na AWS

2.1.2. Nastavenie parametrov inštancie

Následne pripojíme k našej inštancii statickú verejnú IP, preto v tomto kroku odpojíme automatické priradenie verejnej IP a stlačíme tlačidlo Ďalej: Pridať úložisko

Bezplatná VPN služba Wireguard na AWS

2.1.3. Pripojenie úložiska

Uvedieme veľkosť „pevného disku“. Pre naše účely stačí 16 gigabajtov a stlačíme tlačidlo Ďalej: Pridať značky

Bezplatná VPN služba Wireguard na AWS

2.1.4. Nastavenie značiek

Keby sme vytvárali niekoľko inštancií, mohli by sme ich skupinovať podľa značiek na uľahčenie správy. V tomto prípade je táto funkčnosť nadbytočná, okamžite stlačíme tlačidlo Ďalej: Nakonfigurovať bezpečnostnú skupinu

Bezplatná VPN služba Wireguard na AWS

2.1.5. Otvorenie portov

V tomto kroku nastavujeme bránu firewall a otvárame potrebné porty. Súbor otvorených portov sa nazýva „Bezpečnostná skupina“ (Security Group). Musíme vytvoriť novú bezpečnostnú skupinu, dať jej názov, popis, pridať port UDP (Vlastné pravidlo UDP), v poli Rozsah portov je potrebné priradiť číslo portu z rozsahu dynamických portov 49152—65535. V tomto prípade som vybral číslo portu 54321.

Bezplatná VPN služba Wireguard na AWS

Po vyplnení potrebných údajov stlačíme tlačidlo Skontrolovať a spustiť

2.1.6. Prehľad všetkých nastavení

Na tejto stránke prebieha prehľad všetkých nastavení našej inštancie, skontrolujeme, či sú všetky nastavenia v poriadku, a stlačíme tlačidlo Spustiť

Bezplatná VPN služba Wireguard na AWS

2.1.7. Vytvorenie prístupových kľúčov

Ďalej sa objaví dialógové okno, ktoré ponúka buď vytvorenie, alebo pridanie existujúceho SSH kľúča, pomocou ktorého sa neskôr budeme môcť pripojiť na náš inštanciu. Vyberáme možnosť „Create a new key pair“, aby sme vytvorili nový kľúč. Zadajte jeho názov a stlačte tlačidlo Stiahnuť kľúčový pár, aby ste si stiahli vytvorené kľúče. Uložte ich na bezpečné miesto na disku lokálneho počítača. Po stiahnutí — stlačte tlačidlo Spustiť inštancie

Bezplatná VPN služba Wireguard na AWS

2.1.7.1. Ukladanie prístupových kľúčov

Tu je zobrazený krok ukladania vytvorených kľúčov z predchádzajúceho kroku. Po stlačení tlačidla Stiahnuť kľúčový pár, kľúč sa uloží ako súbor certifikátu s príponou *.pem. V tomto prípade som mu dal názov wireguard-awskey.pem

Bezplatná VPN služba Wireguard na AWS

2.1.8. Prehľad výsledkov vytvorenia inštancie

Ďalej vidíme správu o úspešnom spustení práve vytvorenej inštancie. Môžeme prejsť na zoznam našich inštancií kliknutím na tlačidlo Zobraziť inštancie

Bezplatná VPN služba Wireguard na AWS

2.2. Vytvorenie externého IP adresy

2.2.1. Spustenie vytvorenia externého IP

Ďalej potrebujeme vytvoriť stály externý IP adresu, cez ktorý sa budeme pripájať na náš VPN server. Na to je potrebné v navigačnom paneli na ľavej strane obrazovky vybrať položku Elastic IPs z kategórie SIEŤ & BEZPEČNOSŤ a stlačiť tlačidlo Priradiť novú adresu

Bezplatná VPN služba Wireguard na AWS

2.2.2. Nastavenie vytvorenia externého IP

Na nasledujúcom kroku je potrebné, aby bola zapnutá možnosť Amazon pool (zapnuté predvolene), a stlačte tlačidlo Priradiť

Bezplatná VPN služba Wireguard na AWS

2.2.3. Prehľad výsledkov vytvorenia externého IP adresy

Na nasledujúcej obrazovke sa zobrazí získaná externá IP adresa. Odporúča sa ju zapamätať, alebo ešte lepšie zapísať. Bude sa nám ešte mnohokrát hodiť pri ďalšom nastavení a používaní VPN servera. V tejto príručke ako príklad používam IP adresu 4.3.2.1. Po zapísaní adresy stlačte tlačidlo Zavrieť

Bezplatná VPN služba Wireguard na AWS

2.2.4. Zoznam externých IP adries

Ďalej sa nám otvorí zoznam našich stálych verejných IP adries (elastické IP).

Bezplatná VPN služba Wireguard na AWS

2.2.5. Priradenie externého IP inštancii

V tomto zozname vyberáme získanú IP adresu a stlačíme pravé tlačidlo myši, aby sme vyvolali rozbaľovacie menu. V ňom vyberáme položku Priradiť adresu, aby sme priradili túto adresu našej predtým vytvorenej inštancii.

Bezplatná VPN služba Wireguard na AWS

2.2.6. Nastavenie priradenia externého IP

Na nasledujúcom kroku vyberáme z rozbaľovacieho zoznamu našu inštanciu a stlačíme tlačidlo Priradiť

Bezplatná VPN služba Wireguard na AWS

2.2.7. Prehľad výsledkov priradenia externého IP

Po tomto môžeme vidieť, že náš inštancia je priradená k nášmu stálému verejnému IP adresu a jeho súkromnému IP adresu.

Bezplatná VPN služba Wireguard na AWS

Teraz sa môžeme pripojiť k našej novo vytvorenej inštancii zvonka, zo svojho počítača cez SSH.

3. Pripojenie k inštancii AWS

SSH je bezpečný protokol diaľkového riadenia počítačových zariadení.

3.1. Pripojenie cez SSH z počítača so systémom Windows

Na pripojenie k počítaču so systémom Windows si najprv musíte stiahnuť a nainštalovať program Putty.

3.1.1. Import súkromného kľúča pre Putty

3.1.1.1. Po nainštalovaní Putty je potrebné spustiť nástroj PuTTYgen, ktorý je s ním dodávaný, na import certifikátového kľúča v formáte PEM do formátu vhodného pre použitie v programe Putty. Na to v hornom menu vyberieme položku Conversions->Import Key

Bezplatná VPN služba Wireguard na AWS

3.1.1.2. Výber kľúča AWS vo formáte PEM

Následne vyberieme kľúč, ktorý sme si predtým uložili v kroku 2.1.7.1, v našom prípade jeho názov wireguard-awskey.pem

Bezplatná VPN služba Wireguard na AWS

3.1.1.3. Zadaní parametrov importu kľúča

V tomto kroku musíme zadať komentár pre tento kľúč (popis) a nastaviť pre bezpečnosť heslo a jeho potvrdenie. To sa bude žiadať pri každom pripojení. Takto chránime kľúč heslom pred nevhodným použitím. Heslo je možné nenastaviť, ale to je menej bezpečné v prípade, že kľúč sa dostane do nesprávnych rúk. Potom stlačíme tlačidlo Save private key

Bezplatná VPN služba Wireguard na AWS

3.1.1.4. Uloženie importovaného kľúča

Otvára sa dialógové okno na uloženie súboru a my ukladáme náš súkromný kľúč ako súbor s príponou .ppk, vhodného na použitie v programe Putty.
Zadáme názov kľúča (v našom prípade wireguard-awskey.ppk) a klikneme na tlačidlo Uložiť.

Bezplatná VPN služba Wireguard na AWS

3.1.2. Vytvorenie a nastavenie pripojenia v Putty

3.1.2.1. Vytvorenie pripojenia

Otvárame program Putty, vyberáme kategóriu Session (je otvorená predvolene) a do poľa Host Name zadáme verejné IP adresu nášho servera, ktorú sme získali v kroku 2.2.3. Do poľa Saved Session zadáme ľubovoľný názov nášho pripojenia (v mojom prípade wireguard-aws-london), a potom stlačíme tlačidlo Uložiť aby sme uložili vykonané zmeny.

Bezplatná VPN služba Wireguard na AWS

3.1.2.2. Nastavenie automatického prihlásenia používateľa

Ďalej v kategórii Pripojenie, vyberáme podkategóriu Data a do poľa Auto-login username zadáme meno používateľa ubuntu — to je štandardný používateľ inštancie na AWS s Ubuntu.

Bezplatná VPN služba Wireguard na AWS

3.1.2.3. Výber súkromného kľúča na pripojenie cez SSH

Potom prejdeme do podkategórie Pripojenie/SSH/Auth a vedľa poľa Súkromný kľúč pre autentifikáciu klikneme na tlačidlo Prehliadať… na výber súboru so certifikátom kľúča.

Bezplatná VPN služba Wireguard na AWS

3.1.2.4. Otvorenie importovaného kľúča

Uvedieme kľúč, ktorý sme importovali skôr v kroku 3.1.1.4, v našom prípade je to súbor wireguard-awskey.ppk, a klikneme na tlačidlo Otvorené.

Bezplatná VPN služba Wireguard na AWS

3.1.2.5. Uloženie nastavení a spustenie pripojenia

Návrat na stránku kategórie Session klikneme ešte raz na tlačidlo Uložiť, na uloženie zmien, ktoré sme vykonali v predchádzajúcich krokoch (3.1.2.2 — 3.1.2.4). A potom klikneme na tlačidlo Otvorené aby sme otvorili vytvorené a nastavené vzdialené pripojenie cez SSH.

Bezplatná VPN služba Wireguard na AWS

3.1.2.7. Nastavenie dôvery medzi hostiteľmi

Na ďalšom kroku, pri prvom pokuse o pripojenie, sa nám zobrazí upozornenie, že dôvera medzi dvoma počítačmi nie je nastavená, a pýta sa, či dôverujeme vzdialenému počítaču. Klikneme na tlačidlo Áno, čím ho pridáme do zoznamu dôveryhodných hostiteľov.

Bezplatná VPN služba Wireguard na AWS

3.1.2.8. Zadaní hesla na prístup k kľúču

Následne sa otvorí okno terminálu, kde sa vyžaduje heslo k kľúču, ak ste ho nastavili skôr v kroku 3.1.1.3. Pri zadávaní hesla na obrazovke nie je vidieť žiadne akcie. Ak ste sa pomýlili, môžete použiť klávesu Backspace.

Bezplatná VPN služba Wireguard na AWS

3.1.2.9. Privítacná správa o úspešnom pripojení

Po úspešnom zadaní hesla nám terminál zobrazuje text privítania, ktorý informuje, že vzdialený systém je pripravený na vykonávanie našich príkazov.

Bezplatná VPN služba Wireguard na AWS

4. Konfigurácia servera Wireguard

Najaktuálnejší návod na inštaláciu a používanie Wireguard pomocou nižšie uvedených skriptov je možné vidieť v repozitári: https://github.com/isystem-io/wireguard-aws

4.1. Inštalácia Wireguard

V termináli zadajte nasledujúce príkazy (môžete ich kopírovať do schránky a vložiť do terminálu kliknutím pravým tlačidlom myši):

4.1.1. Klonovanie repozitára

Klonujeme repozitár so skriptami na inštaláciu Wireguard

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

4.1.2. Prechod do adresára so skriptami

Prejdeme do adresára s klonovaným repozitárom

cd wireguard_aws

4.1.3 Spustenie iniciačného skriptu

Spúšťame skript na inštaláciu Wireguard s oprávneniami správcu (root používateľa)

sudo ./initial.sh

Počas inštalácie budú požadované určité údaje potrebné na nastavenie Wireguard

4.1.3.1. Zadaní prístupového bodu

Zadajte vonkajšiu IP adresu a otvorený port servera Wireguard. Vonkajšiu IP adresu servera sme získali na kroku 2.2.3 a port sme otvorili na kroku 2.1.5. Uvádzajte ich spolu, oddelené dvojbodkou, napríklad 4.3.2.1:54321, a potom stlačte klávesu Enter
Príklad výstupu:

Zadajte koncový bod (vonkajšiu IP adresu a port) vo formáte [ipv4:port] (napr. 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. Zadanie vnútorného IP adresy

Zadajte IP adresu servera Wireguard v zabezpečenej VPN podsieti, ak neviete, čo to je, jednoducho stlačte klávesu Enter pre nastavenie predvolenej hodnoty (10.50.0.1)
Príklad výstupu:

Zadajte adresu servera v podsieti VPN (formát CIDR) ([ENTER] nastaviť na predvolené: 10.50.0.1):

4.1.3.3. Určenie DNS servera

Zadajte IP adresu DNS servera alebo jednoducho stlačte klávesu Enter pre nastavenie predvolenej hodnoty 1.1.1.1 (Verejný DNS Cloudflare)
Príklad výstupu:

Zadajte IP adresu servera DNS (formát CIDR) ([ENTER] nastaviť na predvolené: 1.1.1.1):

4.1.3.4. Určenie WAN rozhrania

Ďalej je potrebné zadať názov vonkajšieho sieťového rozhrania, ktoré bude počúvať na vnútornom VPN sieťovom rozhraní. Jednoducho stlačte Enter, aby ste nastavili predvolenú hodnotu pre AWS (eth0)
Príklad výstupu:

Zadajte názov WAN sieťového rozhrania ([ENTER] nastaviť na predvolené: eth0):

4.1.3.5. Určenie mena klienta

Zadajte meno VPN používateľa. Faktom je, že VPN server Wireguard nebude môcť spustiť, pokiaľ nebude pridaný aspoň jeden klient. V tomto prípade som zadal meno Alex@mobile
Príklad výstupu:

Zadajte meno VPN používateľa: Alex@mobile

Potom by sa na obrazovke mal zobraziť QR kód s konfiguráciou práve pridaného klienta, ktorý je potrebné naskenovať pomocou mobilného klienta Wireguard na Android alebo iOS na jeho nastavenie. Taktiež sa pod QR kódom zobrazí text konfiguračného súboru pre manuálnu konfiguráciu klientov. Ako to urobiť, bude povedané nižšie.

Bezplatná VPN služba Wireguard na AWS

4.2. Pridanie nového VPN používateľa

Na pridanie nového používateľa je potrebné v termináli spustiť skript add-client.sh

sudo ./add-client.sh

Skript sa pýta na meno používateľa:
Príklad výstupu:

Zadajte meno VPN používateľa: 

Taktiež môže byť meno používateľa zadané ako parameter skriptu (v tomto prípade Alex@mobile):

sudo ./add-client.sh Alex@mobile

V dôsledku vykonania skriptu sa v adresári s menom klienta na ceste /etc/wireguard/clients/{ИмяКлиента} vytvorí súbor s konfiguráciou klienta /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, a na obrazovke terminálu sa zobrazí QR kód pre nastavenie mobilných klientov a obsah konfiguračného súboru.

4.2.1. Súbor používateľskej konfigurácie

Zobraziť na obrazovke obsah súboru .conf pre manuálnu konfiguráciu klienta je možné pomocou príkazu cat

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

výsledok vykonania:

[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

Popis konfiguračného súboru klienta:

[Interface]
PrivateKey = Privátny kľúč klienta
Address = IP adresa klienta
DNS = DNS používaný klientom

[Peer]
PublicKey = Verejný kľúč servera
PresharedKey = Spoločný kľúč servera a klienta
AllowedIPs = Povolené adresy na pripojenie (všetky -  0.0.0.0/0, ::/0)
Endpoint = IP adresa a port na pripojenie

4.2.2. QR kód konfigurácie klienta

Zobraziť QR kód konfigurácie na termináli pre predtým vytvoreného klienta je možné pomocou príkazu qrencode -t ansiutf8 (v tomto príklade sa používa klient s názvom Alex@mobile):

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

5. Konfigurovanie VPN klientov

5.1. Nastavenie mobilného klienta na Android

Oficiálny klient Wireguard pre Android je možné nainštalovať z oficiálneho obchodu GooglePlay

Potom je potrebné importovať konfiguráciu načítaním QR kódu s konfiguráciou klienta (pozri bod 4.2.2) a dať mu názov:

Bezplatná VPN služba Wireguard na AWS

Po úspešnom importe konfigurácie môžete zapnúť VPN tunel. O úspešnom pripojení vás informuje ikona kľúča na systémovej lište Android.

Bezplatná VPN služba Wireguard na AWS

5.2. Nastavenie klienta Windows

Najprv je potrebné stiahnuť a nainštalovať program TunSafe pre Windows — je to klient Wireguard pre Windows.

5.2.1. Vytvorenie konfiguračného súboru na import

Pravým tlačidlom vytvorte textový súbor na pracovnej ploche.

Bezplatná VPN služba Wireguard na AWS

5.2.2. Kopírovanie obsahu konfiguračného súboru zo servera

Potom sa vráťte k terminálu Putty a zobrazte obsah konfiguračného súboru požadovaného užívateľa, ako je opísané v kroku 4.2.1.
Ďalej pravým tlačidlom myši vyberte text konfigurácie v termináli Putty, po skončení výberu sa automaticky skopíruje do schránky.

Bezplatná VPN služba Wireguard na AWS

5.2.3. Kopírovanie konfigurácie do lokálneho konfiguračného súboru

Potom sa vráťte k textovému súboru, ktorý ste predtým vytvorili na pracovnej ploche, a vložte do neho z pamäte text konfigurácie.

Bezplatná VPN služba Wireguard na AWS

5.2.4. Uloženie lokálneho konfiguračného súboru

Uložte súbor s príponou .conf (v tomto prípade s názvom london.conf)

Bezplatná VPN služba Wireguard na AWS

5.2.5. Import lokálneho konfiguračného súboru

Potom je potrebné importovať konfiguračný súbor do programu TunSafe.

Bezplatná VPN služba Wireguard na AWS

5.2.6. Nastavenie VPN pripojenia

Vyberte tento konfiguračný súbor a pripojte sa stlačením tlačidla Pripojiť.
Bezplatná VPN služba Wireguard na AWS

6. Kontrola úspešnosti pripojenia

Na overenie úspešnosti pripojenia cez VPN tunel je potrebné otvoriť prehliadač a prejsť na webovú stránku https://2ip.ua/ru/

Bezplatná VPN služba Wireguard na AWS

Zobrazovaná IP adresa by mala súhlasiť s tou, ktorú sme získali v kroku 2.2.3.
Ak je to tak, VPN tunel funguje úspešne.

Z terminálu v Linuxe je možné overiť svoju IP adresu zadaním príkazu:

curl http://zx2c4.com/ip

Alebo sa môžete jednoducho pozrieť na pornografickú stránku, ak sa nachádzate v Kazachstane.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster