Wifibox 0.10 — vide Linux WiFi draiveru lietošanai uz FreeBSD

Ir pieejams Wifibox 0.10 projekta izlaidums, lai risinātu problēmu, kas saistīta ar FreeBSD bezvadu adapteru izmantošanu, kuriem trūkst nepieciešamo draiveru. Adapteri, kas ir problemātiski FreeBSD, tiek nodrošināti, palaižot Linux viesis, kas ielādē vietējos Linux bezvadu ierīču draiverus.

Viesu sistēmas instalēšana ar draiveriem ir automatizēta, un visi nepieciešamie komponenti tiek iepakoti kā gatava wifibox pakotne, kas tiek palaists sāknēšanas laikā, izmantojot piegādāto rc pakalpojumu. Tostarp pāreja uz miega režīmu tiek pareizi apstrādāta. Vidi potenciāli var izmantot jebkurām WiFi kartēm, kas tiek atbalstītas operētājsistēmā Linux, taču tā ir pārbaudīta galvenokārt Intel mikroshēmās. Mēs arī pārbaudījām pareizu darbību sistēmās ar Qualcomm Atheros un AMD RZ608 (MediaTek MT7921K) bezvadu mikroshēmām.

Viesu sistēma tiek palaista, izmantojot Bhyve hypervisor, kas organizē piekļuves pārsūtīšanu uz bezvadu karti. Nepieciešama sistēma, kas atbalsta aparatūras virtualizāciju (AMD-Vi vai Intel VT-d). Viesu sistēma ir balstīta uz Alpine Linux izplatīšanu, kas veidota uz Musl sistēmas bibliotēkas un BusyBox utilītu komplekta. Attēla lielums diskā ir aptuveni 30 MB, un tas patērē apmēram 90 MB RAM.

Lai izveidotu savienojumu ar bezvadu tīklu, tiek izmantota wpa_supplicant pakotne, kuras konfigurācijas faili tiek sinhronizēti ar iestatījumiem no galvenās FreeBSD vides. Wpa_supplicant izveidotā Unix vadības ligzda tiek pārsūtīta uz resursdatora vidi, kas ļauj izmantot standarta FreeBSD utilītas savienojuma izveidei un darbam ar bezvadu tīklu, tostarp wpa_cli un wpa_gui (net/wpa_supplicant_gui).

Jaunajā laidienā ir pārveidots mehānisms WPA pārsūtīšanai uz galveno vidi, kas ļāva strādāt gan ar wpa_supplicant, gan ar hostapd. Viesu sistēmai nepieciešamās atmiņas apjoms ir samazināts. FreeBSD 13.0-RELEASE atbalsts ir pārtraukts.

Turklāt var atzīmēt darbu pie FreeBSD piedāvāto bezvadu karšu draiveru uzlabošanas, kuru pamatā ir Intel un Realtek mikroshēmas. Ar FreeBSD fonda atbalstu turpinās jaunā iwlwifi draivera izstrāde, kas iekļauta FreeBSD 13.1. Draiveris ir balstīts uz Linux draiveri un kodu no net80211 Linux apakšsistēmas, atbalsta 802.11ac un to var izmantot ar jaunām Intel bezvadu mikroshēmām. Kad tiek atrasta pareizā bezvadu karte, sāknēšanas laikā draiveris tiek ielādēts automātiski. Linux bezvadu steka komponentus darbina LinuxKPI slānis. Iepriekš iwm draiveris tika pārnests uz FreeBSD līdzīgā veidā.

Paralēli tika uzsākta Realtek RTW88 un RTW89 bezvadu mikroshēmu rtw88 un rtw89 draiveru izstrāde, kas arī tiek izstrādāti, pārnēsājot atbilstošos draiverus no Linux un strādā, izmantojot LinuxKPI slāni. Rtw88 draiveris ir gatavs sākotnējai pārbaudei, savukārt rtw89 draiveris joprojām ir izstrādes stadijā.

Turklāt mēs varam minēt detalizētas informācijas publicēšanu un pabeigtu ekspluatāciju saistībā ar ievainojamību (CVE-2022-23088) FreeBSD bezvadu stekā, kas tika labota aprīļa atjauninājumā. Ievainojamība ļauj izpildīt kodu kodola līmenī, nosūtot īpaši izstrādātu rāmi, kad klients ir tīkla skenēšanas režīmā (stadijā pirms SSID saistīšanas). Problēmu izraisa bufera pārpilde funkcijā ieee80211_parse_beacon(), parsējot piekļuves punkta pārsūtītos bāksignālu kadrus. Pārpilde bija iespējama, jo netika pārbaudīts, vai datu faktiskais lielums atbilst galvenes laukā norādītajam izmēram. Problēma izpaužas FreeBSD versijās, kas izveidotas kopš 2009. gada.

Wifibox 0.10 - vide Linux WiFi draiveru izmantošanai FreeBSD

Starp nesenajām bezvadu steka izmaiņām FreeBSD: sāknēšanas laika optimizācija, kas testa sistēmā tika samazināta no 10 sekundēm līdz 8 sekundēm; ieviesta GEOM moduļa pistole, lai pārsūtītu uz citu disku izmaiņas, kas veiktas diskā, kas pieejams tikai lasīšanas režīmā; kodola kriptogrāfijas API ir sagatavoti XChaCha20-Poly1305 AEAD un curve25519 kriptogrāfijas primitīvi, kas nepieciešami VPN WireGuard draiverim.

Avots: opennet.ru

Pievieno komentāru