FreeBSD 13.2 laidiens ar Netlink un WireGuard atbalstu

Pēc 11 mēneÅ”u izstrādes ir izlaists FreeBSD 13.2. Instalācijas attēli tiek Ä£enerēti amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 un riscv64 arhitektÅ«rām. Turklāt ir sagatavoti komplekti virtualizācijas sistēmām (QCOW2, VHD, VMDK, raw) un mākoņa vidēm Amazon EC2, Google Compute Engine un Vagrant.

Galvenās izmaiņas:

  • Ir ieviesta iespēja izveidot UFS un FFS failu sistēmu momentuzņēmumus ar iespējotu reÄ£istrÄ“Å”anu (soft updates). Pievienots arÄ« atbalsts izgāztuvju saglabāŔanai fonā (izgāztuves palaiÅ”ana ar karogu ā€œ-Lā€) ar uzstādÄ«to UFS failu sistēmu saturu, kad ir iespējota žurnālu veidoÅ”ana. Viena no funkcijām, kas nav pieejama, izmantojot reÄ£istrÄ“Å”anu, ir integritātes pārbaužu veikÅ”ana fonā, izmantojot utilÄ«tu fsck.
  • Pamatsastāvā ietilpst wg draiveris, kas darbojas kodola lÄ«menÄ« ar VPN WireGuard tÄ«kla interfeisa ievieÅ”anu. Lai izmantotu draiverim nepiecieÅ”amos kriptogrāfiskos algoritmus, tika paplaÅ”ināta FreeBSD kodola kriptogrāfijas apakÅ”sistēmas API, kurai pievienota instalācija, kas ļauj izmantot libsodium bibliotēkas algoritmus, kas netiek atbalstÄ«ti FreeBSD caur standarta kripto-API. . Izstrādes procesā tika veikta arÄ« optimizācija, lai vienmērÄ«gi lÄ«dzsvarotu pakeÅ”u Å”ifrÄ“Å”anas un atÅ”ifrÄ“Å”anas uzdevumu piesaisti CPU kodoliem, kas samazināja WireGuard pakeÅ”u apstrādes izmaksas.

    Pēdējais mēģinājums iekļaut WireGuard FreeBSD tika veikts 2020. gadā, taču beidzās ar skandālu, kā rezultātā tika noņemts jau pievienotais kods zemas kvalitātes, neuzmanÄ«ga darba ar buferiem, stubs izmantoÅ”anas čeku vietā, nepilnÄ«gas ievieÅ”anas dēļ. protokola pārkāpumu un GPL licences pārkāpumu. Jauno ievieÅ”anu kopÄ«gi sagatavoja galvenās FreeBSD un WireGuard izstrādes komandas, piedaloties VPN WireGuard autoram Džeisonam A. Donenfeldam un Džonam Boldvinam, slavenajam FreeBSD izstrādātājam. Pirms jaunā koda pieņemÅ”anas ar FreeBSD fonda atbalstu tika veikta pilnÄ«ga izmaiņu pārskatÄ«Å”ana.

  • Ir ieviests atbalsts Netlink sakaru protokolam (RFC 3549), ko izmanto Linux, lai organizētu kodola mijiedarbÄ«bu ar procesiem lietotāja telpā. Projekts aprobežojas ar NETLINK_ROUTE operāciju saimes atbalstÄ«Å”anu, lai pārvaldÄ«tu tÄ«kla apakÅ”sistēmas stāvokli kodolā, kas ļauj FreeBSD izmantot Linux ip utilÄ«tu no iproute2 pakotnes, lai pārvaldÄ«tu tÄ«kla saskarnes, iestatÄ«tu IP adreses, konfigurētu marÅ”rutÄ“Å”anu un manipulētu ar Nexthop. objekti, kas glabā stāvokļa datus, ko izmanto paketes pārsÅ«tÄ«Å”anai uz vēlamo galamērÄ·i.
  • Visiem bāzes sistēmas izpildāmajiem failiem 64 bitu platformās pēc noklusējuma ir iespējota adreÅ”u telpas izkārtojuma nejauÅ”ināŔana (ASLR). Lai selektÄ«vi atspējotu ASLR, varat izmantot komandas ā€œproccontrol -m aslr -s disableā€ vai ā€œelfctl -e +noaslrā€.
  • Programmā ipfw MAC adreÅ”u meklÄ“Å”anai tiek izmantotas radix tabulas, kas ļauj izveidot tabulas ar MAC adresēm un izmantot tās trafika filtrÄ“Å”anai. Piemēram: ipfw tabula 1 izveidot tips mac ipfw tabula 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 pievieno liegt uzmeklÄ“Å”anu dst-mac 1
  • Ir pievienoti kodola moduļi dpdk_lpm4 un dpdk_lpm6, kas ir pieejami ielādei caur loader.conf, ievieÅ”ot IPv24/IPv8 marÅ”ruta meklÄ“Å”anas algoritmu DIR-4-6, kas ļauj optimizēt marÅ”rutÄ“Å”anas funkcijas resursdatoriem ar ļoti lielām marÅ”rutÄ“Å”anas tabulām ( testos tiek novērots ātruma pieaugums par 25 %). Moduļu konfigurÄ“Å”anai var izmantot standarta marÅ”ruta utilÄ«tu (ir pievienota opcija FIB_ALGO).
  • ZFS failu sistēmas ievieÅ”ana ir atjaunināta, lai atbrÄ«votu OpenZFS 2.1.9. Zfskeys startÄ“Å”anas skripts nodroÅ”ina automātisku ZFS failu sistēmā saglabāto atslēgu ielādi. Pievienots jauns RC skripts zpoolreguid, lai pieŔķirtu GUID vienam vai vairākiem zpool (piemēram, noderÄ«gs koplietojamo datu virtualizācijas vidēm).
  • Bhyve hipervizors un modulis vmm atbalsta vairāk nekā 15 virtuālo CPU pievienoÅ”anu viesu sistēmai (regulē, izmantojot sysctl hw.vmm.maxcpu). Bhyve utilÄ«ta ievieÅ” virtio ievades ierÄ«ces emulāciju, ar kuru jÅ«s varat aizstāt tastatÅ«ras un peles ievades notikumus viesu sistēmā.
  • KTLS, TLS protokola ievieÅ”anā, kas darbojas FreeBSD kodola lÄ«menÄ«, ir pievienots atbalsts TLS 1.3 aparatÅ«ras paātrināŔanai, izkraujot dažas darbÄ«bas, kas saistÄ«tas ar Å”ifrētu ienākoÅ”o pakeÅ”u apstrādi tÄ«kla kartē. IepriekÅ” lÄ«dzÄ«ga funkcija bija pieejama TLS 1.1 un TLS 1.2.
  • Growfs starta skriptā, paplaÅ”inot saknes failu sistēmu, ir iespējams pievienot mijmaiņas nodalÄ«jumu, ja Ŕāda nodalÄ«juma sākotnēji trÅ«ka (piemēram, noder, instalējot gatavu sistēmas attēlu SD kartē). Lai kontrolētu mijmaiņas lielumu, failam rc.conf ir pievienots jauns parametrs growfs_swap_size.
  • Hostid startÄ“Å”anas skripts nodroÅ”ina, ka tiek Ä£enerēts nejauÅ”s UUID, ja trÅ«kst faila /etc/hostid un UUID nevar iegÅ«t no aparatÅ«ras. Pievienots arÄ« /etc/machine-id fails ar kompaktu resursdatora ID attēlojumu (bez defisēm).
  • MainÄ«gie defaultrouter_fibN un ipv6_defaultrouter_fibN ir pievienoti rc.conf, ar kuru palÄ«dzÄ«bu FIB tabulām var pievienot noklusējuma marÅ”rutus, kas nav primārā.
  • libmd bibliotēkai ir pievienots SHA-512/224 jaukÅ”anas atbalsts.
  • Pthread bibliotēka nodroÅ”ina atbalstu Linux izmantoto funkciju semantikai.
  • Pievienots atbalsts Linux sistēmas zvanu atkodÄ“Å”anai uz kdump. Pievienots Linux stila sistēmas zvanu izsekoÅ”anas atbalsts uz kdump un sysdecode.
  • Tagad utilÄ«tai killall ir iespēja nosÅ«tÄ«t signālu procesiem, kas saistÄ«ti ar noteiktu termināli (piemēram, ā€œkillall -t pts/1ā€).
  • Pievienota nproc utilÄ«ta, lai parādÄ«tu paÅ”reizējam procesam pieejamo skaitļoÅ”anas bloku skaitu.
  • Pciconf utilÄ«tai ir pievienots atbalsts ACS (Access Control Services) parametru dekodÄ“Å”anai.
  • Kodolam ir pievienots iestatÄ«jums SPLIT_KERNEL_DEBUG, kas ļauj saglabāt kodola un kodola moduļu atkļūdoÅ”anas informāciju atseviŔķos failos.
  • Linux ABI ir gandrÄ«z pabeigts ar atbalstu vDSO (virtuāli dinamiski koplietoti objekti) mehānismam, kas nodroÅ”ina ierobežotu sistēmas izsaukumu kopumu, kas pieejams lietotāja telpā bez konteksta maiņas. Linux ABI ARM64 sistēmās ir pielÄ«dzināts AMD64 arhitektÅ«ras ievieÅ”anai.
  • Uzlabots aparatÅ«ras atbalsts. Pievienots veiktspējas uzraudzÄ«bas (hwpmc) atbalsts Intel Alder Lake centrālajiem procesoriem. Intel bezvadu karÅ”u iwlwifi draiveris ir atjaunināts, atbalstot jaunas mikroshēmas un 802.11ac standartu. Pievienots rtw88 draiveris Realtek bezvadu kartēm ar PCI interfeisu. Linuxkpi slāņa iespējas ir paplaÅ”inātas lietoÅ”anai ar Linux draiveriem FreeBSD.
  • OpenSSL bibliotēka ir atjaunināta uz versiju 1.1.1t, LLVM/Š”lang uz versiju 14.0.5, un SSH serveris un klients ir atjaunināti uz OpenSSH 9.2p1 (iepriekŔējā versijā tika izmantota OpenSSH 8.8p1). Atjauninātas arÄ« versijas bc 6.2.4, expat 2.5.0, fails 5.43, mazāk 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13.

Turklāt ir paziņots, ka, sākot ar FreeBSD 14.0 atzaru, vienreizējās paroles OPIE, ce un cp draiveri, ISA karÅ”u draiveri, mergemaster un minigzip utilÄ«tas, bankomāta komponenti netgraph (NgATM), telnetd fona process un VINUM klase Ä£eomā.

Avots: opennet.ru

Pievieno komentāru