Rilis FreeBSD 13.2 kanthi dhukungan Netlink lan WireGuard

Sawise 11 wulan pembangunan, FreeBSD 13.2 wis dirilis. Gambar instalasi digawe kanggo arsitektur amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64, lan riscv64. Kajaba iku, bangunan wis disiapake kanggo sistem virtualisasi (QCOW2, VHD, VMDK, mentah) lan Amazon EC2, Google Compute Engine lan lingkungan awan Vagrant.

Owah-owahan utama:

  • Dileksanakake kemampuan kanggo nggawe jepretan saka sistem file UFS lan FFS kanthi logging aktif (nganyari alus). Uga nambahake dhukungan kanggo nyimpen dumps ing latar mburi (mlaku dump kanthi bendera "-L") kanthi isi sistem file UFS sing dipasang kanthi jurnal aktif. Saka fitur sing ora kasedhiya nalika nggunakake jurnal, ana mriksa integritas latar mburi nggunakake sarana fsck.
  • Driver wg sing digunakake ing tingkat kernel kanthi implementasi antarmuka jaringan kanggo VPN WireGuard wis diadopsi minangka bagean utama. Kanggo nggunakake algoritma kriptografi sing dibutuhake dening driver, API subsistem crypto kernel FreeBSD ditambahake, sing ditambahake ikatan sing ngidini nggunakake algoritma saka perpustakaan libsodium sing ora didhukung ing FreeBSD liwat API crypto standar. Sajrone proses pangembangan, optimasi uga ditindakake kanggo ngimbangi tugas enkripsi lan dekripsi menyang inti CPU, sing nyuda biaya overhead nalika ngolah paket WireGuard.

    Upaya pungkasan kanggo nyakup WireGuard ing FreeBSD digawe ing taun 2020, nanging rampung ing skandal, amarga kode sing wis ditambahake wis dibusak amarga kualitas kurang, penanganan buffer sing ora ati-ati, nggunakake stub tinimbang mriksa, implementasine protokol sing ora lengkap. lan nglanggar lisensi GPL. A implementasine anyar bebarengan disiapake dening inti FreeBSD lan tim pangembangan WireGuard karo input saka Jason A. Donenfeld, penulis VPN WireGuard, lan John H. Baldwin, pangembang FreeBSD kesuwur. Tinjauan lengkap babagan owah-owahan ditindakake kanthi dhukungan saka FreeBSD Foundation sadurunge kode anyar ditampa.

  • Ndhukung dhukungan kanggo protokol komunikasi Netlink (RFC 3549), sing digunakake ing Linux kanggo ngatur interaksi antarane kernel lan proses ing ruang pangguna. Proyèk iki diwatesi kanggo ndhukung kulawarga operasi NETLINK_ROUTE kanggo ngatur kahanan subsistem jaringan ing kernel, sing ngidini FreeBSD nggunakake sarana ip Linux saka paket iproute2 kanggo ngatur antarmuka jaringan, nyetel alamat IP, ngatur rute, lan ngapusi. obyek nexthop sing nyimpen data negara sing digunakake kanggo nerusake paket menyang panggonan sing dikarepake.
  • Kabeh eksekusi sistem basis ing platform 64-bit duwe Address Space Layout Randomization (ASLR) kanthi gawan. Kanggo mateni ASLR kanthi selektif, sampeyan bisa nggunakake printah "proccontrol -ma aslr -s disable" utawa "elfctl -e +noaslr".
  • ipfw nggunakake tabel Radix kanggo nggoleki alamat MAC, sing ngidini sampeyan nggawe tabel kanthi alamat MAC lan digunakake kanggo nyaring lalu lintas. Contone: ipfw tabel 1 nggawe jinis mac ipfw tabel 1 nambah 11:22:33:44:55:66/48 ipfw nambah skipto tablearg src-mac 'tabel (1)' ipfw nambah nolak src-mac 'tabel (1, 100)' ipfw nambah deny lookup dst-mac 1
  • Ditambahake lan kasedhiya kanggo dimuat liwat loader.conf yaiku modul kernel dpdk_lpm4 lan dpdk_lpm6 kanthi implementasi algoritma telusuran rute DIR-24-8 kanggo IPv4 / IPv6, sing ngidini sampeyan ngoptimalake fungsi rute kanggo host kanthi tabel rute sing gedhe banget (tes nuduhake Tambah kacepetan 25 %). Utilitas rute standar bisa digunakake kanggo ngatur modul (pilihan FIB_ALGO wis ditambahake).
  • Implementasi sistem file ZFS wis dianyari kanggo release saka OpenZFS 2.1.9. Skrip wiwitan zfskeys nyedhiyakake loading otomatis tombol sing disimpen ing sistem file ZFS. Nambahake zpoolreguid script RC anyar kanggo nemtokake GUID kanggo siji utawa luwih zpools (migunani kanggo lingkungan virtualisasi data sambungan, contone,).
  • Hypervisor Bhyve lan modul vmm ndhukung masang luwih saka 15 CPU virtual kanggo sistem tamu (luwes liwat sysctl hw.vmm.maxcpu). Utilitas bhyve ngetrapake emulasi piranti virtio-input, sing bisa digunakake kanggo ngganti acara input keyboard lan mouse menyang sistem tamu.
  • KTLS, implementasi protokol TLS sing mlaku ing tingkat kernel FreeBSD, wis nambahake dhukungan kanggo akselerasi hardware TLS 1.3 kanthi ngilangi sawetara operasi sing ana gandhengane karo ngolah paket mlebu sing dienkripsi ing pundhak kertu jaringan. Sadurunge, fitur iki kasedhiya kanggo TLS 1.1 lan TLS 1.2.
  • Ing script wiwitan growfs, nalika ngembangaken ROOT FS, mesthekake yen pemisahan swap ditambahake yen pemisahan kuwi ora Originally saiki (contone, migunani nalika nginstal gambar sistem siap-digawe ing kertu SD). Opsi anyar, growfs_swap_size, wis ditambahake menyang rc.conf kanggo ngontrol ukuran swap.
  • Skrip wiwitan host mesthekake yen UUID acak digawe yen file / etc / hostid ilang lan UUID ora bisa dipikolehi saka hardware. Uga ditambahake /etc/machine-id file kanthi perwakilan kompak saka id host (ora ana garis-garis).
  • Variabel defaultrouter_fibN lan ipv6_defaultrouter_fibN wis ditambahake menyang rc.conf, ing ngendi sampeyan bisa nambah rute standar menyang tabel FIB saliyane sing utami.
  • Dhukungan kanggo hash SHA-512/224 wis ditambahake menyang perpustakaan libmd.
  • Pustaka pthread ngetrapake dhukungan kanggo semantik fungsi sing digunakake ing Linux.
  • Dhukungan kanggo dekoding telpon sistem Linux wis ditambahake menyang kdump. Dhukungan kanggo tracing syscall gaya Linux wis ditambahake menyang kdump lan sysdecode.
  • Utilitas killall saiki nduweni kemampuan kanggo ngirim sinyal menyang proses sing disambungake menyang terminal tartamtu (contone, "killall -t pts/1").
  • Nambahake sarana nproc kanggo nampilake jumlah unit komputasi sing kasedhiya kanggo proses saiki.
  • Dhukungan kanggo dekoding paramèter ACS (Access Control Services) wis ditambahake menyang sarana pciconf.
  • Setelan SPLIT_KERNEL_DEBUG wis ditambahake menyang kernel, sing ngidini nyimpen informasi debugging kanggo modul kernel lan kernel menyang file sing kapisah.
  • ABI linux meh lengkap kanthi dhukungan kanggo mekanisme vDSO (virtual dynamic shared objects), sing nyedhiyakake set panggilan sistem sing winates sing kasedhiya ing ruang pangguna tanpa ngoper konteks. ABI linux ing sistem ARM64 wis digawa menyang paritas karo implementasine kanggo arsitektur AMD64.
  • Dhukungan hardware sing luwih apik. Dhukungan ngawasi kinerja (hwpmc) ditambahake kanggo CPU Intel Alder Lake. Pembalap iwlwifi sing dianyari kanggo kertu nirkabel Intel kanthi dhukungan kanggo chip anyar lan standar 802.11ac. Added driver rtw88 kanggo kertu nirkabel Realtek PCI. Ngluwihi lapisan linuxkpi kanggo digunakake karo driver Linux FreeBSD.
  • Pustaka OpenSSL wis dianyari kanggo versi 1.1.1t, LLVM/Сlang wis dianyari kanggo versi 14.0.5, lan server SSH lan klien wis dianyari OpenSSH 9.2p1 (versi sadurungé digunakake OpenSSH 8.8p1). Uga dianyari bc 6.2.4, expat 2.5.0, file 5.43, kurang 608, liarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13.

Kajaba iku, wis ora digunakake lan dibusak wiwit cabang FreeBSD 14.0 kanggo OPIE sandhi siji-wektu, driver ce lan cp, driver kertu ISA, mergemaster lan minigzip keperluan, komponen ATM ing netgraph (NgATM), proses latar mburi telnetd, lan VINUM kelas ing geom.

Source: opennet.ru

Add a comment