Na konci júla vývojári VPN tunela WireGuard navrhli , ktoré urobia ich softvér na organizáciu VPN tunelov súčasťou jadra Linux. Presný dátum realizácie tejto „myšlienky“ zostáva zatiaľ neznámy. Pod katom sa budeme o tomto nástroji rozprávať podrobnejšie.
/ фото
Stručne o projekte
WireGuard je VPN tunel novej generácie, vytvorený Jasonom Donenfeldom, šéfom spoločnosti Edge Security. Projekt bol vyvíjaný ako a rýchla alternatíva k OpenVPN a IPsec. Prvá verzia produktu obsahovala len 4 tisíc riadkov kódu. Pre porovnanie, OpenVPN má približne 120 tisíc riadkov a IPSec okolo 420 tisíc.
V porovnaní Na rozdiel od mnohých iných vývojárov, WireGuard je ľahko nastaviť a bezpečnosť protokolu sa dosahuje . : Wi-Fi, LTE alebo Ethernet je potrebné sa zakaždým znovu pripojiť k VPN serveru. Servery WireGuard však neprerušujú pripojenie, aj keď používateľ dostane novú IP adresu.
Napriek tomu, že WireGuard je pôvodne určený pre jadro Linux, vývojári aj na prenosnú verziu nástroja pre zariadenia so systémom Android. Aplikácia zatiaľ nie je dokončená, ale môžete si ju vyskúšať už teraz. Na to je potrebné .
Celkovo má WireGuard pomerne veľkú popularitu a bol niekoľkými VPN poskytovateľmi, ako napríklad Mullvad a AzireVPN. Na internete je uverejnené tohto riešenia. Napríklad, , ktoré vytvorili používatelia, a sú tu návody, .
Technické podrobnosti
V (str. 18) uvádza, že priepustnosť WireGuard je štyrikrát vyššia ako u OpenVPN: 1011 Mbit/s oproti 258 Mbit/s. WireGuard prekonáva aj štandardné riešenie pre Linux, IPsec, ktoré má 881 Mbit/s. Prekonáva ho aj v jednoduchosti nastavenia.
Po výmene kľúčov (VPN pripojenie sa inicializuje takmer ako v SSH) a nadviazaní spojenia si WireGuard sám rieši všetky ostatné úlohy: nie je potrebné sa obávať smerovania, kontroly stavu a pod. Dodatočné úsilie na nastavenie bude potrebné len v prípade, že chcete využiť symetrické šifrovanie.

/ фото
Na inštaláciu budete potrebovať distribúciu s jadrom Linux „staršia“ ako 4.1. Tú môžete nájsť v repozitároch hlavných distribúcií Linux.
$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools
Ako uvádzajú redaktori xakep.ru, samostatná zostava z pôvodných textov nie je zložitá. Stačí spustiť rozhranie a vygenerovať otvorené a uzavreté kľúče:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard rozhranie na prácu s kryptoproviderom . Namiesto neho sa používa prúdový šifrovací algoritmus , kryptografická Poly1305 a vlastné kryptografické hash funkcie.
Tajný kľúč sa generuje s použitím na báze eliptickej krivky . Pri hashovaní sa využívajú a . Vďaka formátu časových značiek protokol vylučuje paket s nižšou hodnotou časovej značky, čím a .
Pri tom WireGuard využíva funkciu ioctl na kontrolu vstupu/výstupu (predtým sa používal ), čo robí kód čistejším a jednoduchším. Uistite sa o tom pozretím na .
Plány vývojárov
Pretože zatiaľ je WireGuard dodatočný modul jadra. Ale autor projektu Jason Donenfeld , že už nastal čas na plnohodnotnú implementáciu v jadre Linux. Pretože je to jednoduchšie a spoľahlivejšie ako iné riešenia. Jasona v tomto smere požiadal aj sám Linus Torvalds – označil kód WireGuard za "dielo umenia".
Ale o presných dátumoch zavedenia WireGuard do jadra zatiaľ nikto nehovorí. A sa to stane s uvoľnením augustového jadra Linux 4.18. Avšak existuje pravdepodobnosť, že sa to stane v najbližšej budúcnosti: v verzii 4.19 alebo 5.0.
Keď bude WireGuard pridaný do jadra, vývojári vylepšiť aplikáciu pre zariadenia Android a začať písať aplikáciu pre iOS. Okrem toho sa plánuje dokončiť implementáciu na Go a Rust a preniesť ich na macOS, Windows a BSD. Plánuje sa aj realizácia WireGuard pre viac "exotických systémov": , , ako aj množstvo ďalších zaujímavých vecí. Všetky sú uvedené v autorov projektu.
P.S. Ešte niekoľko článkov z nášho firemného blogu:
Hlavným smerom našej činnosti je poskytovanie cloudových služieb:
| | | | | |
Zdroj: habr.com
