Bezplatná VPN služba Wireguard na AWS

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 Všeobecné deklaraci lidských prá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ý* VPN servis na bázi technologie Wireguard, v cloudové infrastruktuře Amazon Web Services (AWS), s pomocí bezplatného účtu (na 12 měsíců), na instanci (virtuálním stroji) s operačním systémem Ubuntu Server 18.04 LTS.
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

Kroky

  1. Registrace bezplatného účtu AWS
  2. Vytvoření instance AWS
  3. Připojení k instanci AWS
  4. Konfigurace Wireguard
  5. Konfigurace VPN klientů
  6. 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 Yandex.Money nebo Qiwi peněženka. 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: https://aws.amazon.com/ru/
Kliknout na tlačítko „Registrace“

Bezplatná VPN služba Wireguard na AWS

1.2. Vyplnění osobních údajů

Vyplnit údaje a kliknout na tlačítko „Pokračovat“

Bezplatná VPN služba Wireguard na AWS

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

Vyplnit kontaktní údaje.

Bezplatná VPN služba Wireguard na AWS

1.4. Uvedení platebních informací.

Číslo karty, datum vypršení platnosti a jméno držitele karty.

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

1.6. Výběr tarifu.

Vyberte — Základní plán (zdarma)

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

1.8.1. Testování rychlosti

Než vyberete datové centrum, doporučuje se otestovat skrze https://speedtest.net rychlost přístupu k nejbližším datovým centrům, v mé lokalitě jsou takové výsledky:

  • Singapur
    Bezplatná VPN služba Wireguard na AWS
  • Paříž
    Bezplatná VPN služba Wireguard na AWS
  • Frankfurt
    Bezplatná VPN služba Wireguard na AWS
  • Stockholm
    Bezplatná VPN služba Wireguard na AWS
  • Londýn
    Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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ě

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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í

Bezplatná VPN služba Wireguard na AWS

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 dynamických portů 49152—65535. V tomto případě jsem vybral číslo portu 54321.

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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

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

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

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: https://github.com/isystem-io/wireguard-aws

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_aws

4.1.2. Přechod do adresáře se skripty

Přejdeme do adresáře s klonovaným repozitářem

cd wireguard_aws

4.1.3 Spuštění inicializačního skriptu

Spouštíme jako správce (uživatel root) skript pro instalaci Wireguard

sudo ./initial.sh

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

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

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

Bezplatná VPN služba Wireguard na AWS

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

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

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

vý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:54321

Popis 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 ansiutf8

5. Konfigurace VPN klientů

5.1. Nastavení mobilního klienta pro Android

Oficiální klient Wireguard pro Android lze nainstalovat z oficiálního obchodu GooglePlay

Poté je nutné importovat konfiguraci načtením QR kódu s konfigurací klienta (viz bod 4.2.2) a pojmenovat ji:

Bezplatná VPN služba Wireguard na AWS

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

Bezplatná VPN služba Wireguard na AWS

5.2. Nastavení klienta pro Windows

Nejprve je nutné stáhnout a nainstalovat program TunSafe pro Windows — 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.

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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.

Bezplatná VPN služba Wireguard na AWS

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)

Bezplatná VPN služba Wireguard na AWS

5.2.5. Import místního konfiguračního souboru

Nyní je nutné importovat konfigurační soubor do programu TunSafe.

Bezplatná VPN služba Wireguard na AWS

5.2.6. Nastavení VPN připojení

Vyberte tento konfigurační soubor a připojte se, stisknutím tlačítka Připojení.
Bezplatná VPN služba Wireguard na AWS

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 https://2ip.ua/ru/

Bezplatná VPN služba Wireguard na AWS

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

Nebo se můžete jednoduše podívat na Pornhub, pokud se nacházíte v Kazachstánu.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster