Джейсон Доненфилд (Jason A. Donenfeld), автор на VPN WireGuard, о в основния състав на OpenBSD ядрото на драйвера «wg» за протокола WireGuard, специфичен мрежов интерфейс и инструментариум, работещ в пространството на потребителя. OpenBSD стана втората ОС след с пълна и интегрирана поддръжка на WireGuard. Очаква се WireGuard да бъде включен в версия OpenBSD 6.8.
Патчовете включват драйвер за ядрото на OpenBSD, изменения за утилитите ifconfig и tcpdump с поддръжка на функционалността на WireGuard, документация и малки промени за интеграция на WireGuard с останалата система. В драйвера се използва собствена реализация на алгоритмите , и , а също така вече наличната в ядрото на OpenBSD реализация на SipHash.
Реализацията е съвместима с всички официални клиенти на WireGuard за Linux, Windows, macOS, *BSD, iOS и Android. Тестовете за производителност на лаптопа на разработчика (Lenovo x230) показаха скорост на предаване от 750mbit/s. За сравнение, isakmpd с основни настройки ike psk осигурява скорост на предаване от 380mbit/s.
При разработването на драйвера за ядрото на OpenBSD бяха избрани някои архитектурни решения, сходни с тези на драйвера за Linux, но драйвера е първоначално проектиран за OpenBSD, като се вземат предвид спецификите на системата и опита, придобит при създаването на драйвера за Linux. Съгласно разрешението на оригиналния автор на WireGuard, кодът на новия драйвер се разпространява изцяло под свободна лицензия ISC.
Драйверът е тясно интегриран със мрежовия стек на OpenBSD и използва съществуващите подсистеми, което позволява кодът да бъде много компактен (около 3000 реда код). От различията се отбелязва и различното, в сравнение с Linux, разделяне на компонентите на драйвера: специфичните за OpenBSD интерфейси са изнесени в файлове «if_wg.*», кодът за защита от DoS е в «wg_cookie.*», а логиката за съгласуване на връзките и криптиране в «wg_noise.*».
Източник: opennet.ru
