Wifibox 0.10 - միջավայր FreeBSD-ում Linux WiFi վարորդների օգտագործման համար

Այժմ հասանելի է Wifibox 0.10 նախագիծը, որի նպատակն է լուծել FreeBSD-ի խնդիրը՝ օգտագործելով անլար ադապտերներ, որոնց համար բացակայում են անհրաժեշտ դրայվերները: FreeBSD-ի համար խնդրահարույց ադապտերների շահագործումն ապահովվում է Linux-ով հյուրային համակարգի գործարկումով, որում բեռնված են անլար սարքերի համար նախատեսված Linux դրայվերները:

Հյուրերի համակարգի տեղադրումը վարորդներով ավտոմատացված է, և բոլոր անհրաժեշտ բաղադրիչները փաթեթավորված են պատրաստի wifibox փաթեթի տեսքով, որը գործարկվում է բեռնման պահին՝ օգտագործելով ներառված rc ծառայությունը: Քնի ռեժիմին անցումը ներառելը ճիշտ է վարվում: Շրջակա միջավայրը կարող է օգտագործվել ցանկացած WiFi քարտի համար, որն աջակցվում է Linux-ում, սակայն փորձարկվել է հիմնականում Intel չիպերի վրա: Ճիշտ աշխատանքը փորձարկվել է նաև Qualcomm Atheros և AMD RZ608 (MediaTek MT7921K) անլար չիպերով համակարգերի վրա:

Հյուրերի համակարգը գործարկվում է Bhyve հիպերվիզորի միջոցով, որը կազմակերպում է անլար քարտի վերահասցեավորումը: Պահանջում է համակարգ, որն աջակցում է ապարատային վիրտուալացմանը (AMD-Vi կամ Intel VT-d): Հյուրերի համակարգը հիմնված է Alpine Linux բաշխման վրա, որը կառուցված է Musl համակարգի գրադարանի և BusyBox կոմունալ ծառայությունների փաթեթի հիման վրա: Պատկերի չափը սկավառակի վրա զբաղեցնում է մոտավորապես 30 ՄԲ և սպառում է մոտ 90 ՄԲ RAM:

Անլար ցանցին միանալու համար օգտագործվում է wpa_supplicant փաթեթը, որի կազմաձևման ֆայլերը համաժամացվում են հիմնական FreeBSD միջավայրի կարգավորումների հետ։ Wpa_supplicant-ի կողմից ստեղծված Unix կառավարման վարդակից ուղարկվում է հյուրընկալող միջավայր, որը թույլ է տալիս օգտագործել ստանդարտ FreeBSD կոմունալ ծառայություններ անլար ցանցի հետ միանալու և աշխատելու համար, ներառյալ wpa_cli և wpa_gui կոմունալ ծառայությունները (net/wpa_supplicant_gui):

Նոր թողարկումում վերանախագծվել է WPA-ի հիմնական միջավայր փոխանցելու մեխանիզմը, ինչը հնարավորություն է տվել աշխատել ինչպես wpa_supplicant-ի, այնպես էլ hostapd-ի հետ։ Հյուրերի համակարգի համար պահանջվող հիշողության ծավալը կրճատվել է: FreeBSD 13.0-RELEASE-ի աջակցությունը դադարեցվել է:

Բացի այդ, մենք կարող ենք նշել աշխատանքը բարելավելու FreeBSD-ում առաջարկվող դրայվերները Intel և Realtek չիպերի վրա անլար քարտերի համար: FreeBSD հիմնադրամի աջակցությամբ շարունակվում է FreeBSD 13.1-ում ներառված նոր iwlwifi վարորդի մշակումը: Վարորդը հիմնված է Linux դրայվերի և net80211 Linux ենթահամակարգի կոդի վրա, աջակցում է 802.11ac ստանդարտին և կարող է օգտագործվել նոր Intel անլար չիպերի հետ: Վարորդը ավտոմատ կերպով ներբեռնվում է բեռնման ժամանակ, երբ հայտնաբերվում է պահանջվող անլար քարտը: Linux-ի անլար փաթեթի բաղադրիչները միացված են LinuxKPI շերտի միջոցով: Նախկինում iwm-ի դրայվերը նույն կերպ տեղափոխվում էր FreeBSD-ի համար:

Զուգահեռաբար սկսվեց rtw88 և rtw89 դրայվերների մշակումը Realtek RTW88 և RTW89 անլար չիպերի համար, որոնք նույնպես մշակվում են Linux-ից համապատասխան դրայվերները փոխանցելու և LinuxKPI շերտի միջոցով: rtw88 դրայվերը պատրաստ է նախնական փորձարկման, մինչդեռ rtw89 դրայվերը դեռ մշակման փուլում է:

Բացի այդ, կարելի է նշել մանրամասների հրապարակումը և պատրաստի շահագործումը, որը կապված է FreeBSD անլար փաթեթի խոցելիության հետ (CVE-2022-23088), որը ամրագրվել է ապրիլյան թարմացումով։ Խոցելիությունը թույլ է տալիս կատարել ձեր կոդը միջուկի մակարդակում՝ ուղարկելով հատուկ նախագծված շրջանակ, երբ հաճախորդը գտնվում է ցանցի սկանավորման ռեժիմում (SSID-ի կապակցումից առաջ փուլում): Խնդիրն առաջանում է ieee80211_parse_beacon() ֆունկցիայի բուֆերային արտահոսքի պատճառով, երբ վերլուծում է մուտքի կետի կողմից փոխանցված փարոսային շրջանակները: Արտահոսքը առաջացել է չստուգելու պատճառով, որ իրական տվյալների չափը համապատասխանում է վերնագրի դաշտում նշված չափին: Խնդիրն ի հայտ է գալիս 2009 թվականից ստեղծված FreeBSD-ի տարբերակներում։

Wifibox 0.10 - միջավայր FreeBSD-ում Linux WiFi վարորդների օգտագործման համար

FreeBSD-ի վերջին փոփոխությունները, որոնք կապված չեն անլար փաթեթի հետ, ներառում են. GEOM մոդուլի gunion-ը ներդրվել է միայն կարդալու ռեժիմով հասանելի սկավառակի վերևում կատարված փոփոխությունները մեկ այլ սկավառակ տեղափոխելու համար. Միջուկի կրիպտո API-ի համար պատրաստվել են VPN WireGuard դրայվերի համար անհրաժեշտ XChaCha10-Poly8 AEAD և curve20 ծածկագրային պարզունակները։

Source: opennet.ru

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