Proč?
S rostoucím cenzurováním internetu autoritářskými režimy je blokováno stále více užitečných internetových zdrojů a stránek, včetně těch s technickými informacemi.
Tím se stává nemožným plně využívat internet a je porušováno základní právo na svobodu slova, zakotvené v .
Článek 19
Každý člověk má právo na svobodu přesvědčení a na svobodné vyjadřování těchto přesvědčení; toto právo zahrnuje svobodu bez překážek uplatňovat svá přesvědčení a svobodu hledat, získávat a šířit informace a myšlenky jakýmikoliv prostředky a nezávisle na státních hranicích.
V této příručce si v 6 krocích zřídíme vlastní bezplatný* na bázi technologie , v cloudové infrastruktuře (AWS), s pomocí bezplatného účtu (na 12 měsíců), na instanci (virtuálním stroji) s operačním systémem .
Snažil jsem se udělat tuto krok-za-krokem příručku co nejvíce přátelskou pro lidi, kteří nejsou obeznámeni s IT. Jediná věc, kterou budete potřebovat, je trpělivost při opakování níže popsaných kroků.
Poznámka
- AWS poskytuje na 12 měsíců, s limitem na 15 gigabajtů provozu za měsíc.
- Nejaktuálnější verze této příručky je k dispozici na adrese
Kroky
- Registrace bezplatného účtu AWS
- Vytvoření instance AWS
- Připojení k instanci AWS
- Konfigurace Wireguard
- Konfigurace VPN klientů
- Kontrola správnosti instalace VPN
Užitečné odkazy
1. Registrace účtu AWS
Pro registraci bezplatného účtu AWS je potřeba skutečné telefonní číslo a platná kreditní karta Visa nebo Mastercard. Doporučuji využít virtuální karty, které bezplatně poskytuje nebo . Pro ověření platnosti karty se při registraci strhává 1 $, který je později vrácen.
1.1. Otevření konzole správy AWS
Je nutné otevřít prohlížeč a přejít na adresu:
Kliknout na tlačítko „Registrace“

1.2. Vyplnění osobních údajů
Vyplnit údaje a kliknout na tlačítko „Pokračovat“

1.3. Vyplnění kontaktních údajů
Vyplnit kontaktní údaje.

1.4. Uvedení platebních informací.
Číslo karty, datum vypršení platnosti a jméno držitele karty.

1.5. Potvrzení účtu
V této fázi probíhá potvrzení telefonního čísla a skutečné stržení 1 $ z platební karty. Na obrazovce počítače se zobrazí čtyřmístný kód a na uvedený telefon přijde hovor z Amazonu. Během hovoru je třeba zadat kód zobrazený na obrazovce.

1.6. Výběr tarifu.
Vyberte — Základní plán (zdarma)

1.7. Přihlášení do ovládacího panelu

1.8. Výběr umístění datového centra

1.8.1. Testování rychlosti
Než vyberete datové centrum, doporučuje se otestovat skrze rychlost přístupu k nejbližším datovým centrům, v mé lokalitě jsou takové výsledky:
- Singapur

- Paříž

- Frankfurt

- Stockholm

- Londýn

Nejlepší výsledky v rychlosti vykazuje datové centrum v Londýně. Proto jsem ho vybral pro další nastavení.
2. Vytvoření instance AWS
2.1 Vytvoření virtuálního stroje
2.1.1. Výběr typu instance
Ve výchozím nastavení je vybrána instance t2.micro, kterou potřebujeme, jednoduše stiskněte tlačítko Další: Konfigurace podrobností instance

2.1.2. Nastavení parametrů instance
Následně připojíme k naší instanci trvalou veřejnou IP, proto v tomto kroku vypneme automatické přiřazení veřejné IP a stiskneme tlačítko Další: Přidat úložiště

2.1.3. Připojení úložiště
Určte velikost „pevného disku“. Pro naše účely stačí 16 gigabajtů, a stiskněte tlačítko Další: Přidat značky

