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