Toleo la FreeBSD 13.2 kwa usaidizi wa Netlink na WireGuard

Baada ya miezi 11 ya maendeleo, FreeBSD 13.2 imetolewa. Picha za usakinishaji huundwa kwa ajili ya usanifu wa amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 na riscv64. Zaidi ya hayo, miundo imetayarishwa kwa mifumo ya uboreshaji (QCOW2, VHD, VMDK, mbichi) na Amazon EC2, Injini ya Kompyuta ya Google na mazingira ya wingu ya Vagrant.

Mabadiliko muhimu:

  • Imetekeleza uwezo wa kuunda vijipicha vya mifumo ya faili ya UFS na FFS na ukataji miti umewezeshwa (sasisho laini). Pia imeongeza usaidizi wa kuhifadhi utupaji taka chinichini (kukimbia taka kwa kutumia bendera ya "-L") na maudhui ya mifumo ya faili ya UFS iliyowekwa na uandishi kuwezeshwa. Kati ya vipengele ambavyo havipatikani unapotumia uandishi wa habari, kuna ukaguzi wa uadilifu wa usuli kwa kutumia matumizi ya fsck.
  • Kiendeshaji cha wg kinachofanya kazi katika kiwango cha kernel na utekelezaji wa kiolesura cha mtandao cha VPN WireGuard kimepitishwa kama sehemu kuu. Ili kutumia algoriti za kriptografia zinazohitajika na dereva, API ya mfumo mdogo wa kernel crypto ya FreeBSD ilipanuliwa, ambapo ufungaji uliongezwa ambao unaruhusu kutumia algoriti kutoka kwa maktaba ya libsodium ambayo haitumiki katika FreeBSD kupitia API ya kawaida ya crypto. Wakati wa mchakato wa ukuzaji, uboreshaji pia ulifanywa ili kusawazisha ugawaji wa kazi za usimbaji fiche na usimbuaji kwa cores za CPU, ambayo ilipunguza uchakataji wa pakiti za WireGuard.

    Jaribio la mwisho la kujumuisha WireGuard katika FreeBSD lilifanywa mnamo 2020, lakini lilimalizika kwa kashfa, kwa sababu ambayo nambari iliyoongezwa tayari iliondolewa kwa sababu ya ubora wa chini, utunzaji usiojali wa buffer, matumizi ya vijiti badala ya hundi, utekelezaji usio kamili wa itifaki. na ukiukaji wa leseni ya GPL. Utekelezaji mpya uliotayarishwa kwa pamoja na timu kuu za ukuzaji za FreeBSD na WireGuard na maoni kutoka kwa Jason A. Donenfeld, mwandishi wa VPN WireGuard, na John H. Baldwin, msanidi programu mashuhuri wa FreeBSD. Ukaguzi kamili wa mabadiliko ulifanywa kwa usaidizi wa Wakfu wa FreeBSD kabla ya kanuni mpya kukubaliwa.

  • Usaidizi uliotekelezwa wa itifaki ya mawasiliano ya Netlink (RFC 3549), ambayo hutumiwa katika Linux kupanga mwingiliano kati ya kernel na michakato katika nafasi ya mtumiaji. Mradi huu ni wa kusaidia familia ya NETLINK_ROUTE ya shughuli za kudhibiti hali ya mfumo mdogo wa mtandao kwenye kernel, ambayo inaruhusu FreeBSD kutumia matumizi ya ip Linux kutoka kwa kifurushi cha iproute2 ili kudhibiti miingiliano ya mtandao, kuweka anwani za IP, kusanidi uelekezaji, na kuendesha. vitu vya nexthop ambavyo huhifadhi data ya serikali inayotumiwa kusambaza pakiti hadi mahali unapotaka.
  • Vitekelezo vyote vya mfumo wa msingi kwenye majukwaa ya 64-bit vina Uwekaji Nafasi wa Mpangilio wa Nafasi ya Anwani (ASLR) umewashwa kwa chaguomsingi. Ili kuzima ASLR kwa kuchagua, unaweza kutumia amri "proccontrol -ma aslr -s disable" au "elfctl -e +noaslr".
  • ipfw hutumia jedwali la Radix kutafuta anwani za MAC, ambayo hukuruhusu kuunda majedwali yenye anwani za MAC na kuzitumia kuchuja trafiki. Kwa mfano: jedwali la ipfw 1 unda aina ya mac ipfw jedwali 1 ongeza 11:22:33:44:55:66/48 ipfw ongeza skipto tablearg src-mac 'meza(1)' ipfw ongeza kukataa src-mac 'meza(1, 100 )' ipfw ongeza kukataa kuangalia dst-mac 1
  • Imeongezwa na inapatikana kwa kupakiwa kupitia loader.conf ni moduli za dpdk_lpm4 na dpdk_lpm6 kernel na utekelezaji wa kanuni ya utafutaji wa njia ya DIR-24-8 ya IPv4/IPv6, ambayo hukuruhusu kuboresha utendakazi wa uelekezaji kwa wapangishi walio na jedwali kubwa sana za kuelekeza (majaribio. onyesha ongezeko la kasi la 25%). Huduma ya kawaida ya njia inaweza kutumika kusanidi moduli (chaguo la FIB_ALGO limeongezwa).
  • Utekelezaji wa mfumo wa faili wa ZFS umesasishwa hadi kutolewa kwa OpenZFS 2.1.9. Hati ya kuanza ya zfskys hutoa upakiaji otomatiki wa funguo zilizohifadhiwa katika mfumo wa faili wa ZFS. Imeongeza hati mpya ya RC zpoolreguid ili kukabidhi GUID kwa zpools moja au zaidi (kwa mfano, ni muhimu kwa mazingira ya uboreshaji wa data iliyoshirikiwa).
  • Hypervisor ya Bhyve na usaidizi wa moduli ya vmm inayoambatisha zaidi ya CPU 15 pepe kwenye mfumo wa wageni (inaweza kurekebishwa kupitia sysctl hw.vmm.maxcpu). Huduma ya bhyve hutekeleza mwigo wa kifaa cha kuingiza sauti cha virtio, ambacho unaweza kutumia kubadilisha matukio ya kibodi na kipanya kwenye mfumo wa wageni.
  • KTLS, utekelezaji wa itifaki ya TLS inayoendeshwa katika kiwango cha kernel ya FreeBSD, imeongeza usaidizi wa kuongeza kasi ya maunzi ya TLS 1.3 kwa kupakua baadhi ya shughuli zinazohusiana na kuchakata pakiti zinazoingia zilizosimbwa kwa njia fiche kwenye mabega ya kadi ya mtandao. Hapo awali, kipengele hiki kilipatikana kwa TLS 1.1 na TLS 1.2.
  • Katika hati ya kuanza kwa ukuaji, wakati wa kupanua FS ya mizizi, inahakikishwa kuwa kizigeu cha ubadilishaji kinaongezwa ikiwa kizigeu kama hicho hakikuwepo (kwa mfano, ni muhimu wakati wa kusanidi picha ya mfumo iliyotengenezwa tayari kwenye kadi ya SD). Chaguo jipya, growfs_swap_size, limeongezwa kwa rc.conf ili kudhibiti ukubwa wa kubadilishana.
  • Hati ya kuanzisha mpangishi inahakikisha kwamba UUID nasibu inatolewa iwapo faili /etc/hostid inakosekana na UUID haiwezi kupatikana kutoka kwa maunzi. Pia imeongezwa ni /etc/machine-id faili iliyo na uwakilishi kompakt wa kitambulisho cha mwenyeji (hakuna deshi).
  • Vigezo defaultrouter_fibN na ipv6_defaultrouter_fibN vimeongezwa kwa rc.conf, ambapo unaweza kuongeza njia chaguo-msingi kwenye jedwali la FIB isipokuwa la msingi.
  • Usaidizi wa heshi za SHA-512/224 umeongezwa kwenye maktaba ya libmd.
  • Maktaba ya pthread hutekelezea usaidizi wa semantiki ya vitendaji vinavyotumika katika Linux.
  • Usaidizi wa kusimbua simu za mfumo wa Linux umeongezwa kwenye kdump. Usaidizi wa ufuatiliaji wa syscall wa mtindo wa Linux umeongezwa kwenye kdump na sysdecode.
  • Huduma ya killall sasa ina uwezo wa kutuma ishara kwa michakato iliyofungwa kwa terminal maalum (kwa mfano, "killall -t pts/1").
  • Imeongeza matumizi ya nproc ili kuonyesha idadi ya vitengo vya hesabu vinavyopatikana kwa mchakato wa sasa.
  • Usaidizi wa usimbaji wa vigezo vya ACS (Huduma za Udhibiti wa Ufikiaji) umeongezwa kwa matumizi ya pciconf.
  • Mpangilio wa SPLIT_KERNEL_DEBUG umeongezwa kwenye kernel, ambayo inaruhusu kuhifadhi maelezo ya utatuzi wa moduli za kernel na kernel katika faili tofauti.
  • ABI ya linux inakaribia kukamilika ikiwa na usaidizi wa utaratibu wa vDSO (vitu vinavyobadilikabadilika), ambao hutoa seti ndogo ya simu za mfumo zinazopatikana katika nafasi ya mtumiaji bila kubadili muktadha. ABI ya linux kwenye mifumo ya ARM64 imeletwa kwa usawa na utekelezaji wa usanifu wa AMD64.
  • Usaidizi wa vifaa ulioboreshwa. Usaidizi wa ufuatiliaji wa utendaji ulioongezwa (hwpmc) kwa CPU za Intel Alder Lake. Ilisasisha kiendeshi cha iwlwifi kwa kadi zisizo na waya za Intel na usaidizi wa chipsi mpya na kiwango cha 802.11ac. Kiendeshaji cha rtw88 kimeongezwa kwa kadi zisizo na waya za Realtek PCI. Iliongeza safu ya linuxkpi kwa matumizi na viendeshaji vya FreeBSD Linux.
  • Maktaba ya OpenSSL imesasishwa hadi toleo la 1.1.1t, LLVM/Π‘lang imesasishwa hadi toleo la 14.0.5, na seva ya SSH na mteja imesasishwa hadi OpenSSH 9.2p1 (toleo la awali lilitumia OpenSSH 8.8p1). Pia zilizosasishwa ni bc 6.2.4, expat 2.5.0, faili 5.43, chini ya 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13.

Zaidi ya hayo, imeacha kutumika na kuondolewa tangu tawi la FreeBSD 14.0 la nenosiri la wakati mmoja la OPIE, viendeshaji vya ce na cp, viendeshi vya kadi za ISA, huduma za mergemaster na minigzip, vipengele vya ATM kwenye netgraph (NgATM), mchakato wa mandharinyuma ya telnetd, na VINUM. darasa katika geom.

Chanzo: opennet.ru

Kuongeza maoni