Izdanje FreeBSD 13.2 s podrškom za Netlink i WireGuard

Nakon 11 mjeseci razvoja, FreeBSD 13.2 je objavljen. Instalacijske slike generiraju se za amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 i riscv64 arhitekture. Dodatno su pripremljeni sklopovi za virtualizacijske sustave (QCOW2, VHD, VMDK, raw) i cloud okruženja Amazon EC2, Google Compute Engine i Vagrant.

Ključne promjene:

  • Implementirana je mogućnost stvaranja snimki UFS i FFS datotečnih sustava s omogućenim zapisom (soft ažuriranja). Dodana je i podrška za pozadinsko spremanje dumpova (pokretanje dump-a s oznakom “-L”) sa sadržajem montiranih UFS datotečnih sustava kada je omogućeno vođenje dnevnika. Jedna od značajki koja nije dostupna pri korištenju zapisivanja je pozadinsko izvršavanje provjera integriteta pomoću uslužnog programa fsck.
  • Osnovni sastav uključuje wg drajver koji radi na razini kernela s implementacijom mrežnog sučelja za VPN WireGuard. Za korištenje kriptografskih algoritama koje zahtijeva upravljački program, API kripto-podsustava jezgre FreeBSD je proširen, kojemu je dodan pojas koji omogućuje korištenje algoritama iz biblioteke libsodium koji nisu podržani u FreeBSD-u putem standardnog kripto-API-ja . Tijekom procesa razvoja također je provedena optimizacija kako bi se ravnomjerno uravnotežilo vezanje zadataka enkripcije i dešifriranja paketa na CPU jezgre, što je smanjilo opterećenje prilikom obrade WireGuard paketa.

    Posljednji pokušaj uključivanja WireGuarda u FreeBSD napravljen je 2020. godine, ali je završio skandalom, zbog čega je već dodani kod uklonjen zbog niske kvalitete, nemarnog rada s međuspremnicima, korištenja stubova umjesto provjera, nepotpune implementacije protokola i kršenje GPL licence. Novu implementaciju zajednički su pripremili glavni razvojni timovi FreeBSD-a i WireGuarda, uz doprinose Jasona A. Donenfelda, autora VPN WireGuarda, i Johna H. Baldwina, renomiranog FreeBSD programera. Potpuni pregled promjena proveden je uz podršku FreeBSD Foundationa prije nego što je novi kod prihvaćen.

  • Implementirana je podrška za komunikacijski protokol Netlink (RFC 3549), koji se koristi u Linuxu za organizaciju interakcije kernela s procesima u korisničkom prostoru. Projekt je ograničen na podršku NETLINK_ROUTE obitelji operacija za upravljanje stanjem mrežnog podsustava u kernelu, što FreeBSD-u omogućuje korištenje uslužnog programa Linux ip iz paketa iproute2 za upravljanje mrežnim sučeljima, postavljanje IP adresa, konfiguriranje usmjeravanja i manipuliranje nexthopom objekti koji pohranjuju podatke o stanju koji se koriste za prijenos paketa do željenog odredišta.
  • Sve izvršne datoteke osnovnog sustava na 64-bitnim platformama imaju prema zadanim postavkama omogućenu Randomizaciju rasporeda adresnog prostora (ASLR). Da biste selektivno onemogućili ASLR, možete koristiti naredbe “proccontrol -m aslr -s disable” ili “elfctl -e +noaslr”.
  • U ipfw-u, radix tablice se koriste za traženje MAC adresa, što vam omogućuje stvaranje tablica s MAC adresama i njihovo korištenje za filtriranje prometa. Na primjer: 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
  • Moduli kernela dpdk_lpm4 i dpdk_lpm6 su dodani i dostupni su za učitavanje putem loader.conf s implementacijom DIR-24-8 algoritma pretraživanja rute za IPv4/IPv6, koji vam omogućuje optimiziranje funkcija usmjeravanja za hostove s vrlo velikim tablicama usmjeravanja ( u testovima je uočeno povećanje brzine od 25 %). Za konfiguriranje modula može se koristiti standardni uslužni program route (dodana je opcija FIB_ALGO).
  • Implementacija ZFS datotečnog sustava je ažurirana za izdanje OpenZFS 2.1.9. Skripta za pokretanje zfskeys omogućuje automatsko učitavanje ključeva pohranjenih u ZFS datotečnom sustavu. Dodana nova RC skripta zpoolreguid za dodjelu GUID-a jednom ili više zpoola (npr. korisno za okruženja virtualizacije dijeljenih podataka).
  • Hipervizor Bhyve i modul vmm podržavaju spajanje više od 15 virtualnih CPU-a na sustav za goste (regulirano putem sysctl hw.vmm.maxcpu). Uslužni program bhyve implementira emulaciju virtio-input uređaja, s kojim možete zamijeniti događaje unosa tipkovnice i miša u sustav za goste.
  • U KTLS-u, implementaciji TLS protokola koji radi na razini FreeBSD kernela, dodana je podrška za hardversko ubrzanje TLS 1.3 rasterećenjem nekih operacija povezanih s obradom šifriranih dolaznih paketa na mrežnu karticu. Prethodno je slična značajka bila dostupna za TLS 1.1 i TLS 1.2.
  • U skripti za pokretanje growfs, prilikom proširenja korijenskog datotečnog sustava, moguće je dodati swap particiju ako je takva particija inicijalno nedostajala (na primjer, korisno kada se instalira gotova slika sustava na SD karticu). Za kontrolu veličine swapa, novi parametar growfs_swap_size dodan je u rc.conf.
  • Skripta za pokretanje hostid osigurava generiranje nasumičnog UUID-a ako datoteka /etc/hostid nedostaje i UUID se ne može dobiti od hardvera. Također je dodana datoteka /etc/machine-id sa kompaktnim prikazom ID-a glavnog računala (bez crtica).
  • Varijable defaultrouter_fibN i ipv6_defaultrouter_fibN dodane su u rc.conf, preko kojih možete dodati zadane rute u FIB tablice osim primarne.
  • Podrška za SHA-512/224 hashove dodana je u libmd biblioteku.
  • Knjižnica pthread pruža podršku za semantiku funkcija koje se koriste u Linuxu.
  • Dodana je podrška za dekodiranje poziva sustava Linux u kdump. Dodana podrška za praćenje sistemskih poziva u stilu Linuxa u kdump i sysdecode.
  • Uslužni program killall sada ima mogućnost slanja signala procesima vezanim za određeni terminal (na primjer, "killall -t pts/1").
  • Dodan uslužni program nproc za prikaz broja računskih blokova dostupnih trenutnom procesu.
  • Podrška za dekodiranje parametara ACS (Access Control Services) dodana je uslužnom programu pciconf.
  • Postavka SPLIT_KERNEL_DEBUG dodana je kernelu, što vam omogućuje spremanje informacija o otklanjanju pogrešaka za kernel i module kernela u zasebnim datotekama.
  • Linux ABI je gotovo dovršen s podrškom za vDSO (virtualni dinamički dijeljeni objekti) mehanizam, koji pruža ograničen skup sistemskih poziva dostupnih u korisničkom prostoru bez prebacivanja konteksta. Linux ABI na ARM64 sustavima je doveden u paritet s implementacijom za AMD64 arhitekturu.
  • Poboljšana hardverska podrška. Dodana podrška za praćenje performansi (hwpmc) za procesore Intel Alder Lake. Iwlwifi upravljački program za Intelove bežične kartice ažuriran je s podrškom za nove čipove i standard 802.11ac. Dodan rtw88 driver za Realtek bežične kartice s PCI sučeljem. Mogućnosti sloja linuxkpi proširene su za korištenje s upravljačkim programima za Linux u FreeBSD-u.
  • OpenSSL biblioteka ažurirana je na verziju 1.1.1t, LLVM/Slang na verziju 14.0.5, a SSH poslužitelj i klijent ažurirani su na OpenSSH 9.2p1 (prethodna verzija koristila je OpenSSH 8.8p1). Također ažurirane su verzije bc 6.2.4, expat 2.5.0, file 5.43, manje 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13.

Osim toga, najavljeno je da će, počevši od ogranka FreeBSD 14.0, jednokratne lozinke OPIE, upravljački programi ce i cp, upravljački programi za ISA kartice, uslužni programi mergemaster i minigzip, ATM komponente u netgraphu (NgATM), pozadinski proces telnetd i VINUM klasa u geom.

Izvor: opennet.ru

Dodajte komentar