FreeBSD 13.2-ի թողարկումը Netlink-ի և WireGuard-ի աջակցությամբ

11 ամիս մշակումից հետո թողարկվել է FreeBSD 13.2-ը: Տեղադրման պատկերները ստեղծվում են amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 և riscv64 ճարտարապետությունների համար: Բացի այդ, պատրաստվել են կառուցվածքներ վիրտուալացման համակարգերի համար (QCOW2, VHD, VMDK, հում) և Amazon EC2, Google Compute Engine և Vagrant ամպային միջավայրերի համար:

Հիմնական փոփոխությունները.

  • Իրականացրել է UFS և FFS ֆայլային համակարգերի պատկերներ ստեղծելու հնարավորությունը՝ միացված գրանցամատյանով (փափուկ թարմացումներ): Ավելացվեց նաև ֆոնային աղբավայրերը պահելու աջակցություն («-L» դրոշակով հոսող աղբավայր)՝ մոնտաժված UFS ֆայլային համակարգերի բովանդակությամբ, որոնց գրանցումը միացված է: Հատկություններից, որոնք հասանելի չեն journaling-ն օգտագործելիս, կա ֆոնային ամբողջականության ստուգում՝ օգտագործելով fsck կոմունալը:
  • Որպես հիմնական մաս ընդունվել է միջուկի մակարդակում աշխատող wg դրայվերը՝ VPN WireGuard-ի համար ցանցային ինտերֆեյսի ներդրմամբ: Վարորդի կողմից պահանջվող ծածկագրային ալգորիթմներն օգտագործելու համար ընդլայնվել է FreeBSD միջուկի կրիպտո ենթահամակարգի API-ն, որին ավելացվել է կապ, որը թույլ է տալիս օգտագործել ալգորիթմներ libsodium գրադարանից, որոնք չեն աջակցվում FreeBSD-ում ստանդարտ կրիպտո API-ի միջոցով: Մշակման գործընթացում իրականացվել են նաև օպտիմիզացումներ՝ հավասարաչափ հավասարակշռելու համար CPU միջուկներին գաղտնագրման և վերծանման առաջադրանքները, ինչը նվազեցրել է WireGuard փաթեթների վերամշակման ծախսերը:

    WireGuard-ը FreeBSD-ում ներառելու վերջին փորձն արվել է 2020 թվականին, սակայն ավարտվել է սկանդալով, ինչի արդյունքում արդեն ավելացված ծածկագիրը հանվել է ցածր որակի, բուֆերի անզգույշ վարման, չեկերի փոխարեն կոճղերի օգտագործման, արձանագրության թերի իրականացման պատճառով։ և GPL լիցենզիայի խախտում: Նոր ներդրում, որը համատեղ պատրաստվել է FreeBSD-ի և WireGuard-ի մշակման հիմնական թիմերի կողմից՝ Ջեյսոն Ա. Դոնենֆելդի՝ VPN WireGuard-ի հեղինակի և Ջոն Հ. Բալդուինի՝ հայտնի FreeBSD ծրագրավորողի ներդրմամբ: Փոփոխությունների ամբողջական վերանայումն իրականացվել է FreeBSD հիմնադրամի աջակցությամբ՝ նախքան նոր օրենսգրքի ընդունումը:

  • Իրականացված աջակցություն Netlink կապի արձանագրությանը (RFC 3549), որն օգտագործվում է Linux-ում՝ միջուկի և օգտագործողի տարածքում պրոցեսների միջև փոխգործակցությունը կազմակերպելու համար: Նախագիծը սահմանափակվում է միջուկում ցանցի ենթահամակարգի վիճակը կառավարելու համար NETLINK_ROUTE օպերացիաների ընտանիքին աջակցելով, ինչը թույլ է տալիս FreeBSD-ին օգտագործել ip Linux կոմունալ ծրագիրը iproute2 փաթեթից՝ ցանցային ինտերֆեյսները կառավարելու, IP հասցեներ սահմանելու, երթուղավորումը կարգավորելու և մանիպուլյացիայի համար: nexthop օբյեկտներ, որոնք պահում են վիճակի տվյալները, որոնք օգտագործվում են փաթեթը ցանկալի նպատակակետ ուղարկելու համար:
  • 64-բիթանոց հարթակների վրա բազային համակարգի բոլոր գործարկվող սարքերը լռելյայն միացված են Հասցեների տարածության դասավորության պատահականությունը (ASLR): ASLR-ն ընտրողաբար անջատելու համար կարող եք օգտագործել «proccontrol -ma aslr -s disable» կամ «elfctl -e +noaslr» հրամանները։
  • ipfw-ն օգտագործում է Radix աղյուսակները MAC հասցեները փնտրելու համար, ինչը թույլ է տալիս ստեղծել աղյուսակներ MAC հասցեներով և օգտագործել դրանք՝ թրաֆիկը զտելու համար: Օրինակ՝ ipfw աղյուսակ 1 ստեղծել տիպ mac ipfw աղյուսակ 1 ավելացնել 11:22:33:44:55:66/48 ipfw ավելացնել skipto tablearg src-mac «աղյուսակ(1)» ipfw ավելացնել մերժել src-mac «աղյուսակը(1, 100 )' ipfw ավելացնել մերժել որոնումը dst-mac 1
  • Ավելացված և հասանելի են loader.conf-ի միջոցով բեռնելու համար dpdk_lpm4 և dpdk_lpm6 միջուկային մոդուլները՝ IPv24/IPv8-ի համար DIR-4-6 երթուղու որոնման ալգորիթմի ներդրմամբ, որը թույլ է տալիս օպտիմիզացնել երթուղային գործառույթները շատ մեծ երթուղային աղյուսակներով հոսթների համար (թեստեր): ցույց են տալիս արագության աճ 25%-ով։ Ստանդարտ երթուղու կոմունալ ծրագիրը կարող է օգտագործվել մոդուլները կարգավորելու համար (FIB_ALGO տարբերակը ավելացվել է):
  • ZFS ֆայլային համակարգի ներդրումը թարմացվել է OpenZFS 2.1.9-ի թողարկմանը: Zfskeys գործարկման սցենարը ապահովում է ZFS ֆայլային համակարգում պահվող բանալիների ավտոմատ բեռնում: Ավելացրել է նոր RC script zpoolreguid՝ մեկ կամ մի քանի zpool-ներին GUID նշանակելու համար (օգտակար, օրինակ, ընդհանուր տվյալների վիրտուալացման միջավայրերի համար):
  • Bhyve հիպերվիզորը և vmm մոդուլն աջակցում են հյուրի համակարգին ավելի քան 15 վիրտուալ պրոցեսորների միացմանը (կարգավորելի sysctl hw.vmm.maxcpu-ի միջոցով): Bhyve կոմունալն իրականացնում է virtio-input սարքի էմուլյացիա, որով դուք կարող եք փոխարինել ստեղնաշարի և մկնիկի մուտքագրման իրադարձությունները հյուրի համակարգում:
  • KTLS-ը՝ FreeBSD միջուկի մակարդակով աշխատող TLS արձանագրության իրականացումը, ավելացնում է աջակցություն TLS 1.3 ապարատային արագացմանը՝ ցանցային քարտի ուսերին ներբեռնելով գաղտնագրված մուտքային փաթեթների մշակման հետ կապված որոշ գործողություններ: Նախկինում այս գործառույթը հասանելի էր TLS 1.1 և TLS 1.2 համար:
  • Growfs-ի մեկնարկային սկրիպտում, արմատային FS-ն ընդլայնելիս, ապահովվում է, որ swap միջնորմ է ավելացվել, եթե այդպիսի բաժանումն ի սկզբանե չի եղել (օրինակ, այն օգտակար է SD քարտի վրա պատրաստի համակարգի պատկեր տեղադրելիս): Նոր տարբերակ՝ growfs_swap_size, ավելացվել է rc.conf-ում՝ փոխանակման չափը վերահսկելու համար:
  • Հոսթիդի գործարկման սկրիպտը ապահովում է, որ պատահական UUID ստեղծվի, եթե /etc/hostid ֆայլը բացակայում է, և UUID-ն հնարավոր չէ ստանալ սարքաշարից: Նաև ավելացված է /etc/machine-id ֆայլը՝ հյուրընկալողի id-ի կոմպակտ ներկայացմամբ (առանց գծիկների):
  • rc.conf-ում ավելացվել են defaultrouter_fibN և ipv6_defaultrouter_fibN փոփոխականները, որոնց միջոցով դուք կարող եք ավելացնել կանխադրված երթուղիներ FIB աղյուսակներին, բացի հիմնականից:
  • SHA-512/224 հեշերի աջակցությունն ավելացվել է libmd գրադարանին:
  • Pthread գրադարանը ապահովում է Linux-ում օգտագործվող ֆունկցիաների իմաստաբանության աջակցությունը:
  • Linux համակարգային զանգերի վերծանման աջակցությունն ավելացվել է kdump-ին: Linux-ի ոճով syscall հետագծման աջակցությունն ավելացվել է kdump-ին և sysdecode-ին:
  • Killall կոմունալն այժմ հնարավորություն ունի ազդանշան ուղարկել գործընթացներին, որոնք կապված են կոնկրետ տերմինալին (օրինակ՝ «killall -t pts/1»):
  • Ավելացվեց nproc ծրագիրը՝ ընթացիկ գործընթացին հասանելի հաշվողական միավորների քանակը ցուցադրելու համար:
  • ACS (Access Control Services) պարամետրերի վերծանման աջակցությունը ավելացվել է pciconf կոմունալ ծրագրին:
  • SPLIT_KERNEL_DEBUG կարգավորումն ավելացվել է միջուկին, որը թույլ է տալիս պահպանել միջուկի և միջուկի մոդուլների վրիպազերծման տեղեկատվությունը առանձին ֆայլերի մեջ:
  • Linux ABI-ն գրեթե ամբողջական է vDSO (վիրտուալ դինամիկ համօգտագործվող օբյեկտներ) մեխանիզմի աջակցությամբ, որն ապահովում է սահմանափակ թվով համակարգային զանգեր, որոնք հասանելի են օգտատերերի տարածքում՝ առանց համատեքստի փոխարկման: ARM64 համակարգերի Linux ABI-ը հավասարեցվել է AMD64 ճարտարապետության ներդրմանը:
  • Բարելավված ապարատային աջակցություն: Ավելացվել է կատարողականի մոնիտորինգի (hwpmc) աջակցություն Intel Alder Lake պրոցեսորների համար: Թարմացված iwlwifi դրայվեր Intel անլար քարտերի համար՝ նոր չիպերի և 802.11ac ստանդարտի աջակցությամբ: Ավելացվեց rtw88 վարորդ Realtek PCI անլար քարտերի համար: Ընդլայնվել է linuxkpi շերտը՝ FreeBSD Linux վարորդների հետ օգտագործելու համար:
  • OpenSSL գրադարանը թարմացվել է 1.1.1t տարբերակով, LLVM/Сlang-ը՝ 14.0.5 տարբերակով, իսկ SSH սերվերը և հաճախորդը թարմացվել են OpenSSH 9.2p1-ի (նախորդ տարբերակում օգտագործվել է OpenSSH 8.8p1): Թարմացվել են նաև bc 6.2.4, expat 2.5.0, file 5.43, less 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13:

Բացի այդ, այն հնացել և հեռացվել է FreeBSD 14.0 մասնաճյուղից ի վեր OPIE միանգամյա գաղտնաբառերի, ce և cp դրայվերների, ISA քարտերի դրայվերների, mergemaster և minigzip կոմունալ ծրագրերի, բանկոմատների բաղադրիչների netgraph-ում (NgATM), telnetd ֆոնային գործընթացի և VINUM-ի համար: դաս երկրաբանության.

Source: opennet.ru

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