„Wifibox 0.10“ – aplinka, skirta naudoti „Linux WiFi“ tvarkykles „FreeBSD“.

Dabar pasiekiamas „Wifibox 0.10“ projektas, skirtas „FreeBSD“ problemai išspręsti naudojant belaidžius adapterius, kuriems trūksta reikiamų tvarkyklių. Problemiškų „FreeBSD“ adapterių veikimas užtikrinamas su Linux paleidus svečių sistemą, kurioje įkeliamos vietinės Linux tvarkyklės belaidžiams įrenginiams.

Svečių sistemos diegimas su tvarkyklėmis yra automatizuotas, o visi reikalingi komponentai yra supakuoti į paruoštą „wifibox“ paketą, kuris paleidžiamas paleidus naudojant įtrauktą rc paslaugą. Įskaitant perėjimą į miego režimą tvarkomas teisingai. Aplinka gali būti naudojama bet kurioms „Linux“ palaikomoms „WiFi“ kortelėms, tačiau ji buvo išbandyta daugiausia „Intel“ lustuose. Teisingas veikimas taip pat buvo išbandytas sistemose su Qualcomm Atheros ir AMD RZ608 (MediaTek MT7921K) belaidžiais lustais.

Svečių sistema paleidžiama naudojant Bhyve hypervisor, kuris organizuoja persiuntimo prieigą prie belaidės kortelės. Reikia sistemos, palaikančios aparatinės įrangos virtualizavimą (AMD-Vi arba Intel VT-d). Svečių sistema yra pagrįsta Alpine Linux distribucija, sukurta remiantis Musl sistemos biblioteka ir BusyBox paslaugų rinkiniu. Vaizdo dydis diske užima maždaug 30 MB ir sunaudoja apie 90 MB RAM.

Norint prisijungti prie belaidžio tinklo, naudojamas paketas wpa_supplicant, kurio konfigūracijos failai sinchronizuojami su pagrindinės FreeBSD aplinkos nustatymais. Unix valdymo lizdas, sukurtas wpa_supplicant, yra persiunčiamas į pagrindinę aplinką, kuri leidžia naudoti standartines FreeBSD programas prisijungti ir dirbti su belaidžiu tinklu, įskaitant wpa_cli ir wpa_gui paslaugas (net/wpa_supplicant_gui).

Naujoje versijoje WPA persiuntimo į pagrindinę aplinką mechanizmas buvo perkurtas, todėl buvo galima dirbti tiek su wpa_supplicant, tiek su hostapd. Sumažėjo svečių sistemai reikalingos atminties kiekis. FreeBSD 13.0-RELEASE palaikymas buvo nutrauktas.

Be to, galime atkreipti dėmesį į darbą tobulinant FreeBSD siūlomas tvarkykles belaidėms kortelėms Intel ir Realtek lustuose. Padedant FreeBSD fondui, naujos iwlwifi tvarkyklės, įtrauktos į FreeBSD 13.1, kūrimas tęsiamas. Vairuotojas yra pagrįstas Linux tvarkykle ir kodu iš net80211 Linux posistemio, palaiko 802.11ac standartą ir gali būti naudojamas su naujais Intel belaidžiais lustais. Vairuotojas automatiškai atsisiunčiamas įkrovos metu, kai aptinkama reikiama belaidė kortelė. „Linux“ belaidžio tinklo komponentai įgalinami naudojant „LinuxKPI“ sluoksnį. Anksčiau iwm tvarkyklė buvo perkelta į FreeBSD panašiu būdu.

Lygiagrečiai pradėtos kurti „Realtek RTW88“ ir „RTW89“ belaidžių lustų tvarkyklės rtw88 ir rtw89, kurios taip pat kuriamos perkeliant atitinkamas tvarkykles iš „Linux“ ir dirbama naudojant „LinuxKPI“ sluoksnį. Rtw88 tvarkyklė paruošta pirminiam bandymui, o rtw89 tvarkyklė vis dar kuriama.

Be to, galima paminėti detalių paskelbimą ir paruoštą išnaudojimą, susijusį su pažeidžiamumu (CVE-2022-23088) FreeBSD bevielėje stackoje, kuri buvo pataisyta balandžio mėnesio atnaujinime. Pažeidžiamumas leidžia vykdyti kodą branduolio lygiu, siunčiant specialiai sukurtą kadrą, kai klientas veikia tinklo nuskaitymo režimu (etape prieš SSID susiejimą). Problemą sukelia funkcijos ieee80211_parse_beacon() buferio perpildymas analizuojant prieigos taško perduodamus švyturių kadrus. Perpildymas įvyko dėl to, kad nebuvo patikrinta, ar tikrasis duomenų dydis atitinka antraštės lauke nurodytą dydį. Problema iškyla FreeBSD versijose, sukurtose nuo 2009 m.

Wifibox 0.10 – aplinka, skirta naudoti Linux WiFi tvarkykles FreeBSD

Naujausi FreeBSD pakeitimai, nesusiję su belaidžiu stekeliu, apima: įkrovos laiko optimizavimą, kuris bandomojoje sistemoje buvo sumažintas nuo 10 iki 8 sekundžių; GEOM modulio pistoletas buvo įdiegtas siekiant perkelti pakeitimus, padarytus disko, pasiekiamo tik skaitymo režimu, viršuje į kitą diską; Branduolio kriptografinei API buvo paruošti VPN WireGuard tvarkyklei reikalingi kriptografiniai primityvai XChaCha20-Poly1305 AEAD ir curve25519.

Šaltinis: opennet.ru

Добавить комментарий