VPN WireGuard ត្រូវ​បាន​ទទួល​យក​ទៅ​ក្នុង​សាខា net-next ហើយ​ត្រូវ​បាន​កំណត់​សម្រាប់​ការ​ដាក់​បញ្ចូល​ក្នុង​ខឺណែល Linux 5.6

Дэвид Миллер (David S. Miller), отвечающий за сетевую подсистему ядра Linux, ទទួលយក ទៅសាខា net-បន្ទាប់ បំណះ с реализацией VPN-интерфейса от проекта WireGuard. В начале следующего года изменения, накапливаемые в ветке net-next, лягут в основу выпуска ядра Linux 5.6.

Попытки продвижения кода WireGuard в основной состав ядра предпринимались последние несколько лет, но оставались без результата из-за привязки к собственным реализациям криптографических функций, которые применялись для повышения производительности. Вначале данные функции были បានស្នើឡើង для ядра в качестве дополнительного низкоуровневого API Zinc, который со временем смог бы заменить штатный Crypto API.

После переговоров на конференции Kernel Recipes, создатели WireGuard в сентябре приняли компромиссное решение перевести свои патчи на использование имеющегося в ядре Crypto API, к которому у разработчиков WireGuard имеются претензии в области производительности и общей безопасности. API Zinc было решено продолжать развивать, но как отдельный проект.

В ноября разработчики ядра បានទៅ на ответный компромисс и согласились перенести в основное ядро часть кода из Zinc. По сути некоторые компоненты Zinc будут перенесены в ядро, но не как отдельный 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 រួចហើយ ហើយបំណះខឺណែលត្រូវបានរួមបញ្ចូលនៅក្នុងការចែកចាយមូលដ្ឋាន ដេបៀនមិនស្ថិតស្ថេរ, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, ផ្នែករង។ и ALT.

WireGuard ប្រើគោលគំនិតនៃការកំណត់ផ្លូវសោរអ៊ិនគ្រីប ដែលពាក់ព័ន្ធនឹងការភ្ជាប់សោឯកជនទៅចំណុចប្រទាក់បណ្តាញនីមួយៗ ហើយប្រើវាដើម្បីចងសោសាធារណៈ។ សោសាធារណៈត្រូវបានផ្លាស់ប្តូរដើម្បីបង្កើតការតភ្ជាប់តាមរបៀបស្រដៀងគ្នាទៅនឹង SSH ។ ដើម្បីចរចារសោ និងភ្ជាប់ដោយមិនដំណើរការដេមិនដាច់ដោយឡែកនៅក្នុងកន្លែងអ្នកប្រើប្រាស់ យន្តការ Noise_IK មកពី គ្រោងការណ៍ពិធីការសំឡេងរំខាន, похожий на поддержание authorized_keys в SSH. Передача данных осуществляется через инкапсуляцию в пакеты UDP. Поддерживается смена IP-адреса VPN-сервера (роуминг) без разрыва соединения и автоматической перенастройкой клиента.

សម្រាប់ការអ៊ិនគ្រីប ត្រូវបានប្រើ ស្ទ្រីម cipher ChaCha20 និងក្បួនដោះស្រាយការផ្ទៀងផ្ទាត់សារ (MAC) Poly1305រចនាដោយ Daniel Bernstein (ដានីយ៉ែល J. Bernstein), Tanya Lange
(Tanja Lange) និង Peter Schwabe ។ ChaCha20 និង Poly1305 ត្រូវបានដាក់ជា analogues លឿន និងមានសុវត្ថិភាពជាងនៃ AES-256-CTR និង HMAC ដែលជាការអនុវត្តកម្មវិធីដែលអនុញ្ញាតឱ្យសម្រេចបាននូវពេលវេលាប្រតិបត្តិថេរដោយមិនចាំបាច់ប្រើជំនួយផ្នែករឹងពិសេស។ ដើម្បីបង្កើតសោសម្ងាត់ដែលបានចែករំលែក ពិធីការ Diffie-Hellman ខ្សែកោងរាងអេលីបត្រូវបានប្រើក្នុងការអនុវត្ត Curve25519, также предложенной Дэниелом Бернштейном. Для хэширования используются алгоритм BLAKE2s (RFC7693).

នៅ ការធ្វើតេស្ត производительности WireGuard продемонстрировал в 3.9 раза более высокую пропускную способность и в 3.8 раз более высокую отзывчивость, по сравнению с OpenVPN (256-bit AES c HMAC-SHA2-256). По сравнению с IPsec (256-bit ChaCha20+Poly1305 и AES-256-GCM-128) в WireGuard наблюдается небольшое опережение по производительности (13-18%) и снижение задержек (21-23%). Тесты выполнены при использовании развиваемых проектом быстрых реализаций алгоритмов шифрования — перевод на штатный Crypto API ядра возможно приведёт к ухудшению показателей.

VPN WireGuard ត្រូវ​បាន​ទទួល​យក​ទៅ​ក្នុង​សាខា net-next ហើយ​ត្រូវ​បាន​កំណត់​សម្រាប់​ការ​ដាក់​បញ្ចូល​ក្នុង​ខឺណែល Linux 5.6

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់