FreeBSD 13.2 -julkaisu Netlink- ja WireGuard-tuella

11 kuukauden kehitystyön jälkeen FreeBSD 13.2 on julkaistu. Asennusotokset luodaan amd64-, i386-, powerpc-, powerpc64-, powerpc64le-, powerpcspe-, armv6-, armv7-, aarch64- ja riscv64-arkkitehtuureille. Lisäksi on valmisteltu kokoonpanoja virtualisointijärjestelmiin (QCOW2, VHD, VMDK, raw) ja pilviympäristöihin Amazon EC2, Google Compute Engine ja Vagrant.

Tärkeimmät muutokset:

  • Mahdollisuus luoda tilannekuvia UFS- ja FFS-tiedostojärjestelmistä lokikirjauksen ollessa käytössä (pehmeät päivitykset) on otettu käyttöön. Myös lisätty tuki vedosten taustatallennukselle (vedosten suorittaminen "-L"-lipulla) asennettujen UFS-tiedostojärjestelmien sisältöön, kun kirjaus on käytössä. Yksi ominaisuuksista, joka ei ole käytettävissä lokia käytettäessä, on eheystarkistusten taustalla suorittaminen fsck-apuohjelmalla.
  • Peruskoostumus sisältää wg-ohjaimen, joka toimii ydintasolla VPN WireGuardin verkkorajapinnan toteutuksella. Ajurin vaatimien salausalgoritmien käyttämiseksi FreeBSD:n ytimen salausalijärjestelmän API-liittymää laajennettiin, johon lisättiin valjaat, jotka mahdollistavat sellaisten libsodium-kirjaston algoritmien käytön, joita FreeBSD ei tue tavallisen krypto-API:n kautta. . Kehitysprosessin aikana tehtiin myös optimointia, jotta pakettien salaus- ja salauksenpurkutehtävien sitoutuminen prosessorin ytimiin tasapainotettiin tasaisesti, mikä vähensi WireGuard-pakettien käsittelyn kustannuksia.

    Edellinen yritys WireGuardin sisällyttämiseen FreeBSD:hen tehtiin vuonna 2020, mutta päättyi skandaaliin, jonka seurauksena jo lisätty koodi poistettiin huonon laadun, huolimattomuuden puskurityöskentelyn, tynkien käytön tarkastusten sijaan, epätäydellisen toteutuksen vuoksi. protokollasta ja GPL-lisenssin rikkomisesta. FreeBSD:n ja WireGuardin ydinkehitystiimit valmistelivat uuden toteutuksen yhdessä VPN WireGuardin kirjoittajan Jason A. Donenfeldin ja tunnetun FreeBSD-kehittäjä John H. Baldwinin kanssa. Muutokset tarkasteltiin kokonaisuudessaan FreeBSD Foundationin tuella ennen uuden koodin hyväksymistä.

  • Tuki Netlink-kommunikaatioprotokollalle (RFC 3549), jota käytetään Linuxissa organisoimaan ytimen vuorovaikutusta käyttäjätilassa olevien prosessien kanssa, on otettu käyttöön. Projekti rajoittuu NETLINK_ROUTE-operaatioperheen tukemiseen ytimen verkkoalijärjestelmän tilan hallintaan, mikä antaa FreeBSD:lle mahdollisuuden käyttää iproute2-paketin Linux ip -apuohjelmaa verkkoliitäntöjen hallintaan, IP-osoitteiden asettamiseen, reitityksen määrittämiseen ja nexthopin manipulointiin. objektit, jotka tallentavat tilatietoa, jota käytetään paketin lähettämiseen haluttuun kohteeseen.
  • Kaikissa 64-bittisten alustojen perusjärjestelmän suoritettavissa tiedostoissa on Address Space Layout Randomization (ASLR) oletusarvoisesti käytössä. Voit poistaa ASLR:n käytöstä selektiivisesti käyttämällä komentoja "proccontrol -m aslr -s disable" tai "elfctl -e +noaslr".
  • IPfw:ssä kantalukutaulukoita käytetään MAC-osoitteiden etsimiseen, jolloin voit luoda MAC-osoitteita sisältäviä taulukoita ja käyttää niitä liikenteen suodattamiseen. Esimerkki: ipfw taulukko 1 luo tyyppi mac ipfw taulukko 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
  • Ydinmoduulit dpdk_lpm4 ja dpdk_lpm6 on lisätty, ja ne ovat ladattavissa loader.conf:n kautta käyttämällä DIR-24-8-reitinhakualgoritmia IPv4/IPv6:lle, jonka avulla voit optimoida reititystoiminnot isännille, joilla on erittäin suuret reititystaulukot ( testeissä havaitaan 25 prosentin nopeuden lisäys. Moduulien konfigurointiin voidaan käyttää vakioreittiapuohjelmaa (FIB_ALGO-vaihtoehto on lisätty).
  • ZFS-tiedostojärjestelmän toteutus on päivitetty julkaisemaan OpenZFS 2.1.9. Zfskeys-käynnistysskripti mahdollistaa ZFS-tiedostojärjestelmään tallennettujen avainten automaattisen lataamisen. Lisätty uusi RC-skripti zpoolreguid GUID-tunnuksen määrittämiseksi yhdelle tai useammalle zpoolille (esim. hyödyllinen jaetuissa datan virtualisointiympäristöissä).
  • Bhyve-hypervisor ja vmm-moduuli tukevat yli 15 virtuaalisen CPU:n liittämistä vierasjärjestelmään (säädellään sysctl hw.vmm.maxcpu:n kautta). Bhyve-apuohjelma toteuttaa virtio-syöttölaitteen emuloinnin, jolla voit korvata näppäimistön ja hiiren syöttötapahtumia vierasjärjestelmään.
  • KTLS:ssä, FreeBSD-ytimen tasolla toimivan TLS-protokollan toteutuksessa, on lisätty tuki TLS 1.3:n laitteistokiihdytykseen siirtämällä joitain salattujen saapuvien pakettien käsittelyyn liittyviä toimintoja verkkokortille. Aiemmin samanlainen ominaisuus oli saatavilla TLS 1.1:lle ja TLS 1.2:lle.
  • Growfs-käynnistyskomentosarjassa juuritiedostojärjestelmää laajennettaessa on mahdollista lisätä swap-osio, jos sellainen alun perin puuttui (hyödyllinen esimerkiksi asennettaessa valmis järjestelmäkuva SD-kortille). Swap-koon ohjaamiseksi tiedostoon rc.conf on lisätty uusi parametri growfs_swap_size.
  • Hostid-käynnistyskomentosarja varmistaa, että satunnainen UUID luodaan, jos /etc/hostid-tiedosto puuttuu eikä UUID-tunnusta voida saada laitteistosta. Lisätty myös /etc/machine-id-tiedosto, jossa on kompakti esitys isäntätunnuksesta (ei väliviivoja).
  • Muuttujat defaultrouter_fibN ja ipv6_defaultrouter_fibN on lisätty rc.conf-tiedostoon, jonka kautta voit lisätä oletusreittejä muihin FIB-taulukoihin kuin ensisijaiseen.
  • Libmd-kirjastoon on lisätty tuki SHA-512/224-tiivisteille.
  • Pthread-kirjasto tukee Linuxissa käytettyjen funktioiden semantiikkaa.
  • Lisätty tuki Linux-järjestelmäkutsujen dekoodaamiseen kdumpiin. Lisätty tuki Linux-tyyliselle järjestelmäkutsujen jäljittämiselle kdumpiin ja sysdecodeen.
  • Kilall-apuohjelma pystyy nyt lähettämään signaalin tiettyyn päätteeseen sidotuille prosesseille (esimerkiksi "killall -t pts/1").
  • Lisätty nproc-apuohjelma, joka näyttää nykyisen prosessin käytettävissä olevien laskentalohkojen määrän.
  • Tuki ACS (Access Control Services) -parametrien dekoodaukselle on lisätty pciconf-apuohjelmaan.
  • SPLIT_KERNEL_DEBUG-asetus on lisätty ytimeen, jonka avulla voit tallentaa ytimen ja ydinmoduulien virheenkorjaustiedot erillisiin tiedostoihin.
  • Linux ABI on lähes täydellinen vDSO-mekanismin (virtuaaliset dynaamiset jaetut objektit) tuella, joka tarjoaa rajoitetun joukon järjestelmäkutsuja, jotka ovat käytettävissä käyttäjätilassa ilman kontekstin vaihtoa. ARM64-järjestelmien Linux ABI on saatettu samansuuntaiseksi AMD64-arkkitehtuurin toteutuksen kanssa.
  • Parannettu laitteistotuki. Lisätty suorituskyvyn valvonta (hwpmc) tuki Intel Alder Lake -suorittimille. Intelin langattomien korttien iwlwifi-ohjain on päivitetty tukemaan uusia siruja ja 802.11ac-standardia. Lisätty rtw88-ohjain Realtekin langattomille PCI-liitännällä varustetuille korteille. Linuxkpi-kerroksen ominaisuuksia on laajennettu käytettäväksi Linux-ajureiden kanssa FreeBSD:ssä.
  • OpenSSL-kirjasto on päivitetty versioon 1.1.1t, LLVM/Сlang versioon 14.0.5 ja SSH-palvelin ja asiakas on päivitetty versioon OpenSSH 9.2p1 (edellinen versio käytti OpenSSH 8.8p1:tä). Päivitetään myös versiot bc 6.2.4, expat 2.5.0, tiedosto 5.43, vähemmän 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, ei-sidottu 1.17.1, zlib 1.2.13.

Lisäksi on ilmoitettu, että alkaen FreeBSD 14.0 haarasta, kertakäyttöisistä salasanoista OPIE-, ce- ja cp-ajurit, ISA-korttien ajurit, mergemaster- ja minigzip-apuohjelmat, netgraphin ATM-komponentit (NgATM), telnetd-taustaprosessi ja VINUM-luokka geom.

Lähde: opennet.ru

Lisää kommentti