Uitgave van FreeBSD 13.2 met ondersteuning voor Netlink en WireGuard

Na 11 maanden ontwikkeling is de release van FreeBSD 13.2 gepubliceerd. Installatie-ima's zijn opgesteld voor de architecturen amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 en riscv64. Daarnaast zijn er builds voorbereid voor virtualisatiesystemen (QCOW2, VHD, VMDK, raw) en cloudomgevingen zoals Amazon EC2, Google Compute Engine en Vagrant.

Belangrijkste wijzigingen:

  • De mogelijkheid om snapshots van UFS- en FFS-bestandssystemen te maken, waarop journaling is ingeschakeld (soft updates), is gerealiseerd. Ook is de ondersteuning voor achtergrondopslag van dumps (dump uitgevoerd met de vlag "-L") toegevoegd, met inhoud van aangekoppelde UFS-bestandssystemen wanneer journaling is ingeschakeld. Van de functies die niet beschikbaar zijn bij het gebruik van journaling, blijft alleen de achtergronduitvoering van integriteitscontrole met de fsck-tool over.
  • In de kern is de functie voor de kernel-driver wg aangenomen met de implementatie van de netwerkinterface voor VPN WireGuard. Voor het gebruik van de benodigde cryptografische algoritmen voor de driver werd de API van de cryptosubsystem van de FreeBSD-kernel uitgebreid, waarin een wrapper werd toegevoegd die het mogelijk maakte om via de standaard crypto-API algoritmen uit de libsodium-bibliotheek, die niet door FreeBSD worden ondersteund, te gebruiken. Tijdens de ontwikkeling is er ook optimalisatie uitgevoerd voor een evenwichtige balans van taakbinding voor het versleutelen en ontsleutelen van pakketten naar CPU-kernen, wat de overhead bij het verwerken van WireGuard-pakketten heeft verminderd.

    De vorige poging om WireGuard in FreeBSD op te nemen, vond plaats in 2020, maar eindigde in een schandaal waarbij de al toegevoegde code werd verwijderd vanwege lage kwaliteit, slordig werk met buffers, het gebruik van tijdelijke oplossingen in plaats van controles, onvolledige implementatie van het protocol en schending van de GPL-licentie. De nieuwe implementatie is gezamenlijk voorbereid door de belangrijkste ontwikkelteams van FreeBSD en WireGuard, met deelname van Jason Donenfeld, de auteur van de VPN WireGuard, en John Baldwin, een bekende ontwikkelaar van FreeBSD. Voor de acceptatie van de nieuwe code vond, met ondersteuning van de FreeBSD Foundation, een volledige review van de wijzigingen plaats.

  • Ondersteuning voor het communicatieprotocol Netlink (RFC 3549) is gerealiseerd, dat in Linux wordt gebruikt voor de interactie tussen de kernel en processen in de gebruikersruimte. Het project beperkt zich tot ondersteuning van de NETLINK_ROUTE-familie van bewerkingen voor het beheren van de status van de netwerkondersteuning in de kernel, wat het mogelijk maakt om de Linux-tool ip van het iproute2-pakket te gebruiken voor het beheren van netwerkinterfaces, het configureren IP-adressen, het instellen van routering en het manipuleren van nexthop-objecten die gegevens over de status bevatten, gebruikt voor het verzenden van pakketten naar de gewenste bestemming.
  • Voor alle uitvoerbare bestanden van het basissysteem op 64-bits platformen is standaard adresruimtelyning (ASLR, Address Space Layout Randomization) ingeschakeld. Voor het selectief uitschakelen van ASLR kunnen de commando's "proccontrol -m aslr -s disable" of "elfctl -e +noaslr" worden gebruikt.
  • In ipfw worden basis-tabellen (Radix table) gebruikt om MAC-adressen te zoeken, wat het mogelijk maakt om tabellen met MAC-adressen te creĆ«ren en deze te gebruiken voor het filteren van verkeer. Bijvoorbeeld: ipfw table 1 create type mac ipfw table 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
  • De kernelmodules dpdk_lpm4 en dpdk_lpm6 zijn toegevoegd en kunnen worden gedownload via loader.conf, met de implementatie van het DIR-24-8 routezoekalgoritme voor IPv4/IPv6, dat de routeringsfuncties voor hosts met zeer grote routeringtabel optimaliseert (tests tonen een snelheidstoename van ongeveer 25% aan). De standaardtool route kan worden gebruikt voor het configureren van de modules (de optie FIB_ALGO is toegevoegd).
  • De implementatie van het bestandssysteem ZFS is bijgewerkt naar de release OpenZFS 2.1.9. In het startscript zfskeys is automatische laden van sleutels, opgeslagen in het ZFS-bestandssysteem, mogelijk gemaakt. Er is een nieuw RC-script zpoolreguid toegevoegd voor het toewijzen van een GUID aan een of meer zpools (bijvoorbeeld nuttig voor virtualisatie omgevingen met gedeelde gegevens).
  • In de hypervisor Bhyve en de module vmm is ondersteuning geĆÆmplementeerd voor het aanhechten van meer dan 15 virtuele CPU's aan het gastbesturingssysteem (geregeld via sysctl hw.vmm.maxcpu). In de bhyve-tool is emulatie van het virtio-inputapparaat geĆÆmplementeerd, waarmee invoerevenementen van het toetsenbord en de muis naar het gastbesturingssysteem kunnen worden doorgestuurd.
  • In KTLS, the TLS protocol implementation running at the FreeBSD kernel level, support for hardware acceleration of TLS 1.3 has been added by offloading some operations related to processing encrypted incoming packets to the network card. Previously, such capability was available for TLS 1.1 and TLS 1.2.
  • In the growfs startup script, when expanding the root FS, the addition of a swap partition is ensured if such a partition was initially absent (for example, useful when installing a ready system image on an SD card). A new parameter growfs_swap_size has been added to rc.conf for managing the size of the swap space.
  • In the hostid startup script, a random UUID is generated in case the /etc/hostid file is absent and the UUID cannot be obtained from the hardware. A file /etc/machine-id has also been added with a compact representation of the host identifier (without dashes).
  • In rc.conf, the variables defaultrouter_fibN and ipv6_defaultrouter_fibN have been added through which default routes can be added to FIB tables different from the primary one.
  • Support for SHA-512/224 hashes has been added to the libmd library.
  • Support for semantics of functions used in Linux has been implemented in the pthread library.
  • Support for decoding Linux system calls has been added to kdump. Support for tracing Linux-style system calls has been added in kdump and sysdecode.
  • The killall utility now has the capability to send signals to processes attached to a specific terminal (for example, 'killall -t pts/1').
  • A new utility nproc has been added to display the number of computational blocks available to the current process.
  • Support for decoding ACS (Access Control Services) parameters has been added to the pciconf utility.
  • The configuration SPLIT_KERNEL_DEBUG has been added to the kernel, allowing the saving of debugging information for the kernel and kernel modules into separate files.
  • Support for the vDSO (virtual dynamic shared objects) mechanism, providing a limited set of system calls available in user space without context switching, is almost complete in the Linux ABI. The Linux ABI on ARM64 systems has been brought to parity with the implementation for the AMD64 architecture.
  • Verbeterde hardwareondersteuning. Ondersteuning voor prestatiemonitoring (hwpmc) voor Intel Alder Lake CPU's toegevoegd. De iwlwifi-driver is bijgewerkt voor Intel draadloze adapters met ondersteuning voor nieuwe chips en de 802.11ac standaard. De rtw88-driver is toegevoegd voor Realtek draadloze adapters met PCI-interface. De mogelijkheden van de linuxkpi-laag zijn uitgebreid voor gebruik met Linux-drivers in FreeBSD.
  • De OpenSSL-bibliotheek is bijgewerkt naar versie 1.1.1t, LLVM/Clang naar versie 14.0.5 en de SSH-server en -client zijn bijgewerkt naar OpenSSH 9.2p1 (de vorige versie gebruikte OpenSSH 8.8p1). Ook zijn de versies van bc 6.2.4, expat 2.5.0, file 5.43, less 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13 vernieuwd.

Daarnaast is aangekondigd dat een aantal elementen verouderd en verwijderd zullen worden vanaf de FreeBSD 14.0 tak, waaronder eenmalige OPIE-wachtwoorden, de drivers ce en cp, drivers voor ISA-interfacekaarten, de utilities mergemaster en minigzip, ATM-componenten in netgraph (NgATM), de achtergrondservice telnetd en de klasse VINUM in geom.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster