Wifibox 0.10 - FreeBSD-da Linux WiFi drayverlarini ishlatish uchun muhit

Wifibox 0.10 loyihasi hozirda mavjud bo'lib, u zarur drayverlar etishmayotgan simsiz adapterlar yordamida FreeBSD muammosini hal qilishga qaratilgan. FreeBSD uchun muammoli adapterlarning ishlashi Linux bilan mehmon tizimini ishga tushirish orqali ta'minlanadi, unda simsiz qurilmalar uchun mahalliy Linux drayverlari yuklanadi.

Mehmon tizimini drayverlar bilan o'rnatish avtomatlashtirilgan va barcha kerakli komponentlar tayyor wifibox to'plami shaklida qadoqlangan bo'lib, u kiritilgan rc xizmatidan foydalangan holda ishga tushiriladi. Shu jumladan uyqu rejimiga o'tish to'g'ri ishlanadi. Atrof-muhit potentsial ravishda Linuxda qo'llab-quvvatlanadigan har qanday WiFi kartalari uchun ishlatilishi mumkin, lekin asosan Intel chiplarida sinovdan o'tgan. To'g'ri ishlash Qualcomm Atheros va AMD RZ608 (MediaTek MT7921K) simsiz chiplari bo'lgan tizimlarda ham sinovdan o'tkazildi.

Mehmon tizimi Bhyve gipervisor yordamida ishga tushiriladi, u simsiz kartaga yo'naltiruvchi kirishni tashkil qiladi. Uskuna virtualizatsiyasini qo'llab-quvvatlaydigan tizimni talab qiladi (AMD-Vi yoki Intel VT-d). Mehmon tizimi Musl tizim kutubxonasi va BusyBox yordam dasturlari to'plami asosida qurilgan Alpine Linux distributiviga asoslangan. Tasvir hajmi diskda taxminan 30 MB ni egallaydi va taxminan 90 MB operativ xotirani iste'mol qiladi.

Simsiz tarmoqqa ulanish uchun konfiguratsiya fayllari asosiy FreeBSD muhitidagi sozlamalar bilan sinxronlashtirilgan wpa_supplicant paketidan foydalaniladi. Wpa_supplicant tomonidan yaratilgan Unix boshqaruv rozetkasi xost muhitiga uzatiladi, bu sizga simsiz tarmoqqa ulanish va u bilan ishlash uchun standart FreeBSD utilitalaridan, jumladan wpa_cli va wpa_gui utilitalaridan (net/wpa_supplicant_gui) foydalanish imkonini beradi.

Yangi versiyada WPA-ni asosiy muhitga yo'naltirish mexanizmi qayta ishlab chiqilgan bo'lib, bu wpa_supplicant va hostapd bilan ishlash imkonini berdi. Mehmon tizimi uchun zarur bo'lgan xotira hajmi qisqartirildi. FreeBSD 13.0-RELEASE-ni qo'llab-quvvatlash to'xtatildi.

Bundan tashqari, Intel va Realtek chiplarida simsiz kartalar uchun FreeBSD-da taqdim etilgan drayverlarni yaxshilash bo'yicha ishlarni qayd etishimiz mumkin. FreeBSD Foundation koʻmagida FreeBSD 13.1 ga kiritilgan yangi iwlwifi drayverini ishlab chiqish davom etmoqda. Drayv Linux drayveriga va net80211 Linux quyi tizimidagi kodga asoslangan, 802.11ac standartini qo'llab-quvvatlaydi va yangi Intel simsiz chiplari bilan ishlatilishi mumkin. Kerakli simsiz karta aniqlanganda, drayver yuklash paytida avtomatik ravishda yuklab olinadi. Linux simsiz stekining komponentlari LinuxKPI qatlami yordamida yoqilgan. Ilgari iwm drayveri xuddi shunday tarzda FreeBSD uchun ko'chirilgan edi.

Bunga parallel ravishda, Realtek RTW88 va RTW89 simsiz chiplari uchun rtw88 va rtw89 drayverlarini ishlab chiqish boshlandi, ular ham tegishli drayverlarni Linuxdan o'tkazish va LinuxKPI qatlamidan foydalanish orqali ishlab chiqilmoqda. Rtw88 drayveri dastlabki sinovga tayyor, rtw89 drayveri esa hali ishlab chiqilmoqda.

Bundan tashqari, aprel oyidagi yangilanishda tuzatilgan FreeBSD simsiz stekidagi zaiflik (CVE-2022-23088) bilan bog'liq tafsilotlar va tayyor ekspluatatsiyani ham aytib o'tishimiz mumkin. Zaiflik mijoz tarmoqni skanerlash rejimida (SSID ulanishidan oldingi bosqichda) maxsus ishlab chiqilgan ramkani yuborish orqali kodingizni yadro darajasida bajarishga imkon beradi. Muammo kirish nuqtasi tomonidan uzatiladigan mayoq ramkalarini tahlil qilishda ieee80211_parse_beacon() funktsiyasida buferning to'lib ketishidan kelib chiqadi. Haqiqiy ma'lumotlar hajmi sarlavha maydonida ko'rsatilgan hajmga mos kelishi tekshirilmaganligi sababli to'lib toshgan. Muammo 2009 yildan beri ishlab chiqarilgan FreeBSD versiyalarida paydo bo'ladi.

Wifibox 0.10 - FreeBSD-da Linux WiFi drayverlarini ishlatish uchun muhit

FreeBSD-ga simsiz stek bilan bog'liq bo'lmagan so'nggi o'zgarishlar quyidagilarni o'z ichiga oladi: test tizimida 10 dan 8 soniyagacha qisqartirilgan yuklash vaqtini optimallashtirish; faqat o'qish rejimida foydalanish mumkin bo'lgan diskning tepasida qilingan o'zgarishlarni boshqa diskka o'tkazish uchun GEOM moduli quroli amalga oshirildi; Yadroning kripto API uchun VPN WireGuard drayveri uchun zarur bo'lgan XChaCha20-Poly1305 AEAD va curve25519 kriptografik primitivlar tayyorlangan.

Manba: opennet.ru

a Izoh qo'shish