Versió de FreeBSD 13.2 amb suport Netlink i WireGuard

Després d'11 mesos de desenvolupament, FreeBSD 13.2 ha estat llançat. Les imatges d'instal·lació es generen per a les arquitectures amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 i riscv64. A més, s'han preparat conjunts per a sistemes de virtualització (QCOW2, VHD, VMDK, raw) i entorns de núvol Amazon EC2, Google Compute Engine i Vagrant.

Canvis clau:

  • S'ha implementat la possibilitat de crear instantànies dels sistemes de fitxers UFS i FFS amb el registre habilitat (actualitzacions suaus). També s'ha afegit suport per a l'emmagatzematge en segon pla dels abocaments (execució de l'abocament amb el senyalador "-L") amb el contingut dels sistemes de fitxers UFS muntats quan el registre està habilitat. Una de les característiques que no està disponible quan s'utilitza el registre és l'execució en segon pla de comprovacions d'integritat mitjançant la utilitat fsck.
  • La composició bàsica inclou un controlador wg que funciona a nivell del nucli amb la implementació d'una interfície de xarxa per a VPN WireGuard. Per utilitzar els algorismes criptogràfics requerits pel controlador, es va ampliar l'API del subsistema criptogràfic del nucli de FreeBSD, al qual es va afegir un arnès que permet l'ús d'algoritmes de la biblioteca libsodium que no són compatibles a FreeBSD mitjançant la cripto-API estàndard. . Durant el procés de desenvolupament, també es va realitzar l'optimització per equilibrar uniformement la vinculació de les tasques de xifratge i desxifrat de paquets als nuclis de la CPU, la qual cosa va reduir la sobrecàrrega en processar paquets WireGuard.

    L'últim intent d'incloure WireGuard a FreeBSD es va fer l'any 2020, però va acabar en un escàndol, com a resultat del qual es va eliminar el codi ja afegit a causa del treball descuidado i de baixa qualitat amb els buffers, l'ús de talons en comptes de comprovacions, una implementació incompleta. del protocol i violació de la llicència GPL. La nova implementació va ser preparada conjuntament pels equips bàsics de desenvolupament de FreeBSD i WireGuard, amb contribucions de Jason A. Donenfeld, autor de VPN WireGuard, i John H. Baldwin, un reconegut desenvolupador de FreeBSD. Es va fer una revisió completa dels canvis amb el suport de la Fundació FreeBSD abans que el nou codi fos acceptat.

  • S'ha implementat el suport del protocol de comunicació Netlink (RFC 3549), utilitzat a Linux per organitzar la interacció del nucli amb els processos de l'espai d'usuari. El projecte es limita a donar suport a la família d'operacions NETLINK_ROUTE per gestionar l'estat del subsistema de xarxa al nucli, que permet a FreeBSD utilitzar la utilitat IP Linux del paquet iproute2 per gestionar les interfícies de xarxa, establir adreces IP, configurar l'encaminament i manipular nexthop. objectes que emmagatzemen dades d'estat utilitzades per transmetre el paquet a la destinació desitjada.
  • Tots els executables del sistema base a les plataformes de 64 bits tenen l'aleatori de disseny de l'espai d'adreces (ASLR) habilitat de manera predeterminada. Per desactivar selectivament l'ASLR, podeu utilitzar les ordres "proccontrol -m aslr -s disable" o "elfctl -e +noaslr".
  • A ipfw, les taules radix s'utilitzen per buscar adreces MAC, la qual cosa us permet crear taules amb adreces MAC i utilitzar-les per filtrar el trànsit. Per exemple: ipfw table 1 create type mac ipfw table 1 add 11:22:33:44:55:66/48 ipfw add skipto tablearg src-mac 'taula(1)' ipfw add deny src-mac 'taula(1, 100 )' ipfw add deny lookup dst-mac 1
  • Els mòduls del nucli dpdk_lpm4 i dpdk_lpm6 s'han afegit i estan disponibles per carregar a través de loader.conf amb la implementació de l'algoritme de cerca de rutes DIR-24-8 per a IPv4/IPv6, que permet optimitzar les funcions d'encaminament per a hosts amb taules d'encaminament molt grans ( a les proves, s'observa un augment de velocitat del 25 %). Per configurar mòduls, es pot utilitzar la utilitat de ruta estàndard (s'ha afegit l'opció FIB_ALGO).
  • La implementació del sistema de fitxers ZFS s'ha actualitzat per llançar OpenZFS 2.1.9. L'script d'inici de zfskeys proporciona la càrrega automàtica de les claus emmagatzemades al sistema de fitxers ZFS. S'ha afegit un nou script RC zpoolreguid per assignar un GUID a un o més zpools (p. ex. útil per a entorns de virtualització de dades compartides).
  • L'hipervisor Bhyve i el mòdul vmm admeten connectar més de 15 CPU virtuals al sistema convidat (regulat mitjançant sysctl hw.vmm.maxcpu). La utilitat bhyve implementa l'emulació del dispositiu d'entrada virtio, amb la qual podeu substituir els esdeveniments d'entrada del teclat i el ratolí al sistema convidat.
  • A KTLS, una implementació del protocol TLS que s'executa al nivell del nucli de FreeBSD, s'ha afegit suport per a l'acceleració de maquinari de TLS 1.3 mitjançant la descàrrega d'algunes operacions relacionades amb el processament de paquets entrants xifrats a la targeta de xarxa. Anteriorment, una funció similar estava disponible per a TLS 1.1 i TLS 1.2.
  • A l'script d'inici de growfs, quan s'amplia el sistema de fitxers arrel, és possible afegir una partició d'intercanvi si inicialment faltava aquesta partició (per exemple, útil quan s'instal·la una imatge del sistema preparada en una targeta SD). Per controlar la mida de l'intercanvi, s'ha afegit un nou paràmetre growfs_swap_size a rc.conf.
  • L'script d'inici de l'hostid garanteix que es genera un UUID aleatori si falta el fitxer /etc/hostid i no es pot obtenir l'UUID del maquinari. També s'ha afegit un fitxer /etc/machine-id amb una representació compacta de l'ID de l'amfitrió (sense guions).
  • Les variables defaultrouter_fibN i ipv6_defaultrouter_fibN s'han afegit a rc.conf, mitjançant les quals podeu afegir rutes per defecte a taules FIB diferents de la primària.
  • S'ha afegit suport per als hash SHA-512/224 a la biblioteca libmd.
  • La biblioteca pthread proporciona suport per a la semàntica de les funcions utilitzades a Linux.
  • S'ha afegit suport per descodificar les trucades del sistema Linux a kdump. S'ha afegit suport per al seguiment de trucades del sistema d'estil Linux a kdump i sysdecode.
  • La utilitat killall ara té la capacitat d'enviar un senyal als processos vinculats a un terminal específic (per exemple, "killall -t pts/1").
  • S'ha afegit la utilitat nproc per mostrar el nombre de blocs computacionals disponibles per al procés actual.
  • S'ha afegit suport per a la descodificació de paràmetres ACS (Serveis de control d'accés) a la utilitat pcconf.
  • S'ha afegit la configuració SPLIT_KERNEL_DEBUG al nucli, que us permet desar la informació de depuració del nucli i els mòduls del nucli en fitxers separats.
  • L'ABI de Linux està gairebé complet amb suport per al mecanisme vDSO (objectes dinàmics compartits virtuals), que proporciona un conjunt limitat de trucades al sistema disponibles a l'espai d'usuari sense canvi de context. L'ABI de Linux als sistemes ARM64 s'ha portat a la paritat amb la implementació de l'arquitectura AMD64.
  • Suport de maquinari millorat. S'ha afegit suport de monitorització del rendiment (hwpmc) per a les CPU Intel Alder Lake. El controlador iwlwifi per a les targetes sense fil Intel s'ha actualitzat amb suport per a nous xips i l'estàndard 802.11ac. S'ha afegit el controlador rtw88 per a targetes sense fil Realtek amb interfície PCI. Les capacitats de la capa linuxkpi s'han ampliat per utilitzar-les amb controladors Linux a FreeBSD.
  • La biblioteca OpenSSL s'ha actualitzat a la versió 1.1.1t, LLVM/Сlang a la versió 14.0.5, i el servidor i el client SSH s'han actualitzat a OpenSSH 9.2p1 (la versió anterior utilitzava OpenSSH 8.8p1). També s'actualitzen les versions bc 6.2.4, expat 2.5.0, fitxer 5.43, menys 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13.

A més, s'ha anunciat que, a partir de la branca FreeBSD 14.0, les contrasenyes d'un sol ús OPIE, els controladors ce i cp, els controladors per a targetes ISA, les utilitats mergemaster i minigzip, els components ATM a netgraph (NgATM), el procés de fons de telnetd i el Classe VINUM en geom.

Font: opennet.ru

Afegeix comentari