د نوي VPN تطبیق، WireGuard، په FreeBSD کوډبیس کې اضافه شوی.

В дерево исходных текстов FreeBSD приняты изменения с новой реализацией VPN WireGuard, основанной на коде модуля ядра, совместно подготовленного основными командами разработчиков FreeBSD и WireGuard при участии Джейсона Доненфилда (Jason A. Donenfeld), автора VPN WireGuard, и Джона Болдуина (John H. Baldwin), известного разработчика GDB и FreeBSD, в начале 2000-х годов реализовавшего поддержку SMP и NUMA в ядре FreeBSD. После принятия драйвера в состав FreeBSD (sys/dev/wg), его разработка и сопровождение отныне будет вестись в репозитории FreeBSD.

Перед принятием кода при поддержке организации FreeBSD Foundation было проведено полное рецензирование изменений, в ходе которого также было проанализировано взаимодействие драйвера с остальными подсистемами ядра и оценена возможность задействования предоставляемых ядром криптографических примитивов.

Для использования необходимых драйверу криптографических алгоритмов было произведено расширение API криптоподсистемы ядра FreeBSD, в который была добавлена обвязка, позволяющая использовать через стандартный крипто-API не поддерживаемые во FreeBSD алгоритмы, используя реализацию необходимых алгоритмов из библиотеки libsodium. Из алгоритмов, встроенных в драйвер оставлен лишь код для вычисления хэшей Blake2, так как предоставляемая во FreeBSD реализация данного алгоритма завязана на фиксированный размер хэша.

Кроме того, в процессе рецензирования была проведена оптимизация кода, позволившая поднять эффективность распределения нагрузки на многоядерных CPU (обеспечена равномерная балансировка привязки задач шифрования и расшифровки пакета к ядрам CPU). В итоге накладные расходы при обработке пакетов были приближены к реализации драйвера для Linux. В коде также обеспечена возможность использования драйвера ossl для ускорения операций шифрования.

В отличие от прошлой попытки интеграции WireGuard во FreeBSD в новой реализации задействована штатная утилита wg, а не модифицированная версия ifconfig, что позволило унифицировать настройку в Linux и FreeBSD. Утилита wg как и драйвер включена в состав исходных текстов FreeBSD, что стало возможным благодаря изменению лицензии на код wg (код теперь доступен под лицензиями MIT и GPL). Прошлая попытка включения WireGuard в состав FreeBSD была предпринята в 2020 году, но завершилась скандалом, в результате которого уже добавленный код был удалён из-за низкого качества, безалаберной работы с буферами, использования заглушек вместо проверок, неполной реализации протокола и нарушения лицензии GPL.

راځئ چې تاسو ته یادونه وکړو چې د VPN WireGuard د عصري کوډ کولو میتودونو پراساس پلي کیږي ، خورا لوړ فعالیت چمتو کوي ، کارول یې اسانه دي ، له پیچلتیاو څخه پاک دي او ځان یې په یو شمیر لوی ګمارلو کې ثابت کړی چې د ترافیک لوی مقدار پروسس کوي. پروژه د 2015 راهیسې وده کوي، او د کارول شوي کوډ کولو میتودونو پلټنه او رسمي تایید شوی دی. WireGuard د کوډ کولو کیلي روټینګ مفهوم کاروي ، کوم چې د هرې شبکې انٹرفیس ته د شخصي کیلي ضمیمه کول او د عامه کیلي تړلو لپاره کارول شامل دي.

عامه کیلي تبادله کیږي ترڅو د SSH سره ورته ډول اړیکه رامینځته کړي. د کیلي خبرو اترو لپاره او د کارونکي ځای کې د جلا ډیمون چلولو پرته وصل کیدو لپاره ، د شور پروتوکول چوکاټ Noise_IK میکانیزم کارول کیږي ، په SSH کې د مجاز_کیز ساتلو په څیر. د معلوماتو لیږد د UDP پیکټو کې د encapsulation له لارې ترسره کیږي. دا د VPN سرور (رومینګ) IP پتې بدلولو ملاتړ کوي پرته لدې چې د اتوماتیک پیرودونکي بیا تنظیم کولو سره پیوستون قطع کړي.

کوډ کول د ChaCha20 stream cipher او Poly1305 پیغام تصدیق کولو الګوریتم (MAC) کاروي، چې د ډینیل جې برنسټین، تنجا لینګ او پیټر شواب لخوا رامینځته شوی. ChaCha20 او Poly1305 د AES-256-CTR او HMAC ګړندي او خوندي انلاګونو په توګه موقعیت لري ، د سافټویر پلي کول چې د ځانګړي هارډویر ملاتړ کارولو پرته د ټاکل شوي اجرا کولو وخت ترلاسه کولو ته اجازه ورکوي. د ګډ پټ کیلي رامینځته کولو لپاره ، د ایلیپټیک وکر Diffie-Hellman پروتوکول د Curve25519 پلي کولو کې کارول کیږي ، د ډینیل برنسټین لخوا وړاندیز شوی هم. د BLAKE2s الګوریتم (RFC7693) د هش کولو لپاره کارول کیږي.

سرچینه: opennet.ru

Add a comment