2.1.4. Nastavení značek
Pokud bychom vytvářeli více instancí, mohli bychom je seskupovat podle značek pro usnadnění správy. V tomto případě je tato funkčnost nadbytečná, okamžitě stiskneme tlačítko Další: Konfigurace skupiny zabezpečení

2.1.5. Otevření portů
V této fázi nastavujeme firewall otevřením potřebných portů. Soubor otevřených portů se nazývá „bezpečnostní skupina“ (Security Group). Musíme vytvořit novou skupinu zabezpečení, dát jí název, popis, přidat port UDP (Vlastní pravidlo UDP), v poli Rozsah portu je třeba přiřadit číslo portu z rozsahu 49152—65535. V tomto případě jsem vybral číslo portu 54321.

Po vyplnění potřebných údajů stiskneme tlačítko Kontrola a spuštění
2.1.6. Přehled všech nastavení
Na této stránce probíhá přehled všech nastavení naší instance, zkontrolujeme, zda jsou všechna nastavení v pořádku, a stiskneme tlačítko Spustit

2.1.7. Vytvoření klíčů pro přístup
Dále se zobrazí dialogové okno, které nabízí buď vytvořit, nebo přidat existující SSH klíč, pomocí kterého se v budoucnu připojíme k našemu instance. Vybereme možnost „Vytvořit nový pár klíčů“, abychom vytvořili nový klíč. Zadáme jeho název a klikneme na tlačítko Stáhnout pár klíčů, abychom stáhli vytvořené klíče. Uložte je na bezpečné místo na pevném disku vašeho místního počítače. Jakmile je stáhnete, klikněte na tlačítko Spustit instance

2.1.7.1. Uložení přístupových klíčů
Zde je ukázán krok ukládání vytvořených klíčů z předchozího kroku. Jakmile jsme klikli na tlačítko Stáhnout pár klíčů, klíč se uloží jako certifikát s příponou *.pem. V tomto případě jsem mu dal název wireguard-awskey.pem

2.1.8. Přehled výsledků vytvoření instance
Dále vidíme zprávu o úspěšném spuštění právě vytvořené instance. Můžeme přejít k seznamu našich instancí kliknutím na tlačítko Zobrazit instance

2.2. Vytvoření veřejné IP adresy
2.2.1. Spuštění vytváření veřejné IP
Dále je nutné vytvořit trvalou veřejnou IP adresu, přes kterou se připojíme k našemu VPN serveru. K tomu je třeba v levé části obrazovky v navigačním panelu vybrat položku Elastic IPs v kategorii SÍTĚ A BEZPEČNOST a kliknout na tlačítko Přidělit novou adresu

2.2.2. Nastavení vytváření veřejné IP
Na dalším kroku je třeba mít zapnutou možnost Amazon pool (ve výchozím nastavení zapnuto), a klikněte na tlačítko Přidělit

2.2.3. Přehled výsledků vytvoření veřejné IP adresy
Na další obrazovce se zobrazí získaná veřejná IP adresa. Doporučuje se si ji zapamatovat, nebo ji raději zapsat. Ještě se nám bude hodit v průběhu další konfigurace a používání VPN serveru. V této příručce jako příklad používám IP adresu 4.3.2.1. Jakmile jste adresu zapsali, klikněte na tlačítko Zavřít

2.2.4. Seznam veřejných IP adres
Dále se nám otevře seznam našich trvalých veřejných IP adres (elastic IP).

2.2.5. Přiřazení veřejné IP instanci
V tomto seznamu vybereme získanou IP adresu a klikneme pravým tlačítkem myši, abychom vyvolali kontextové menu. V něm vybereme položku Přiřadit adresu, abychom ji přiřadili dříve vytvořené instanci.

2.2.6. Nastavení přiřazení veřejné IP
Na dalším kroku vybereme z rozbalovacího seznamu naši instanci a klikneme na tlačítko Přiřadit

