FreeBSD 13.2 leidimas su Netlink ir WireGuard palaikymu

Po 11 mėnesių kūrimo buvo išleista FreeBSD 13.2. Diegimo vaizdai generuojami amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 ir riscv64 architektūroms. Be to, parengti komplektai virtualizavimo sistemoms (QCOW2, VHD, VMDK, raw) ir debesų aplinkoms Amazon EC2, Google Compute Engine ir Vagrant.

Pagrindiniai pakeitimai:

  • Įdiegta galimybė kurti UFS ir FFS failų sistemų momentines nuotraukas su įjungtu registravimu (soft updates). Taip pat pridėtas palaikymas fone iškeltų įrašų (vykdomas iškrovimas su „-L“ vėliava) su prijungtų UFS failų sistemų turiniu, kai įjungtas žurnalas. Viena iš funkcijų, kuri nepasiekiama naudojant registravimą, yra vientisumo patikrų foninis vykdymas naudojant fsck įrankį.
  • Į pagrindinę sudėtį įeina wg tvarkyklė, veikianti branduolio lygiu su VPN WireGuard tinklo sąsaja. Norint naudoti tvarkyklei reikalingus kriptografinius algoritmus, buvo išplėsta FreeBSD branduolio kriptovaliutų posistemio API, prie kurios buvo pridėtas laidas, leidžiantis naudoti libsodium bibliotekos algoritmus, kurie nėra palaikomi FreeBSD per standartinę kripto-API. . Kūrimo proceso metu taip pat buvo atliktas optimizavimas, siekiant tolygiai subalansuoti paketų šifravimo ir iššifravimo užduočių susiejimą su procesoriaus branduoliais, o tai sumažino WireGuard paketų apdorojimo išlaidas.

    Paskutinis bandymas įtraukti WireGuard į FreeBSD buvo atliktas 2020 m., tačiau baigėsi skandalu, dėl ko jau pridėtas kodas buvo pašalintas dėl nekokybiško, neatsargaus darbo su buferiais, stubų naudojimo vietoj patikrų, nepilno diegimo. protokolo ir GPL licencijos pažeidimo. Naują diegimą kartu parengė pagrindinės FreeBSD ir WireGuard kūrėjų komandos, prisidėjo Jason A. Donenfeld, VPN WireGuard autorius, ir John H. Baldwin, garsus FreeBSD kūrėjas. Prieš priimant naują kodą, su FreeBSD fondo parama buvo atlikta visa pakeitimų peržiūra.

  • Įdiegtas „Netlink“ ryšio protokolo (RFC 3549), naudojamo Linux sistemoje branduolio sąveikai su vartotojo erdvėje vykstančiais procesais organizuoti, palaikymas. Projektas apsiriboja operacijų šeimos NETLINK_ROUTE palaikymu, valdant tinklo posistemio būseną branduolyje, kuri leidžia FreeBSD naudoti Linux ip įrankį iš paketo iproute2 valdyti tinklo sąsajas, nustatyti IP adresus, konfigūruoti maršrutą ir manipuliuoti Nexthop. objektai, kuriuose saugomi būsenos duomenys, naudojami paketui perduoti į pageidaujamą paskirties vietą.
  • Visuose pagrindinėse sistemos vykdomuosiuose failuose 64 bitų platformose pagal numatytuosius nustatymus įjungtas adresų erdvės išdėstymo atsitiktinis nustatymas (ASLR). Norėdami pasirinktinai išjungti ASLR, galite naudoti komandas „proccontrol -m aslr -s disable“ arba „elfctl -e +noaslr“.
  • IPfw radix lentelės naudojamos MAC adresams ieškoti, todėl galite kurti lenteles su MAC adresais ir naudoti jas srautui filtruoti. Pavyzdžiui: ipfw lentelė 1 sukurti tipą mac ipfw lentelė 1 add 11:22:33:44:55:66/48 ipfw add skipto tablearg src-mac 'table(1)' ipfw add deny src-mac 'table(1, 100)' ipfw pridėti neleisti ieškoti dst-mac 1
  • Pridėta branduolio modulių dpdk_lpm4 ir dpdk_lpm6, kuriuos galima įkelti per loader.conf, įdiegus IPv24/IPv8 maršruto paieškos algoritmą DIR-4-6, kuris leidžia optimizuoti maršruto funkcijas pagrindiniams kompiuteriams su labai didelėmis maršruto lentelėmis ( bandymuose stebimas 25 greičio padidėjimas %). Modulių konfigūravimui galima naudoti standartinį maršruto įrankį (pridėta FIB_ALGO parinktis).
  • ZFS failų sistemos diegimas buvo atnaujintas, kad būtų išleista OpenZFS 2.1.9. zfskeys paleisties scenarijus užtikrina automatinį ZFS failų sistemoje saugomų raktų įkėlimą. Pridėtas naujas RC scenarijus zpoolreguid, skirtas priskirti GUID vienam ar daugiau zpool (pvz., naudinga bendrinamų duomenų virtualizavimo aplinkoms).
  • „Bhyve hypervisor“ ir „vmm“ modulis palaiko daugiau nei 15 virtualių procesorių prijungimą prie svečių sistemos (reguliuojama per sysctl hw.vmm.maxcpu). „bhyve“ programa įgyvendina virtio įvesties įrenginio emuliaciją, kuria galite pakeisti klaviatūros ir pelės įvesties įvykius svečių sistemoje.
  • KTLS, TLS protokolo, veikiančio FreeBSD branduolio lygmeniu, įgyvendinimas, TLS 1.3 aparatinės įrangos spartinimo palaikymas buvo įtrauktas į tinklo plokštę iškraunant kai kurias operacijas, susijusias su šifruotų gaunamų paketų apdorojimu. Anksčiau panaši funkcija buvo prieinama TLS 1.1 ir TLS 1.2.
  • Paleisties scenarijuje growfs, plečiant šakninę failų sistemą, galima pridėti apsikeitimo skaidinį, jei tokio skaidinio iš pradžių trūko (pavyzdžiui, naudinga diegiant paruoštą sistemos vaizdą į SD kortelę). Norint valdyti apsikeitimo dydį, į rc.conf buvo įtrauktas naujas parametras growfs_swap_size.
  • Hostid paleisties scenarijus užtikrina, kad būtų sugeneruotas atsitiktinis UUID, jei trūksta /etc/hostid failo ir UUID negalima gauti iš aparatinės įrangos. Taip pat pridėtas /etc/machine-id failas su kompaktišku pagrindinio kompiuterio ID vaizdu (be brūkšnelių).
  • Kintamieji defaultrouter_fibN ir ipv6_defaultrouter_fibN buvo įtraukti į rc.conf, per kuriuos galite įtraukti numatytuosius maršrutus į FIB lenteles, išskyrus pirminę.
  • SHA-512/224 maišos palaikymas buvo įtrauktas į libmd biblioteką.
  • Pthread biblioteka palaiko Linux naudojamų funkcijų semantiką.
  • Pridėtas Linux sistemos iškvietimų į kdump palaikymas. Pridėtas „Linux“ stiliaus sistemos skambučių sekimo į kdump ir sysdecode palaikymas.
  • „Killall“ programa dabar turi galimybę siųsti signalą procesams, susietiems su konkrečiu terminalu (pavyzdžiui, „killall -t pts/1“).
  • Pridėta „nproc“ programa, rodanti dabartiniam procesui prieinamų skaičiavimo blokų skaičių.
  • ACS (prieigos kontrolės paslaugų) parametrų dekodavimo palaikymas buvo įtrauktas į pciconf paslaugų programą.
  • SPLIT_KERNEL_DEBUG nustatymas buvo pridėtas prie branduolio, kuris leidžia išsaugoti branduolio ir branduolio modulių derinimo informaciją atskiruose failuose.
  • „Linux ABI“ yra beveik pilnas, palaikydamas vDSO (virtualių dinaminių bendrinamų objektų) mechanizmą, kuris suteikia ribotą sistemos iškvietimų rinkinį, pasiekiamą vartotojo erdvėje be konteksto perjungimo. Linux ABI ARM64 sistemose buvo suderintas su AMD64 architektūros diegimu.
  • Patobulintas techninės įrangos palaikymas. Pridėtas „Intel Alder Lake“ procesorių našumo stebėjimo (hwpmc) palaikymas. „Intel“ belaidžių kortelių „iwlwifi“ tvarkyklė buvo atnaujinta, palaikant naujus lustus ir 802.11ac standartą. Pridėta rtw88 tvarkyklė Realtek belaidėms kortelėms su PCI sąsaja. „Linuxkpi“ sluoksnio galimybės buvo išplėstos, kad būtų galima naudoti „Linux“ tvarkykles „FreeBSD“.
  • OpenSSL biblioteka buvo atnaujinta iki 1.1.1t versijos, LLVM/Сlang į 14.0.5 versiją, o SSH serveris ir klientas buvo atnaujinti į OpenSSH 9.2p1 (ankstesnė versija naudojo OpenSSH 8.8p1). Taip pat atnaujintos versijos bc 6.2.4, expat 2.5.0, failas 5.43, less 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13.

Be to, buvo paskelbta, kad pradedant FreeBSD 14.0 šaka, vienkartiniais slaptažodžiais OPIE, ce ir cp tvarkyklės, ISA kortelių tvarkyklės, mergemaster ir minigzip priemonės, bankomato komponentai netgraph (NgATM), telnetd foninis procesas ir VINUM klasė geom.

Šaltinis: opennet.ru

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