WireGuard Linux nüvəsinə "gələcək" - niyə?

İyulun sonunda WireGuard VPN tunelinin tərtibatçıları təklif etdilər yamaq dəsti, bu onların VPN tunel proqram təminatını Linux nüvəsinin bir hissəsi edəcək. Bununla belə, “ideyanın” həyata keçirilməsinin dəqiq tarixi məlum deyil. Kesimin altında bu alət haqqında daha ətraflı danışacağıq.

WireGuard Linux nüvəsinə "gələcək" - niyə?
/ Şəkil Tambako Yaquar CC

Layihə haqqında qısaca

WireGuard Edge Security-nin baş direktoru Ceyson A. Donenfeld tərəfindən yaradılmış yeni nəsil VPN tunelidir. Layihə kimi hazırlanmışdır sadələşdirilmiş və OpenVPN və IPsec-ə sürətli alternativ. Məhsulun ilk versiyasında cəmi 4 min sətir kod var idi. Müqayisə üçün qeyd edək ki, OpenVPN-də təxminən 120 min, IPSec isə 420 min xətt var.

Haqqında görə developers, WireGuard-ı konfiqurasiya etmək asandır və protokol təhlükəsizliyi əldə edilir sübut edilmiş kriptoqrafik alqoritmlər vasitəsilə. Şəbəkəni dəyişdirərkən: Wi-Fi, LTE və ya Ethernet hər dəfə VPN serverinə yenidən qoşulmalıdır. WireGuard serverləri, hətta istifadəçi yeni IP ünvanı alsa belə, əlaqəni dayandırmır.

WireGuard-ın əvvəlcə Linux nüvəsi üçün nəzərdə tutulmasına baxmayaraq, tərtibatçılar qayğısına qalır və Android cihazları üçün alətin portativ versiyası haqqında. Tətbiq hələ tam işlənməyib, lakin siz onu indi sınaqdan keçirə bilərsiniz. Bunun üçün sizə lazımdır sınayanlardan birinə çevrilir.

Ümumiyyətlə, WireGuard olduqca populyardır və hətta olmuşdur həyata keçirilən Mullvad və AzireVPN kimi bir neçə VPN provayderi. Onlayn nəşr çox sayda quraşdırma təlimatları bu qərar. Misal üçün, bələdçilər varistifadəçilər tərəfindən yaradılan və təlimatlar var, layihə müəllifləri tərəfindən hazırlanmışdır.

Texniki detallar

В rəsmi sənədlər (səh. 18) qeyd olunur ki, WireGuard-ın ötürmə qabiliyyəti OpenVPN-dən dörd dəfə yüksəkdir: müvafiq olaraq 1011 Mbit/s qarşı 258 Mbit/s. WireGuard Linux IPsec üçün standart həlli də qabaqlayır - 881 Mbit/s sürətə malikdir. Quraşdırma asanlığında da onu üstələyir.

Düymələr dəyişdirildikdən sonra (VPN bağlantısı SSH kimi işə salınır) və əlaqə qurulduqdan sonra WireGuard bütün digər tapşırıqları özü həll edir: marşrutlaşdırma, vəziyyətə nəzarət və s. barədə narahat olmağa ehtiyac yoxdur. Əlavə konfiqurasiya səyləri yalnız simmetrik şifrələmədən istifadə etmək istəyirsinizsə, tələb olunur.

WireGuard Linux nüvəsinə "gələcək" - niyə?
/ Şəkil Anders Hojbjerg CC

Quraşdırmaq üçün sizə 4.1-dən köhnə Linux nüvəsi olan paylama lazımdır. Onu əsas Linux paylamalarının depolarında tapmaq olar.

$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools

Xakep.ru redaktorlarının qeyd etdiyi kimi, mənbə mətnlərindən öz-özünə yığmaq da asandır. İnterfeysi açmaq və ictimai və şəxsi açarları yaratmaq kifayətdir:

$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey

WireGuard istifadə etmir kripto provayderi ilə işləmək üçün interfeys Kriptovapi. Bunun əvəzinə bir axın şifrəsi istifadə olunur ChaCha20, kriptoqrafik imitasiya əlavəsi Poly1305 və özəl kriptoqrafik hash funksiyaları.

Gizli açar istifadə edərək yaradılır Diffie-Hellman protokolu elliptik əyriyə əsaslanır Curve25519. Hashing zaman istifadə edirlər hash funksiyaları BLAKE2 и SipHash. Vaxt damğası formatına görə TAI64N protokol bununla da daha kiçik vaxt damğası dəyəri olan paketləri ləğv edir DoS-in qarşısının alınması и təkrar hücumlar.

Bu halda, WireGuard I/O-nu idarə etmək üçün ioctl funksiyasından istifadə edir (əvvəllər istifadə olunurdu netlink), kodu daha təmiz və sadə edir. Bunu baxaraq yoxlaya bilərsiniz konfiqurasiya kodu.

İnkişaf etdirici planları

Hazırda WireGuard ağacdan kənar nüvə moduludur. Amma layihənin müəllifi Ceyson Donenfelddir deyir, Linux nüvəsində tam tətbiqetmənin vaxtı çatmışdır. Çünki digər həll yollarından daha sadə və etibarlıdır. Bu baxımdan Jason dəstəkləyir hətta Linus Torvalds özü WireGuard kodunu "sənət əsəri" adlandırdı.

Ancaq heç kim WireGuard-ın nüvəyə daxil edilməsinin dəqiq tarixlərindən danışmır. VƏ çətin bu avqust Linux kernel 4.18-in buraxılışı ilə baş verəcək. Bununla belə, bunun çox yaxın gələcəkdə baş verməsi ehtimalı var: 4.19 və ya 5.0 versiyalarında.

WireGuard nüvəyə əlavə edildikdə, tərtibatçılar istəmək Android cihazları üçün tətbiqi yekunlaşdırın və iOS üçün ərizə yazmağa başlayın. Go və Rust-da tətbiqləri tamamlamaq və onları macOS, Windows və BSD-yə köçürmək planları da var. Daha çox "ekzotik sistemlər" üçün WireGuard tətbiqi də planlaşdırılır: DPDK, FPGA, eləcə də bir çox başqa maraqlı şeylər. Onların hamısı siyahıdadır görüləcək işlər siyahısı layihənin müəllifləri.

PS Korporativ bloqumuzdan daha bir neçə məqalə:

Fəaliyyətimizin əsas istiqaməti bulud xidmətlərinin göstərilməsidir:

Virtual İnfrastruktur (IaaS) | PCI DSS hosting | Bulud FZ-152 | SAP hostinqi | Virtual saxlama | Buludda məlumatların şifrələnməsi | Bulud saxlama

Mənbə: www.habr.com

Добавить комментарий