2.2.7. Přehled výsledků přiřazení veřejné IP
Poté můžeme vidět, že náš instanci je přidělen naší veřejné statické IP adrese a její soukromé IP adrese.

Nyní se můžeme připojit k našemu nově vytvořenému instanci zvenčí, ze svého počítače pomocí SSH.
3. Připojení k instanci AWS
— to je bezpečný protokol pro vzdálenou správu počítačových zařízení.
3.1. Připojení přes SSH z počítače s Windows
Pro připojení z počítače s Windows je nejprve nutné stáhnout a nainstalovat program .
3.1.1. Import soukromého klíče pro Putty
3.1.1.1. Po nainstalování Putty je nutné spustit utilitu PuTTYgen, která je součástí, pro import certifikátu klíče ve formátu PEM do formátu vhodného pro používání v programu Putty. K tomu v horním menu vyberte položku Conversions->Import Key

3.1.1.2. Výběr klíče AWS ve formátu PEM
Dále vyberte klíč, který jsme dříve uložili ve fázi 2.1.7.1, v našem případě jeho název wireguard-awskey.pem

3.1.1.3. Nastavení parametrů importu klíče
V tomto kroku musíme zadat komentář pro tento klíč (popis) a nastavit bezpečnostní heslo a jeho potvrzení. To bude požadováno při každém připojení. Tímto způsobem chráníme klíč heslem před nežádoucím použitím. Heslo není povinné, ale to je méně bezpečné, v případě, že klíč se dostane do cizích rukou. Poté klikneme na tlačítko Save private key

3.1.1.4. Uložení importovaného klíče
Otevře se dialogové okno pro uložení souboru a my uložíme náš soukromý klíč jako soubor s příponou .ppk, který je použitelný v programu Putty.
Zadáme název klíče (v našem případě wireguard-awskey.ppk) a klikneme na tlačítko Uložit.

3.1.2. Vytvoření a nastavení připojení v Putty
3.1.2.1. Vytvoření připojení
Otevřeme program Putty, vybereme kategorii Session (ta je otevřena ve výchozím nastavení) a do pole Host Name zadáme veřejnou IP adresu našeho serveru, kterou jsme získali v kroku 2.2.3. Do pole Saved Session zadáme libovolný název našeho připojení (v mém případě wireguard-aws-london), a poté klikneme na tlačítko Uložit pro uložení provedených změn.

3.1.2.2. Nastavení automatického přihlášení uživatele
Dále v kategorii Connection, vybereme podkategorii Data a do pole Auto-login username zadáme uživatelské jméno ubuntu — to je standardní uživatel instance na AWS s Ubuntu.

3.1.2.3. Výběr soukromého klíče pro připojení přes SSH
Poté přejdeme do podkategorie Connection/SSH/Auth a vedle pole Soubor soukromého klíče pro autentizaci klikněte na tlačítko Procházet… pro výběr souboru se certifikátem klíče.

3.1.2.4. Otevření importovaného klíče
Určujeme klíč, který jsme importovali dříve v kroku 3.1.1.4, v našem případě je to soubor wireguard-awskey.ppk, a klikneme na tlačítko Otevřít.

3.1.2.5. Uložení nastavení a spuštění připojení
Po návratu na stránku kategorie Session znovu klikneme na tlačítko Uložit, pro uložení dříve provedených změn v předchozích krocích (3.1.2.2 — 3.1.2.4). A následně klikneme na tlačítko Otevřít abyste otevřeli vytvořené a nastavené vzdálené připojení přes SSH.

3.1.2.7. Nastavení důvěry mezi hostiteli
Na následujícím kroku, při prvním pokusu o připojení, nám je zobrazena výstraha, že nemáme nastavenou důvěru mezi dvěma počítači, a ptá se, zda důvěřovat vzdálenému počítači. Klikneme na tlačítko Ano, čímž jej přidáme do seznamu důvěryhodných hostitelů.

3.1.2.8. Zadat heslo pro přístup ke klíči
Poté se otevře okno terminálu, kde se vyžaduje heslo ke klíči, pokud jste ho nastavili dříve v kroku 3.1.1.3. Při zadávání hesla na obrazovce nedochází k žádným akcím. Pokud dojde k chybě, můžete použít klávesu Backspace.

3.1.2.9. Pozdravná zpráva o úspěšném připojení
Po úspěšném zadání hesla se nám v terminálu zobrazuje pozdravný text, který informuje, že vzdálený systém je připraven k vykonávání našich příkazů.

4. Konfigurace serveru Wireguard
Nejaktuálnější instrukce k instalaci a používání Wireguard pomocí níže uvedených skriptů si můžete prohlédnout v repozitáři:
4.1. Instalace Wireguard
Do terminálu zadejte následující příkazy (lze zkopírovat do schránky a vložit do terminálu pravým tlačítkem myši):
4.1.1. Klonování repozitáře
Klonujeme repozitář se skripty pro instalaci Wireguard
git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws4.1.2. Přechod do adresáře se skripty
Přejdeme do adresáře s klonovaným repozitářem
cd wireguard_aws4.1.3 Spuštění inicializačního skriptu
Spouštíme jako správce (uživatel root) skript pro instalaci Wireguard
sudo ./initial.shV průběhu instalace budou požadovány určité údaje potřebné k nastavení Wireguard
4.1.3.1. Zadat bod připojení
Zadejte externí IP adresu a otevřený port serveru Wireguard. Externí IP adresu serveru jsme získali v kroku 2.2.3 a port jsme otevřeli v kroku 2.1.5. Uveďte je dohromady, oddělené dvojtečkou, například 4.3.2.1:54321, a poté stiskněte klávesu Enter
Příklad výstupu:
Zadejte koncový bod (externí ip a port) ve formátu [ipv4:port] (např. 4.3.2.1:54321): 4.3.2.1:543214.1.3.2. Zadání vnitřní IP adresy
Zadejte IP adresu serveru Wireguard v chráněné VPN podsíti. Pokud nevíte, co to je, jednoduše stiskněte klávesu Enter pro nastavení výchozí hodnoty (10.50.0.1)
Příklad výstupu:
Zadejte adresu serveru v podsíti VPN (formát CIDR) ([ENTER] nastaví na výchozí hodnotu: 10.50.0.1):4.1.3.3. Zadání DNS serveru
Zadejte IP adresu DNS serveru nebo jednoduše stiskněte klávesu Enter pro nastavení výchozí hodnoty 1.1.1.1 (Veřejný DNS Cloudflare)
Příklad výstupu:
Zadejte IP adresu serveru DNS (formát CIDR) ([ENTER] nastaví na výchozí hodnotu: 1.1.1.1):4.1.3.4. Zadání WAN rozhraní
Dále je potřeba zadat název vnějšího síťového rozhraní, které bude naslouchat vnitřnímu síťovému rozhraní VPN. Stačí stisknout Enter pro nastavení výchozí hodnoty pro AWS (eth0)
Příklad výstupu:
Zadejte název WAN síťového rozhraní ([ENTER] nastaví na výchozí hodnotu: eth0):4.1.3.5. Zadání jména klienta
Zadejte jméno VPN uživatele. VPN server Wireguard se nemůže spustit, dokud nebude přidán alespoň jeden klient. V tomto případě jsem zadal jméno Alex@mobile
Příklad výstupu:
Zadejte jméno VPN uživatele: Alex@mobilePoté by se na obrazovce měl zobrazit QR kód s konfigurací právě přidaného klienta, který je třeba načíst pomocí mobilního klienta Wireguard na Androidu nebo iOS pro jeho nastavení. Také se pod QR kódem zobrazí text konfiguračního souboru v případě manuální konfigurace klientů. Jak to udělat, bude vysvětleno níže.

4.2. Přidání nového VPN uživatele
Chcete-li přidat nového uživatele, je třeba v terminálu spustit skript add-client.sh
sudo ./add-client.shSkript se ptá na uživatelské jméno:
Příklad výstupu:
Zadejte jméno VPN uživatele: Také je možné předat jméno uživateli jako parametr skriptu (v tomto případě Alex@mobile):
sudo ./add-client.sh Alex@mobilePo provedení skriptu bude ve složce s názvem klienta na cestě /etc/wireguard/clients/{ИмяКлиента} vytvořen soubor s konfigurací klienta /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, a na obrazovce terminálu se zobrazí QR kód pro nastavení mobilních klientů a obsah konfiguračního souboru.
4.2.1. Soubor uživatelské konfigurace
Obsah souboru .conf pro manuální konfiguraci klienta lze zobrazit pomocí příkazu cat
sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.confvýsledek provedení:
[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 souboru klienta:
[Interface]
PrivateKey = Klientský soukromý klíč
Address = Klientská IP adresa
DNS = DNS používané klientem
[Peer]
PublicKey = Veřejný klíč serveru
PresharedKey = Sdílený klíč serveru a klienta
AllowedIPs = Povolené adresy pro připojení (vše - 0.0.0.0/0, ::/0)
Endpoint = IP adresa a port pro připojení4.2.2. QR kód konfigurace klienta
QR kód konfigurace dříve vytvořeného klienta lze zobrazit na terminálu pomocí příkazu qrencode -t ansiutf8 (v tomto příkladu je použit klient s názvem Alex@mobile):
sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf85. Konfigurace VPN klientů
5.1. Nastavení mobilního klienta pro Android
Oficiální klient Wireguard pro Android lze
Poté je nutné importovat konfiguraci načtením QR kódu s konfigurací klienta (viz bod 4.2.2) a pojmenovat ji:

Po úspěšném importu konfigurace lze aktivovat VPN tunel. O úspěšném připojení informuje ikona zámku na systémovém panelu Android

5.2. Nastavení klienta pro Windows
Nejprve je nutné stáhnout a nainstalovat program — je to klient Wireguard pro Windows.
5.2.1. Vytvoření konfiguračního souboru pro import
Pravým tlačítkem myši vytvořte textový soubor na ploše.

5.2.2. Kopírování obsahu konfiguračního souboru ze serveru
Pak se vraťte k terminálu Putty a zobrazte obsah konfiguračního souboru příslušného uživatele, jak je popsáno v kroku 4.2.1.
Dále pravým tlačítkem myši vyberte text konfigurace v terminálu Putty, po dokončení výběru se automaticky zkopíruje do schránky.

5.2.3. Kopírování konfigurace do místního konfiguračního souboru
Poté se vraťte k dříve vytvořenému textovému souboru na ploše a vložte do něj ze schránky text konfigurace.

5.2.4. Uložení místního konfiguračního souboru
Uložte soubor s příponou .conf (v tomto případě s názvem london.conf)

5.2.5. Import místního konfiguračního souboru
Nyní je nutné importovat konfigurační soubor do programu TunSafe.

5.2.6. Nastavení VPN připojení
Vyberte tento konfigurační soubor a připojte se, stisknutím tlačítka Připojení.

6. Kontrola úspěšnosti připojení
Chcete-li zkontrolovat úspěšnost připojení přes VPN tunel, je potřeba otevřít prohlížeč a přejít na webovou stránku

Zobrazovaná IP adresa by měla odpovídat té, kterou jsme získali v kroku 2.2.3.
Pokud ano, VPN tunel funguje úspěšně.
Z terminálu v Linuxu lze zkontrolovat svou IP adresu zadáním příkazu:
curl http://zx2c4.com/ipNebo se můžete jednoduše podívat na Pornhub, pokud se nacházíte v Kazachstánu.
Zdroj: habr.com





