VPN WireGuard прыняты ў асноўны склад OpenBSD

Джэйсан Даненфілд (Jason A. Donenfeld), аўтар VPN WireGuard, абвясціў о прыняцці у асноўны склад OpenBSD драйвера ядра "wg" для пратаколу WireGuard, рэалізацыі спецыфічнага сеткавага інтэрфейсу і змен інструментара, які працуе ў прасторы карыстальніка. OpenBSD стала другой АС пасля Linux з поўнай і інтэграванай падтрымкай WireGuard. Уключэнне WireGuard чакаецца ў выпуску OpenBSD 6.8.

Патчы ўключаюць драйвер для ядра OpenBSD, змены для ўтыліт ifconfig і tcpdump з падтрымкай функцыянальнасці WireGuard, дакументацыю і дробныя змены для інтэграцыі WireGuard з астатняй сістэмай. У драйверы выкарыстоўваецца ўласная рэалізацыя алгарытмаў blake2s, hchacha20 и curve25519, а таксама ўжо прысутныя ў ядры 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

Дадаць каментар