A nabatala VPN WireGuard n'ime ngalaba net na-esote wee debe ya maka itinye ya na Linux 5.6 kernel.

Дэвид Миллер (David S. Miller), отвечающий за сетевую подсистему ядра Linux, nabatara gaa n'alaka netwọk na-esote patches с реализацией VPN-интерфейса от проекта WireGuard. В начале следующего года изменения, накапливаемые в ветке net-next, лягут в основу выпуска ядра Linux 5.6.

Попытки продвижения кода WireGuard в основной состав ядра предпринимались последние несколько лет, но оставались без результата из-за привязки к собственным реализациям криптографических функций, которые применялись для повышения производительности. Вначале данные функции были tụrụ aro для ядра в качестве дополнительного низкоуровневого API Zinc, который со временем смог бы заменить штатный Crypto API.

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

В ноября разработчики ядра gara на ответный компромисс и согласились перенести в основное ядро часть кода из Zinc. По сути некоторые компоненты Zinc будут перенесены в ядро, но не как отдельный API, а как часть подсистемы Crypto API. Например, в Crypto API уже gụnyere подготовленные в WireGuard быстрые реализации алгоритмов ChaCha20 и Poly1305.

В связи с предстоящей поставкой WireGuard в основном составе ядра, основатель проекта mara ọkwa о реструктуризации репозитория. Для упрощения разработки на смену монолитному репозиторию «WireGuard.git», который был рассчитан на обособленное существование, придут три отдельных репозитория, лучше подходящие для организации работы с кодом в основном ядре:

  • wayaguard-linux.git — полное дерево ядра с изменениями от проекта Wireguard, патчи из которого будут рецензироваться для включения в ядро и регулярно переноситься в ветки net/net-next.
  • wayaguard-tool.git — репозиторий для запускаемых в пространстве пользователя утилит и скриптов, таких как wg и wg-quick. Репозиторий можно использовать для создания пакетов для дистрибутивами.
  • wayaguard-linux-compat.git — репозиторий с вариантом модуля, поставляемым отдельной от ядра и включающим слой compat.h для обеспечения совместимости со старыми ядрами. Основная разработка будет вестись в репозитории wireguard-linux.git, но пока есть возможность и потребность у пользователей обособленный вариант патчей также будет поддерживаться в рабочем виде.

Ka anyị na-echetara gị na VPN WireGuard na-emejuputa atumatu na ndabere nke ọgbara ọhụrụ ụzọ ezoro ezo, na-enye nnọọ elu arụmọrụ, dị mfe iji, free nke nsogbu na-egosikwa onwe ya na a ọnụ ọgụgụ nke nnukwu deployments na-ahazi nnukwu mpịakọta nke okporo ụzọ. Ihe oru ngo a na-emepe emepe kemgbe 2015, enyochala ya na nkwenye nkịtị eji ụzọ ezoro ezo. abanyelarị nkwado WireGuard na NetworkManager na sistemu, yana patches kernel gụnyere na nkesa ntọala. Debian akwụghị ike, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Isiokwu и ALT.

WireGuard na-eji echiche nke ntụgharị igodo nzuzo, nke gụnyere itinye igodo nzuzo na interface netwọk ọ bụla yana iji ya kechie igodo ọha. A na-agbanwe igodo ọha iji guzobe njikọ n'otu aka ahụ na SSH. Iji kparịta igodo na jikọọ na-enweghị iji daemon dị iche na oghere onye ọrụ, usoro Noise_IK sitere na Usoro usoro mkpọtụ mkpọtụ, похожий на поддержание authorized_keys в SSH. Передача данных осуществляется через инкапсуляцию в пакеты UDP. Поддерживается смена IP-адреса VPN-сервера (роуминг) без разрыва соединения и автоматической перенастройкой клиента.

Maka izo ya ezo jiri cipher iyi ChaCha20 na nyocha algorithm (MAC) Poly1305, nke Daniel Bernstein mere (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) na Peter Schwabe. A na-edobe ChaCha20 na Poly1305 dị ka ngwa ngwa na nchekwa dị mma nke AES-256-CTR na HMAC, mmemme ngwanrọ nke na-enye ohere ịnweta oge igbu oge na-enweghị iji nkwado ngwaike pụrụ iche. Iji wepụta igodo nzuzo nkekọrịta, a na-eji usoro elliptical curve Diffie-Hellman na mmejuputa ya. Curve25519, также предложенной Дэниелом Бернштейном. Для хэширования используются алгоритм BLAKE2s (RFC7693).

na ule производительности 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 ядра возможно приведёт к ухудшению показателей.

A nabatala VPN WireGuard n'ime ngalaba net na-esote wee debe ya maka itinye ya na Linux 5.6 kernel.

isi: opennet.ru

Tinye a comment