VPN WireGuard przyjęty przez OpenBSD

Jason A. Donenfeld, autor VPN WireGuard, ogłosił о przyjęcie zawarty w głównym sterowniku jądra OpenBSD „wg” dla protokołu WireGuard, realizacja określony interfejs sieciowy i zmiany zestaw narzędzi pracujący w przestrzeni użytkownika. OpenBSD stał się drugim systemem operacyjnym po Linux z pełną i zintegrowaną obsługą WireGuard. Oczekuje się, że WireGuard zostanie dołączony do wydania OpenBSD 6.8.

Poprawki obejmują sterownik jądra OpenBSD, zmiany w narzędziach ifconfig i tcpdump w celu obsługi funkcjonalności WireGuard, dokumentację i drobne zmiany mające na celu integrację WireGuard z resztą systemu. Sterownik wykorzystuje własną implementację algorytmów Blake2, hchacha20 и krzywa25519, a także implementację SipHash już obecną w jądrze OpenBSD.

Implementacja jest kompatybilna ze wszystkimi oficjalnymi klientami WireGuard dla systemów Linux, Windows, macOS, *BSD, iOS i Android. Testy wydajności na laptopie programisty (Lenovo x230) wykazały przepustowość 750 Mbit/s. Dla porównania isakmpd z podstawowymi ustawieniami ike psk zapewnia przepustowość 380mbit/s.

Przy opracowywaniu sterownika dla jądra OpenBSD wybrano rozwiązania architektoniczne podobne do sterownika dla Linuksa, jednak sterownik został opracowany przede wszystkim dla OpenBSD, mając na uwadze specyfikę tego systemu i biorąc pod uwagę doświadczenia zdobyte przy tworzeniu sterownik dla Linuksa. Za zgodą pierwotnego autora WireGuarda, cały kod nowego sterownika jest rozpowszechniany w ramach bezpłatnej licencji ISC.

Sterownik ściśle integruje się ze stosem sieciowym OpenBSD i wykorzystuje istniejące podsystemy, co sprawia, że ​​kod jest bardzo kompaktowy (około 3000 linii kodu). Różnice obejmują także oddzielenie komponentów sterownika od tego dla Linuksa: interfejsy specyficzne dla OpenBSD są umieszczone w plikach „if_wg.*”, kod ochrony DoS znajduje się w „wg_cookie.*”, a negocjacja połączenia i szyfrowanie logika jest w „wg_noise.*” "

Źródło: opennet.ru

Dodaj komentarz