FreeBSD 13.2 eldono kun Netlink kaj WireGuard subteno

Post 11 monatoj da evoluo, FreeBSD 13.2 estis publikigita. Instalaj bildoj estas generitaj por arkitekturoj amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 kaj riscv64. Aldone, asembleoj estis preparitaj por virtualigaj sistemoj (QCOW2, VHD, VMDK, kruda) kaj nubaj medioj Amazon EC2, Google Compute Engine kaj Vagrant.

Ŝlosilaj ŝanĝoj:

  • La kapablo krei momentfotojn de UFS kaj FFS-dosiersistemoj kun protokolo ebligita (milaj ĝisdatigoj) estis efektivigita. Ankaŭ aldonis subtenon por fona ŝparado de rubejoj (kuranta rubejo kun la flago "-L") kun la enhavo de muntitaj UFS-dosiersistemoj kiam ĵurnalo estas ebligita. Unu el la funkcioj, kiuj ne estas disponeblaj kiam oni uzas ensalutadon, estas la fona ekzekuto de integreckontroloj per la fsck ilo.
  • La baza komponado inkluzivas wg-ŝoforon funkciantan ĉe la kernnivelo kun la efektivigo de reto-interfaco por VPN WireGuard. Por uzi la kriptografiajn algoritmojn postulatajn de la ŝoforo, la API de la FreeBSD-kerna kripto-subsistemo estis etendita, al kiu aldoniĝis jungilaro kiu permesas la uzon de algoritmoj de la libsodium-biblioteko kiuj ne estas subtenataj en FreeBSD per la norma kripto-API. . Dum la evoluprocezo, optimumigo ankaŭ estis efektivigita por egale ekvilibrigi la ligadon de pakaĵetaj ĉifrado kaj malĉifrado taskoj al CPU-kernoj, kiuj reduktis la superkoston dum prilaborado de WireGuard-pakaĵetoj.

    La lasta provo inkludi WireGuard en FreeBSD estis farita en 2020, sed finiĝis en skandalo, rezulte de kiu la jam aldonita kodo estis forigita pro malaltkvalita, senzorga laboro kun bufroj, uzo de stumpoj anstataŭ ĉekoj, nekompleta efektivigo. de la protokolo kaj malobservo de la GPL-licenco. La nova efektivigo estis komune preparita fare de la kernaj FreeBSD kaj WireGuard evoluigaj teamoj, kun kontribuoj de Jason A. Donenfeld, verkinto de VPN WireGuard, kaj John H. Baldwin, fama FreeBSD-programisto. Plena revizio de la ŝanĝoj estis farita kun la subteno de la FreeBSD Foundation antaŭ ol la nova kodo estis akceptita.

  • Subteno por la Netlink-komunika protokolo (RFC 3549), uzita en Linukso por organizi la interagadon de la kerno kun procezoj en uzantspaco, estis efektivigita. La projekto estas limigita al subteno de la NETLINK_ROUTE-familio de operacioj por administri la staton de la reto-subsistemo en la kerno, kiu permesas al FreeBSD uzi la Linuksan ip ilon de la pako iproute2 por administri retajn interfacojn, agordi IP-adresojn, agordi vojigon kaj manipuli nexthop. objektoj kiuj stokas ŝtatdatenojn uzitajn por elsendado de la pakaĵeto al la dezirata celloko.
  • Ĉiuj bazsistemoj ruleblaj sur 64-bitaj platformoj havas Address Space Layout Randomization (ASLR) ebligita defaŭlte. Por elekte malebligi ASLR, vi povas uzi la ordonojn "proccontrol -m aslr -s disable" aŭ "elfctl -e +noaslr".
  • En ipfw, radix-tabeloj estas uzataj por serĉi MAC-adresojn, kio permesas krei tabelojn kun MAC-adresoj kaj uzi ilin por filtri trafikon. Ekzemple: ipfw tablo 1 krei tipon mac ipfw tablo 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 add deny lookup dst-mac 1
  • Kernelmoduloj dpdk_lpm4 kaj dpdk_lpm6 estis aldonitaj kaj disponeblas por ŝarĝo per loader.conf kun la efektivigo de la DIR-24-8-itinera serĉalgoritmo por IPv4/IPv6, kiu ebligas al vi optimumigi vojajn funkciojn por gastigantoj kun tre grandaj vojtabeloj ( en provoj oni observas rapidecpliiĝon de 25 %). Por agordi modulojn oni povas uzi la norman itineran ilon (la opcio FIB_ALGO estis aldonita).
  • La efektivigo de la dosiersistemo ZFS estis ĝisdatigita por liberigi OpenZFS 2.1.9. La starta skripto de zfskeys provizas aŭtomatan ŝarĝon de ŝlosiloj stokitaj en la dosiersistemo ZFS. Aldonita nova RC-skripto zpoolreguid por atribui GUID al unu aŭ pluraj zpools (ekz. utila por komunaj datumvirtualigaj medioj).
  • La hiperviziero Bhyve kaj la vmm-modulo subtenas alligi pli ol 15 virtualajn CPUojn al la gastsistemo (reguligita per sysctl hw.vmm.maxcpu). La bhyve ilo efektivigas emuladon de la virtio-eniga aparato, per kiu vi povas anstataŭigi klavarajn kaj musajn enigajn eventojn en la gastsistemon.
  • En KTLS, efektivigo de la TLS-protokolo funkcianta sur la FreeBSD-kernnivelo, subteno por hardvarakcelo de TLS 1.3 estis aldonita malŝarĝante kelkajn operaciojn ligitajn al prilaborado de ĉifritaj envenantaj pakaĵetoj al la retkarto. Antaŭe, simila funkcio estis disponebla por TLS 1.1 kaj TLS 1.2.
  • En la start-skripto de growfs, kiam pligrandigas la radikan dosiersistemon, eblas aldoni interŝanĝan subdiskon se tia diskparto komence mankis (ekzemple, utila kiam oni instalas pretan sistembildon sur SD-karto). Por kontroli la interŝanĝan grandecon, nova parametro growfs_swap_size estis aldonita al rc.conf.
  • La hostid-komenca skripto certigas, ke hazarda UUID estas generita se la /etc/hostid-dosiero mankas kaj la UUID ne povas esti akirita de la aparataro. Ankaŭ aldonis dosieron /etc/machine-id kun kompakta prezento de la gastiga ID (sen streketoj).
  • La defaultrouter_fibN kaj ipv6_defaultrouter_fibN variabloj estis aldonitaj al rc.conf, per kiu vi povas aldoni defaŭltajn itinerojn al FIB-tabloj krom la ĉefa.
  • Subteno por SHA-512/224 hashes estis aldonita al la libmd biblioteko.
  • La pthread-biblioteko provizas subtenon por la semantiko de funkcioj uzataj en Linukso.
  • Aldonita subteno por malkodi Linuksan sistemvokojn al kdump. Aldonita subteno por Linukso-stila sistemvoka spurado al kdump kaj sysdecode.
  • La killall-servaĵo nun havas la kapablon sendi signalon al procezoj ligitaj al specifa terminalo (ekzemple, "killall -t pts/1").
  • Aldonita nproc-utilo por montri la nombron da komputilaj blokoj disponeblaj al la nuna procezo.
  • Subteno por malkodi ACS (Access Control Services) parametroj estis aldonita al la pciconf ilo.
  • La agordo SPLIT_KERNEL_DEBUG estis aldonita al la kerno, kiu ebligas al vi konservi sencimigan informon por la kerno kaj kernomoduloj en apartaj dosieroj.
  • La Linukso ABI estas preskaŭ kompleta kun subteno por la mekanismo vDSO (virtuala dinamika komunaj objektoj), kiu disponigas limigitan aron de sistemvokoj disponeblaj en uzantspaco sen kuntekstŝanĝo. La Linukso ABI sur ARM64-sistemoj estis alportita al egaleco kun la efektivigo por la AMD64-arkitekturo.
  • Plibonigita aparatara subteno. Aldonita agado-monitorado (hwpmc) subteno por Intel Alder Lake CPU-oj. La iwlwifi-ŝoforo por sendrataj kartoj Intel estis ĝisdatigita kun subteno por novaj blatoj kaj la normo 802.11ac. Aldonita rtw88-ŝoforo por sendrataj kartoj Realtek kun PCI-interfaco. La kapabloj de la linuxkpi-tavolo estis vastigitaj por uzo kun Linukso-ŝoforoj en FreeBSD.
  • La OpenSSL-biblioteko estis ĝisdatigita al versio 1.1.1t, LLVM/Сlang al versio 14.0.5, kaj la SSH-servilo kaj kliento estis ĝisdatigitaj al OpenSSH 9.2p1 (la antaŭa versio uzis OpenSSH 8.8p1). Ankaŭ ĝisdatigitaj estas versioj bc 6.2.4, expat 2.5.0, dosiero 5.43, malpli 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, nebindita 1.17.1, zlib 1.2.13.

Aldone, estis anoncite ke, komencante kun la branĉo FreeBSD 14.0, unufojaj pasvortoj OPIE, ce kaj cp-ŝoforoj, ŝoforoj por ISA-kartoj, mergemaster kaj minigzip-servaĵoj, ATM-komponentoj en netgraph (NgATM), la telnetd fonprocezo kaj la VINUM-klaso en geom.

fonto: opennet.ru

Aldoni komenton