VPN WireGuard net-next тармағына қабылданды және негізгі бөлімге қосу үшін жоспарланған Linux 5.6

Дэвид Миллер (Дэвид С. Миллер), ядро ​​​​желісінің ішкі жүйесіне жауапты Linux, қабылдады желі-келесі филиалға патчтар жобадан VPN интерфейсін іске асырумен WireGuardКелесі жылдың басында net-next тармағында жинақталған өзгерістер негізгі шығарылымның негізін құрайды. Linux 5.6.

Кодты насихаттау әрекеттері WireGuard Негізгі ядрода соңғы бірнеше жылда күш-жігер жұмсалды, бірақ олар өнімділікті жақсарту үшін пайдаланылған криптографиялық функциялардың меншікті іске асыруларына тәуелділігіне байланысты сәтсіз аяқталды. Бастапқыда бұл функциялар болды ұсынылған ядро үшін стандартты Crypto API ауыстыра алатын қосымша төменгі деңгейлі Zinc API ретінде.

Kernel Recipes конференциясындағы баяндамалардан кейін, жасаушылар WireGuard қыркүйекте компромисстік шешім қабылдады патчтарыңызды әзірлеушілер қол жеткізе алатын ядродағы бар Crypto API интерфейсін пайдалану үшін түрлендіріңіз WireGuard Өнімділік пен жалпы қауіпсіздікке қатысты шағымдар бар. Zinc API әзірлеуді жалғастыру туралы шешім қабылданды, бірақ бөлек жоба ретінде.

Қараша айында ядроны әзірлеушілер барды Олар ымыраға келіп, мырыш кодының бір бөлігін негізгі ядроға тасымалдауға келісті. Негізінде, кейбір Цинк құрамдастары ядроға бөлек API ретінде емес, Crypto API ішкі жүйесінің бөлігі ретінде тасымалданады. Мысалы, Crypto API қазірдің өзінде қоса алғанда дайындалған WireGuard ChaCha20 және Poly1305 алгоритмдерін жылдам енгізу.

Алдағы жеткізуге байланысты WireGuard негізгі командада, жобаның негізін қалаушы жариялады Репозиторийді қайта құрылымдау туралы. Әзірлеуді жеңілдету үшін монолитті репозиторий ауыстырылдыWireGuardБөлек өмір сүруге арналған .git негізгі ядродағы кодпен жұмысты ұйымдастыруға жақсырақ сәйкес келетін үш бөлек репозиторий алады:

  • wireguard-linux.git — жобадағы өзгерістермен толық ядро ​​ағашы Wireguard, оның патчтары негізгі бөлікке қосу үшін қарастырылады және үнемі net/net-next тармақтарына көшіріледі.
  • wireguard-tools.git — wg және wg-quick сияқты пайдаланушы-кеңістік утилиталары мен сценарийлеріне арналған репозиторий. Репозиторийді тарату үшін бумаларды жасау үшін пайдалануға болады.
  • wireguard-linux-compat.git — модуль нұсқасы ядродан бөлек жеткізілетін және ескі ядролармен үйлесімділікті қамтамасыз ету үшін compat.h қабатын қамтитын репозиторий. Бастапқы әзірлеу репозиторийде жүзеге асырылады. wireguard-linux.git, бірақ пайдаланушылардан мүмкіндік пен сұраныс болғанша, патчтардың бөлек нұсқасы да жұмыс түрінде қолдау көрсетіледі.

VPN екенін еске саламыз WireGuard Заманауи шифрлау әдістерін қолдана отырып жүзеге асырылған бұл жоба өте жоғары өнімділікті қамтамасыз етеді, пайдалану оңай, қиындықтарсыз және үлкен көлемдегі трафикті өңдейтін бірқатар ірі көлемді орналастыруларда өзін дәлелдеді. Жоба 2015 жылдан бері әзірленуде және аудиттен өтті және ресми тексеру шифрлау әдістері қолданылады. Қолдау WireGuard Ол NetworkManager және systemd жүйелеріне интеграцияланған, ал ядро ​​патчтары базалық дистрибутивтерге қосылған. Debian Тұрақсыз, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.

В WireGuard Шифрлау кілтін бағыттау тұжырымдамасы қолданылады, ол әрбір желі интерфейсіне жеке кілтті байланыстыруды және оны ашық кілтті байланыстыру үшін пайдалануды қамтиды. Ашық кілттер SSH-ке ұқсас түрде байланыс орнату үшін алмасады. Кілттерді келіссөздер жүргізу және пайдаланушы кеңістігінде бөлек демонды іске қоспай байланыс орнату үшін Noise_IK механизмі қолданылады. Шу протоколының негізі, SSH жүйесінде авторизацияланған_кілттерді сақтауға ұқсас. Деректерді тасымалдау UDP пакеттерінде инкапсуляция арқылы жүзеге асырылады. VPN серверінің IP мекенжайын (роуминг) қосылымды ажыратпай өзгертуге және клиентті автоматты түрде қайта конфигурациялауға қолдау көрсетіледі.

Шифрлау үшін пайдаланылады ағындық шифр ChaCha20 және хабарламаның аутентификация алгоритмі (MAC) Poly1305, Дэниел Бернштейн әзірлеген (Даниэль Дж. Бернштейн), Таня Ланге
(Таня Ланге) және Питер Швабе. ChaCha20 және Poly1305 AES-256-CTR және HMAC жылдам және қауіпсіз аналогтары ретінде орналастырылған, бағдарламалық қамтамасыз етуді іске асыру арнайы аппараттық қолдауды қолданбай-ақ бекітілген орындау уақытына қол жеткізуге мүмкіндік береді. Ортақ құпия кілтті генерациялау үшін жүзеге асыруда эллиптикалық қисық Диффи-Хеллман протоколы қолданылады. Curve25519, сонымен қатар Даниэль Бернштейн ұсынған. Хэштеу алгоритмі BLAKE2 (RFC7693).

жанында тестілеу өнімділігі WireGuard салыстырғанда 3.9 есе жоғары өткізу қабілетін және 3.8 есе жоғары жауап беру қабілетін көрсетті OpenVPN (HMAC-SHA2-256 бар 256-биттік AES). IPsec-пен (256-биттік ChaCha20+Poly1305 және AES-256-GCM-128) салыстырғанда WireGuard Өнімділіктің шамалы артықшылығы (13-18%) және кідірістің азаюы (21-23%) байқалады. Тесттер жобаның өзінің жылдам шифрлау алгоритмдерін енгізу арқылы жүргізілді; ядроның жергілікті Crypto API-іне ауысу өнімділіктің төмендеуіне әкелуі мүмкін.

VPN WireGuard net-next тармағына қабылданды және негізгі бөлімге қосу үшін жоспарланған Linux 5.6

Ақпарат көзі: opennet.ru

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster