Krajem jula predložili su programeri WireGuard VPN tunela patch set, što će njihov softver za VPN tuneliranje učiniti dijelom Linux kernela. Međutim, tačan datum implementacije “ideje” ostaje nepoznat. Ispod reza ćemo detaljnije govoriti o ovom alatu.
WireGuard je VPN tunel nove generacije koji je kreirao Jason A. Donenfeld, izvršni direktor Edge Security-a. Projekat je razvijen kao pojednostavljeno i brza alternativa OpenVPN-u i IPsec-u. Prva verzija proizvoda sadržavala je samo 4 hiljade linija koda. Poređenja radi, OpenVPN ima oko 120 hiljada linija, a IPSec - 420 hiljada.
By prema programeri, WireGuard se lako konfiguriše i postiže se sigurnost protokola kroz dokazane kriptografske algoritme. Prilikom promjene mreže: Wi-Fi, LTE ili Ethernet moraju se svaki put ponovo povezati na VPN server. WireGuard serveri ne prekidaju vezu, čak i ako je korisnik primio novu IP adresu.
Unatoč činjenici da je WireGuard izvorno dizajniran za Linux kernel, programeri zbrinuti i o prenosivoj verziji alata za Android uređaje. Aplikacija još nije u potpunosti razvijena, ali je sada možete isprobati. Za ovo vam je potrebno postanite jedan od testera.
В službena dokumentacija (str. 18) primećuje se da je propusnost WireGuarda četiri puta veća od OpenVPN-a: 1011 Mbit/s naspram 258 Mbit/s, respektivno. WireGuard je također ispred standardnog rješenja za Linux IPsec - ima 881 Mbit/s. Takođe ga nadmašuje u jednostavnosti podešavanja.
Nakon što se ključevi razmijene (VPN veza je inicijalizirana slično kao SSH) i uspostavljena veza, WireGuard rješava sve ostale zadatke samostalno: nema potrebe za brigom o rutiranju, kontroli stanja itd. potrebno ako želite koristiti simetrično šifriranje.
Kako napominju urednici xakep.ru, samostalno sastavljanje iz izvornih tekstova je također lako. Dovoljno je otvoriti sučelje i generirati javne i privatne ključeve:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard ne koristi interfejs za rad sa kripto provajderom CryptoAPI. Umjesto toga, koristi se stream šifra ChaCha20, kriptografski umetak imitacije Poly1305 i vlasničke kriptografske hash funkcije.
U ovom slučaju, WireGuard koristi funkciju ioctl za kontrolu I/O (ranije korištena netlink), što čini kod čišćim i jednostavnijim. Ovo možete provjeriti gledanjem konfiguracijski kod.
Programerski planovi
Za sada, WireGuard je modul kernela van stabla. Ali autor projekta je Jason Donenfeld kaže, da je došlo vrijeme za punu implementaciju u Linux kernel. Zato što je jednostavnije i pouzdanije od ostalih rješenja. Jason u tom pogledu podržava čak je i sam Linus Torvalds nazvao WireGuard kod „umjetničkim djelom“.
Ali niko ne govori o tačnim datumima za uvođenje WireGuarda u kernel. I jedva ovo će se desiti sa izdavanjem avgustovskog Linux kernela 4.18. Međutim, postoji mogućnost da se to dogodi u vrlo bliskoj budućnosti: u verziji 4.19 ili 5.0.
Kada se WireGuard doda kernelu, programeri željeti finalizirajte aplikaciju za Android uređaje i počnite pisati aplikaciju za iOS. Postoje i planovi da se dovrše implementacije u Go i Rust-u i prenesu na macOS, Windows i BSD. Planira se i implementacija WireGuard-a za „egzotičnije sisteme“: DPDK, FPGA, kao i mnoge druge zanimljive stvari. Svi oni su navedeni u to-do-list autori projekta.
PS Još nekoliko članaka sa našeg korporativnog bloga: