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 .
Č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ý* na báze technológie , v cloudovej infraštruktúre (AWS), s pomocou bezplatného účtu (na 12 mesiacov), na inštancii (virtuálnom stroji) bežiacom na .
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
- AWS poskytuje na 12 mesiacov, s obmedzením na 15 gigabajtov prenosu mesačne.
- Najaktuálnejšia verzia tejto príručky sa nachádza na adrese
Etapy
- Registrácia bezplatného účtu AWS
- Vytvorenie inštancie AWS
- Pripojenie k inštancii AWS
- Konfigurácia Wireguard
- Konfigurácia VPN klientov
- 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 alebo . 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:
Kliknite na tlačidlo „Registrácia“

1.2. Vyplnenie osobných údajov
Vyplňte údaje a kliknite na tlačidlo „Pokračovať“

1.3. Vyplnenie kontaktných údajov
Vyplňte kontaktné údaje.

1.4. Zadajte platobné informácie.
Číslo karty, dátum expirácie a meno držiteľa karty.

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.

1.6. Výber tarifného plánu.
Vyberáme — Základný plán (bezplatný)

1.7. Prihlásenie do ovládacieho panela

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

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

- Paríž

- Frankfurt

- Štokholm

- Londýn

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

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

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

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

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 49152—65535. V tomto prípade som vybral číslo portu 54321.

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ť

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

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

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

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

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ť

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ť

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

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.

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ť

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.

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

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

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

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

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.

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.

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.

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

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.

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.

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.

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.

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:
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_aws4.1.2. Prechod do adresára so skriptami
Prejdeme do adresára s klonovaným repozitárom
cd wireguard_aws4.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.shPoč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:543214.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@mobilePotom 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.

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.shSkript 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@mobileV 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.confvý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:54321Popis 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 pripojenie4.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 ansiutf85. Konfigurovanie VPN klientov
5.1. Nastavenie mobilného klienta na Android
Oficiálny klient Wireguard pre Android je možné
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:

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.

5.2. Nastavenie klienta Windows
Najprv je potrebné stiahnuť a nainštalovať program — 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.

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.

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.

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)

5.2.5. Import lokálneho konfiguračného súboru
Potom je potrebné importovať konfiguračný súbor do programu TunSafe.

5.2.6. Nastavenie VPN pripojenia
Vyberte tento konfiguračný súbor a pripojte sa stlačením tlačidla Pripojiť.

6. Kontrola úspešnosti pripojenia
Na overenie úspešnosti pripojenia cez VPN tunel je potrebné otvoriť prehliadač a prejsť na webovú stránku

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/ipAlebo sa môžete jednoducho pozrieť na pornografickú stránku, ak sa nachádzate v Kazachstane.
Zdroj: habr.com





