Keluaran FreeBSD 13.2 dengan sokongan Netlink dan WireGuard

Selepas 11 bulan pembangunan, FreeBSD 13.2 telah dikeluarkan. Imej pemasangan dijana untuk seni bina amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 dan riscv64. Selain itu, pemasangan telah disediakan untuk sistem virtualisasi (QCOW2, VHD, VMDK, mentah) dan persekitaran awan Amazon EC2, Google Compute Engine dan Vagrant.

Perubahan utama:

  • Keupayaan untuk mencipta syot kilat sistem fail UFS dan FFS dengan pengelogan didayakan (kemas kini lembut) telah dilaksanakan. Juga menambah sokongan untuk penjimatan latar belakang tempat pembuangan (menjalankan pembuangan dengan bendera "-L") dengan kandungan sistem fail UFS yang dipasang apabila penjurnalan didayakan. Salah satu ciri yang tidak tersedia apabila menggunakan pengelogan ialah pelaksanaan latar belakang semakan integriti menggunakan utiliti fsck.
  • Komposisi asas termasuk pemacu wg yang beroperasi pada peringkat kernel dengan pelaksanaan antara muka rangkaian untuk VPN WireGuard. Untuk menggunakan algoritma kriptografi yang diperlukan oleh pemacu, API subsistem kripto kernel FreeBSD telah dilanjutkan, yang mana abah-abah telah ditambahkan yang membolehkan penggunaan algoritma daripada perpustakaan lisodium yang tidak disokong dalam FreeBSD melalui kripto-API standard . Semasa proses pembangunan, pengoptimuman juga dijalankan untuk mengimbangi pengikatan penyulitan paket dan tugas penyahsulitan ke teras CPU, yang mengurangkan overhed apabila memproses paket WireGuard.

    Percubaan terakhir untuk memasukkan WireGuard dalam FreeBSD telah dibuat pada tahun 2020, tetapi berakhir dengan skandal, akibatnya kod yang telah ditambahkan telah dialih keluar kerana kualiti rendah, kerja cuai dengan penimbal, penggunaan stub dan bukannya semakan, pelaksanaan yang tidak lengkap protokol dan pelanggaran lesen GPL. Pelaksanaan baharu itu disediakan bersama oleh pasukan pembangunan teras FreeBSD dan WireGuard, dengan sumbangan daripada Jason A. Donenfeld, pengarang VPN WireGuard dan John H. Baldwin, pembangun FreeBSD yang terkenal. Semakan penuh perubahan telah dijalankan dengan sokongan Yayasan FreeBSD sebelum kod baharu itu diterima.

  • Sokongan untuk protokol komunikasi Netlink (RFC 3549), yang digunakan dalam Linux untuk mengatur interaksi kernel dengan proses dalam ruang pengguna, telah dilaksanakan. Projek ini terhad kepada menyokong keluarga operasi NETLINK_ROUTE untuk mengurus keadaan subsistem rangkaian dalam kernel, yang membolehkan FreeBSD menggunakan utiliti ip Linux daripada pakej iproute2 untuk mengurus antara muka rangkaian, menetapkan alamat IP, mengkonfigurasi penghalaan dan memanipulasi nexthop objek yang menyimpan data keadaan yang digunakan untuk menghantar paket ke destinasi yang dikehendaki.
  • Semua boleh laku sistem asas pada platform 64-bit mempunyai Rawak Susun Atur Ruang Alamat (ASLR) didayakan secara lalai. Untuk melumpuhkan ASLR secara terpilih, anda boleh menggunakan arahan "proccontrol -m aslr -s disable" atau "elfctl -e +noaslr".
  • Dalam ipfw, jadual radix digunakan untuk mencari alamat MAC, yang membolehkan anda membuat jadual dengan alamat MAC dan menggunakannya untuk menapis trafik. Sebagai contoh: ipfw jadual 1 cipta jenis mac ipfw jadual 1 tambah 11:22:33:44:55:66/48 ipfw tambah skipto tablearg src-mac 'jadual(1)' ipfw tambah menafikan src-mac 'jadual(1, 100 )' ipfw add deny lookup dst-mac 1
  • Modul kernel dpdk_lpm4 dan dpdk_lpm6 telah ditambah dan tersedia untuk dimuatkan melalui loader.conf dengan pelaksanaan algoritma carian laluan DIR-24-8 untuk IPv4/IPv6, yang membolehkan anda mengoptimumkan fungsi penghalaan untuk hos dengan jadual penghalaan yang sangat besar ( dalam ujian, peningkatan kelajuan sebanyak 25 diperhatikan %). Untuk mengkonfigurasi modul, utiliti laluan standard boleh digunakan (pilihan FIB_ALGO telah ditambah).
  • Pelaksanaan sistem fail ZFS telah dikemas kini untuk mengeluarkan OpenZFS 2.1.9. Skrip permulaan zfskeys menyediakan pemuatan automatik kunci yang disimpan dalam sistem fail ZFS. Menambahkan skrip RC baharu zpoolreguid untuk menetapkan GUID kepada satu atau lebih zpool (cthnya berguna untuk persekitaran virtualisasi data kongsi).
  • Hipervisor Bhyve dan modul vmm menyokong melampirkan lebih daripada 15 CPU maya pada sistem tetamu (dikawal melalui sysctl hw.vmm.maxcpu). Utiliti bhyve melaksanakan emulasi peranti virtio-input, yang dengannya anda boleh menggantikan acara input papan kekunci dan tetikus ke dalam sistem tetamu.
  • Dalam KTLS, pelaksanaan protokol TLS yang dijalankan pada peringkat kernel FreeBSD, sokongan untuk pecutan perkakasan TLS 1.3 telah ditambah dengan memunggah beberapa operasi yang berkaitan dengan memproses paket masuk yang disulitkan ke kad rangkaian. Sebelum ini, ciri serupa tersedia untuk TLS 1.1 dan TLS 1.2.
  • Dalam skrip permulaan growfs, apabila mengembangkan sistem fail akar, adalah mungkin untuk menambah partition swap jika partition tersebut pada mulanya hilang (contohnya, berguna apabila memasang imej sistem siap sedia pada kad SD). Untuk mengawal saiz swap, parameter baharu growfs_swap_size telah ditambahkan pada rc.conf.
  • Skrip permulaan hos memastikan UUID rawak dijana jika fail /etc/hostid tiada dan UUID tidak boleh diperoleh daripada perkakasan. Juga menambah fail /etc/machine-id dengan perwakilan padat ID hos (tiada tanda sempang).
  • Pembolehubah defaultrouter_fibN dan ipv6_defaultrouter_fibN telah ditambahkan pada rc.conf, yang melaluinya anda boleh menambah laluan lalai pada jadual FIB selain daripada yang utama.
  • Sokongan untuk cincang SHA-512/224 telah ditambahkan pada pustaka libmd.
  • Pustaka pthread menyediakan sokongan untuk semantik fungsi yang digunakan dalam Linux.
  • Menambah sokongan untuk menyahkod panggilan sistem Linux ke kdump. Menambahkan sokongan untuk pengesanan panggilan sistem gaya Linux kepada kdump dan sysdecode.
  • Utiliti killall kini mempunyai keupayaan untuk menghantar isyarat kepada proses yang terikat pada terminal tertentu (contohnya, "killall -t pts/1").
  • Menambah utiliti nproc untuk memaparkan bilangan blok pengiraan yang tersedia untuk proses semasa.
  • Sokongan untuk penyahkodan parameter ACS (Perkhidmatan Kawalan Akses) telah ditambahkan pada utiliti pciconf.
  • Tetapan SPLIT_KERNEL_DEBUG telah ditambahkan pada kernel, yang membolehkan anda menyimpan maklumat penyahpepijatan untuk modul kernel dan kernel dalam fail berasingan.
  • ABI Linux hampir lengkap dengan sokongan untuk mekanisme vDSO (objek kongsi dinamik maya), yang menyediakan set panggilan sistem terhad yang tersedia dalam ruang pengguna tanpa penukaran konteks. ABI Linux pada sistem ARM64 telah diselaraskan dengan pelaksanaan untuk seni bina AMD64.
  • Sokongan perkakasan yang dipertingkatkan. Menambahkan sokongan pemantauan prestasi (hwpmc) untuk CPU Intel Alder Lake. Pemacu iwlwifi untuk kad wayarles Intel telah dikemas kini dengan sokongan untuk cip baharu dan standard 802.11ac. Menambah pemacu rtw88 untuk kad wayarles Realtek dengan antara muka PCI. Keupayaan lapisan linuxkpi telah diperluaskan untuk digunakan dengan pemacu Linux dalam FreeBSD.
  • Pustaka OpenSSL telah dikemas kini kepada versi 1.1.1t, LLVM/Π‘lang kepada versi 14.0.5 dan pelayan dan klien SSH telah dikemas kini kepada OpenSSH 9.2p1 (versi sebelumnya menggunakan OpenSSH 8.8p1). Juga dikemas kini ialah versi bc 6.2.4, expat 2.5.0, fail 5.43, less 608, liarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13.

Selain itu, telah diumumkan bahawa, bermula dengan cawangan FreeBSD 14.0, kata laluan sekali OPIE, pemacu ce dan cp, pemacu untuk kad ISA, utiliti mergemaster dan minigzip, komponen ATM dalam netgraph (NgATM), proses latar belakang telnetd dan Kelas VINUM dalam geom.

Sumber: opennet.ru

Tambah komen