FreeBSD 13.2-vrystelling met Netlink- en WireGuard-ondersteuning

Na 11 maande se ontwikkeling is FreeBSD 13.2 vrygestel. Installasiebeelde word gegenereer vir amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 en riscv64 argitekture. Daarbenewens is samestellings voorberei vir virtualisasiestelsels (QCOW2, VHD, VMDK, rou) en wolkomgewings Amazon EC2, Google Compute Engine en Vagrant.

Sleutelveranderinge:

  • Die vermoë om momentopnames van UV- en FFS-lêerstelsels te skep met aanteken geaktiveer (sagte opdaterings) is geïmplementeer. Ook bygevoeg ondersteuning vir agtergrond stoor van stortings (loop dump met die "-L" vlag) met die inhoud van gemonteerde UV lêer stelsels wanneer joernaal geaktiveer is. Een van die kenmerke wat nie beskikbaar is wanneer jy logboek gebruik nie, is die agtergronduitvoering van integriteitskontroles met behulp van die fsck-nutsding.
  • Die basiese samestelling bevat 'n wg-bestuurder wat op kernvlak werk met die implementering van 'n netwerkkoppelvlak vir VPN WireGuard. Om die kriptografiese algoritmes te gebruik wat deur die bestuurder vereis word, is die API van die FreeBSD-kern-kripto-substelsel uitgebrei, waarby 'n harnas gevoeg is wat die gebruik van algoritmes van die libsodium-biblioteek toelaat wat nie in FreeBSD deur die standaard kripto-API ondersteun word nie. . Tydens die ontwikkelingsproses is optimalisering ook uitgevoer om die binding van pakkie-enkripsie en dekripsietake aan SVE-kerns eweredig te balanseer, wat die bokoste verminder het tydens die verwerking van WireGuard-pakkies.

    Die laaste poging om WireGuard by FreeBSD in te sluit, is in 2020 aangewend, maar het in 'n skandaal geëindig, as gevolg waarvan die reeds bygevoegde kode verwyder is weens lae gehalte, sorgelose werk met buffers, die gebruik van stompe in plaas van tjeks, onvolledige implementering van die protokol en oortreding van die GPL-lisensie. Die nuwe implementering is gesamentlik voorberei deur die kern FreeBSD- en WireGuard-ontwikkelingspanne, met bydraes van Jason A. Donenfeld, skrywer van VPN WireGuard, en John H. Baldwin, 'n bekende FreeBSD-ontwikkelaar. 'n Volledige hersiening van die veranderinge is uitgevoer met die ondersteuning van die FreeBSD Foundation voordat die nuwe kode aanvaar is.

  • Ondersteuning vir die Netlink-kommunikasieprotokol (RFC 3549), wat in Linux gebruik word om die interaksie van die kern met prosesse in gebruikersruimte te organiseer, is geïmplementeer. Die projek is beperk tot die ondersteuning van die NETLINK_ROUTE-familie van bedrywighede vir die bestuur van die toestand van die netwerksubstelsel in die kern, wat FreeBSD in staat stel om die Linux ip-nutsprogram vanaf die iproute2-pakket te gebruik om netwerkkoppelvlakke te bestuur, IP-adresse in te stel, roetering op te stel en nexthop te manipuleer voorwerpe wat staatsdata stoor wat gebruik word vir die oordrag van die pakkie na die verlangde bestemming.
  • Alle basisstelseluitvoerbare op 64-bis-platforms het adresruimteuitleg-randomisering (ASLR) by verstek geaktiveer. Om ASLR selektief te deaktiveer, kan jy die opdragte "proccontrol -m aslr -s disable" of "elfctl -e +noaslr" gebruik.
  • In ipfw word radix-tabelle gebruik om MAC-adresse op te soek, wat jou toelaat om tabelle met MAC-adresse te skep en dit te gebruik om verkeer te filter. Byvoorbeeld: ipfw tabel 1 skep tipe mac ipfw tabel 1 voeg by 11:22:33:44:55:66/48 ipfw voeg skipto tablearg src-mac 'table(1)' ipfw voeg ontken src-mac 'table(1, 100 )' ipfw voeg ontken soek dst-mac 1
  • Kernmodules dpdk_lpm4 en dpdk_lpm6 is bygevoeg en is beskikbaar vir laai via loader.conf met die implementering van die DIR-24-8 roetesoekalgoritme vir IPv4/IPv6, wat jou toelaat om roeteerfunksies vir gashere met baie groot roeteringstabelle te optimaliseer ( in toetse word 'n spoedverhoging van 25 % waargeneem. Om modules op te stel, kan die standaard roetenutsmiddel gebruik word (die FIB_ALGO opsie is bygevoeg).
  • Die implementering van die ZFS-lêerstelsel is opgedateer om OpenZFS 2.1.9 vry te stel. Die zfskeys-opstartskrip verskaf outomatiese laai van sleutels wat in die ZFS-lêerstelsel gestoor is. Nuwe RC script zpoolreguid bygevoeg om 'n GUID aan een of meer zpools toe te ken (bv. nuttig vir gedeelde datavirtualiseringsomgewings).
  • Die Bhyve-hypervisor en die vmm-module ondersteun die heg van meer as 15 virtuele SVE's aan die gasstelsel (gereguleer via sysctl hw.vmm.maxcpu). Die bhyve-nutsding implementeer emulasie van die virtio-invoertoestel, waarmee u sleutelbord- en muisinvoergebeure in die gasstelsel kan vervang.
  • In KTLS, 'n implementering van die TLS-protokol wat op die FreeBSD-kernvlak loop, is ondersteuning vir hardewareversnelling van TLS 1.3 bygevoeg deur sommige bewerkings wat verband hou met die verwerking van geënkripteerde inkomende pakkies na die netwerkkaart af te laai. Voorheen was 'n soortgelyke kenmerk beskikbaar vir TLS 1.1 en TLS 1.2.
  • In die growfs-opstartskrip, wanneer die wortellêerstelsel uitgebrei word, is dit moontlik om 'n ruilpartisie by te voeg as so 'n partisie aanvanklik ontbreek het (byvoorbeeld nuttig wanneer 'n klaargemaakte stelselbeeld op 'n SD-kaart geïnstalleer word). Om die ruilgrootte te beheer, is 'n nuwe parameter growfs_swap_size by rc.conf gevoeg.
  • Die hostid-opstartskrip verseker dat 'n ewekansige UUID gegenereer word as die /etc/hostid-lêer ontbreek en die UUID nie van die hardeware verkry kan word nie. Het ook 'n /etc/machine-id-lêer bygevoeg met 'n kompakte voorstelling van die gasheer-ID (geen koppeltekens).
  • Die defaultrouter_fibN en ipv6_defaultrouter_fibN veranderlikes is by rc.conf gevoeg, waardeur jy verstekroetes by FIB-tabelle anders as die primêre een kan byvoeg.
  • Ondersteuning vir SHA-512/224 hashes is by die libmd-biblioteek gevoeg.
  • Die pthread-biblioteek bied ondersteuning vir die semantiek van funksies wat in Linux gebruik word.
  • Bygevoeg ondersteuning vir die dekodering van Linux-stelseloproepe na kdump. Bygevoeg ondersteuning vir Linux-styl stelsel oproep opsporing na kdump en sysdecode.
  • Die killall-nutsding het nou die vermoë om 'n sein te stuur na prosesse wat aan 'n spesifieke terminaal gebind is (byvoorbeeld "killall -t pts/1").
  • Bygevoeg nproc nut om die aantal rekenaarblokke wat beskikbaar is vir die huidige proses te vertoon.
  • Ondersteuning vir die dekodering van ACS-parameters (Access Control Services) is by die pciconf-nutsding gevoeg.
  • Die SPLIT_KERNEL_DEBUG-instelling is by die kern gevoeg, wat jou toelaat om ontfoutingsinligting vir die kern- en kernmodules in aparte lêers te stoor.
  • Die Linux ABI is byna voltooi met ondersteuning vir die vDSO (virtuele dinamiese gedeelde voorwerpe) meganisme, wat 'n beperkte stel stelseloproepe bied wat in gebruikersruimte beskikbaar is sonder kontekswisseling. Die Linux ABI op ARM64-stelsels is in ooreenstemming gebring met die implementering vir die AMD64-argitektuur.
  • Verbeterde hardeware-ondersteuning. Bygevoeg prestasiemonitering (hwpmc) ondersteuning vir Intel Alder Lake SVE's. Die iwlwifi-bestuurder vir Intel draadlose kaarte is opgedateer met ondersteuning vir nuwe skyfies en die 802.11ac-standaard. Bygevoeg rtw88 bestuurder vir Realtek draadlose kaarte met PCI koppelvlak. Die vermoëns van die linuxkpi-laag is uitgebrei vir gebruik met Linux-bestuurders in FreeBSD.
  • Die OpenSSL-biblioteek is opgedateer na weergawe 1.1.1t, LLVM/Сlang na weergawe 14.0.5, en die SSH-bediener en kliënt is opgedateer na OpenSSH 9.2p1 (die vorige weergawe het OpenSSH 8.8p1 gebruik). Ook opgedateer is weergawes bc 6.2.4, expat 2.5.0, lêer 5.43, minder 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, ongebonde 1.17.1, zlib 1.2.13.

Daarbenewens is daar aangekondig dat, begin met die FreeBSD 14.0-tak, eenmalige wagwoorde OPIE-, ce- en cp-drywers, drywers vir ISA-kaarte, mergemaster- en minigzip-nutsprogramme, OTM-komponente in netgraph (NgATM), die telnetd-agtergrondproses en die VINUM klas in geom.

Bron: opennet.ru

Voeg 'n opmerking