ProHoster > WireGuard va „veni” la nucleul Linux - de ce?
WireGuard va „veni” la nucleul Linux - de ce?
La sfârșitul lunii iulie, dezvoltatorii tunelului VPN WireGuard au propus set de plasturi, care va face software-ul lor de tunel VPN parte a nucleului Linux. Cu toate acestea, data exactă de implementare a „ideii” rămâne necunoscută. Mai jos de tăiere vom vorbi despre acest instrument mai detaliat.
WireGuard este un tunel VPN de generație următoare creat de Jason A. Donenfeld, CEO al Edge Security. Proiectul a fost dezvoltat ca simplificat și o alternativă rapidă la OpenVPN și IPsec. Prima versiune a produsului conținea doar 4 mii de linii de cod. Pentru comparație, OpenVPN are aproximativ 120 de mii de linii, iar IPSec - 420 de mii.
Pe conform dezvoltatorilor, WireGuard este ușor de configurat și se realizează securitatea protocolului prin algoritmi criptografici dovediți. La schimbarea rețelei: Wi-Fi, LTE sau Ethernet trebuie să se reconnecteze la serverul VPN de fiecare dată. Serverele WireGuard nu termină conexiunea, chiar dacă utilizatorul a primit o nouă adresă IP.
În ciuda faptului că WireGuard a fost proiectat inițial pentru nucleul Linux, dezvoltatorii a fost in grija și despre o versiune portabilă a instrumentului pentru dispozitive Android. Aplicația nu este încă complet dezvoltată, dar o puteți încerca acum. Pentru asta ai nevoie deveni unul dintre testeri.
В documentație oficială (p. 18) se observă că debitul WireGuard este de patru ori mai mare decât cel al OpenVPN: 1011 Mbit/s față de 258 Mbit/s, respectiv. WireGuard este, de asemenea, înaintea soluției standard pentru Linux IPsec - are 881 Mbit/s. De asemenea, îl depășește prin ușurința instalării.
După ce cheile sunt schimbate (conexiunea VPN este inițializată la fel ca SSH) și conexiunea este stabilită, WireGuard se ocupă de toate celelalte sarcini pe cont propriu: nu este nevoie să vă faceți griji cu privire la rutare, controlul stării etc. Eforturile suplimentare de configurare vor fi doar necesar dacă doriți să utilizați criptarea simetrică.
După cum notează editorii xakep.ru, auto-asamblarea din textele sursă este, de asemenea, ușoară. Este suficient să deschideți interfața și să generați chei publice și private:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard nu foloseste interfață pentru lucrul cu un furnizor de cripto CryptoAPI. În schimb, se folosește un cifru de flux ChaCha20, criptografic inserție de imitație Poly1305 și funcții hash criptografice proprietare.
În acest caz, WireGuard utilizează funcția ioctl pentru a controla I/O (utilizată anterior netlink), ceea ce face codul mai curat și mai simplu. Puteți verifica acest lucru uitându-vă la codul de configurare.
Planuri pentru dezvoltatori
Deocamdată, WireGuard este un modul kernel în afara arborelui. Dar autorul proiectului este Jason Donenfeld El vorbește, că a sosit momentul implementării complete în nucleul Linux. Pentru că este mai simplu și mai fiabil decât alte soluții. Jason în acest sens suporturi chiar și Linus Torvalds însuși a numit codul WireGuard o „operă de artă”.
Dar nimeni nu vorbește despre datele exacte pentru introducerea WireGuard în kernel. ȘI cu greu acest lucru se va întâmpla cu lansarea nucleului Linux din august 4.18. Cu toate acestea, există posibilitatea ca acest lucru să se întâmple în viitorul foarte apropiat: în versiunea 4.19 sau 5.0.
Când WireGuard este adăugat la nucleu, dezvoltatorii vrei finalizați aplicația pentru dispozitivele Android și începeți să scrieți o aplicație pentru iOS. Există, de asemenea, planuri de finalizare a implementărilor în Go și Rust și de a le porta pe macOS, Windows și BSD. De asemenea, este planificată implementarea WireGuard pentru mai multe „sisteme exotice”: DPDK, FPGA, precum și multe alte lucruri interesante. Toate sunt enumerate în listă de lucruri de făcut autorii proiectului.
PS Încă câteva articole de pe blogul nostru corporativ: