Paglabas ng FreeBSD 13.2 na may suporta sa Netlink at WireGuard

Pagkatapos ng 11 buwan ng pag-unlad, ang FreeBSD 13.2 ay inilabas. Binubuo ang mga larawan sa pag-install para sa mga arkitekturang amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64, at riscv64. Bukod pa rito, inihanda ang mga build para sa mga virtualization system (QCOW2, VHD, VMDK, raw) at Amazon EC2, Google Compute Engine at Vagrant cloud environment.

Mga pangunahing pagbabago:

  • Ipinatupad ang kakayahang lumikha ng mga snapshot ng UFS at FFS file system na may pinaganang pag-log (mga soft update). Nagdagdag din ng suporta para sa pag-save ng mga dump sa background (running dump na may flag na "-L") na may mga nilalaman ng mga naka-mount na UFS file system na may naka-enable na journaling. Sa mga feature na hindi available kapag gumagamit ng journaling, mayroong background integrity check gamit ang fsck utility.
  • Ang driver ng wg na nagtatrabaho sa antas ng kernel kasama ang pagpapatupad ng interface ng network para sa VPN WireGuard ay pinagtibay bilang pangunahing bahagi. Upang magamit ang mga cryptographic algorithm na kinakailangan ng driver, pinalawig ang FreeBSD kernel crypto subsystem API, kung saan idinagdag ang isang binding na nagpapahintulot sa paggamit ng mga algorithm mula sa library ng libsodium na hindi suportado sa FreeBSD sa pamamagitan ng karaniwang crypto API. Sa panahon ng proseso ng pag-develop, isinagawa din ang mga pag-optimize upang pantay na balansehin ang pagtatalaga ng mga gawain sa pag-encrypt at pag-decryption sa mga core ng CPU, na nagbawas sa overhead ng pagproseso ng mga WireGuard packet.

    Ang huling pagtatangka na isama ang WireGuard sa FreeBSD ay ginawa noong 2020, ngunit natapos sa isang iskandalo, bilang isang resulta kung saan ang naidagdag na code ay inalis dahil sa mababang kalidad, walang ingat na paghawak ng buffer, paggamit ng mga stub sa halip na mga pagsusuri, hindi kumpletong pagpapatupad ng protocol at paglabag sa lisensya ng GPL. Isang bagong pagpapatupad na magkasamang inihanda ng mga pangunahing koponan ng pagbuo ng FreeBSD at WireGuard na may input mula kay Jason A. Donenfeld, may-akda ng VPN WireGuard, at John H. Baldwin, kilalang developer ng FreeBSD. Ang isang buong pagsusuri ng mga pagbabago ay ginawa sa suporta ng FreeBSD Foundation bago tinanggap ang bagong code.

  • Ipinatupad ang suporta para sa Netlink communication protocol (RFC 3549), na ginagamit sa Linux upang ayusin ang pakikipag-ugnayan sa pagitan ng kernel at mga proseso sa espasyo ng user. Ang proyekto ay limitado sa pagsuporta sa NETLINK_ROUTE pamilya ng mga operasyon para sa pamamahala ng estado ng network subsystem sa kernel, na nagpapahintulot sa FreeBSD na gamitin ang ip Linux utility mula sa iproute2 package upang pamahalaan ang mga interface ng network, magtakda ng mga IP address, mag-configure ng pagruruta, at magmanipula nexthop objects na nag-iimbak ng data ng estado na ginagamit sa pagpapasa ng packet sa nais na patutunguhan.
  • Lahat ng mga base system executable sa 64-bit na mga platform ay may Address Space Layout Randomization (ASLR) na pinagana bilang default. Upang piliing i-disable ang ASLR, maaari mong gamitin ang mga command na "proccontrol -ma aslr -s disable" o "elfctl -e +noaslr".
  • Gumagamit ang ipfw ng mga talahanayan ng Radix upang maghanap ng mga MAC address, na nagbibigay-daan sa iyong lumikha ng mga talahanayan na may mga MAC address at gamitin ang mga ito upang i-filter ang trapiko. Halimbawa: 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
  • Idinagdag at magagamit para sa paglo-load sa pamamagitan ng loader.conf ay ang dpdk_lpm4 at dpdk_lpm6 kernel modules na may pagpapatupad ng DIR-24-8 route search algorithm para sa IPv4/IPv6, na nagbibigay-daan sa iyong i-optimize ang routing function para sa mga host na may napakalaking routing table (mga pagsubok magpakita ng pagtaas ng bilis ng 25 %). Ang karaniwang ruta utility ay maaaring gamitin upang i-configure ang mga module (ang FIB_ALGO na opsyon ay naidagdag na).
  • Ang pagpapatupad ng ZFS file system ay na-update sa paglabas ng OpenZFS 2.1.9. Ang zfskeys startup script ay nagbibigay ng awtomatikong paglo-load ng mga key na nakaimbak sa ZFS file system. Nagdagdag ng bagong RC script na zpoolreguid upang magtalaga ng GUID sa isa o higit pang mga zpool (kapaki-pakinabang para sa mga nakabahaging kapaligiran ng virtualization ng data, halimbawa).
  • Ang Bhyve hypervisor at ang vmm module ay sumusuporta sa pag-attach ng higit sa 15 virtual na CPU sa guest system (adjustable sa pamamagitan ng sysctl hw.vmm.maxcpu). Ang bhyve utility ay nagpapatupad ng emulation ng virtio-input device, kung saan maaari mong palitan ang keyboard at mouse input event sa guest system.
  • Ang KTLS, isang pagpapatupad ng TLS protocol na tumatakbo sa antas ng FreeBSD kernel, ay nagdagdag ng suporta para sa TLS 1.3 hardware acceleration sa pamamagitan ng pag-offload ng ilan sa mga operasyong nauugnay sa pagproseso ng mga naka-encrypt na papasok na packet sa mga balikat ng network card. Dati, available ang feature na ito para sa TLS 1.1 at TLS 1.2.
  • Sa script ng pagsisimula ng growfs, kapag pinalawak ang root FS, tinitiyak na ang isang swap partition ay idinagdag kung ang naturang partition ay hindi orihinal na naroroon (halimbawa, ito ay kapaki-pakinabang kapag nag-i-install ng isang yari na imahe ng system sa isang SD card). Ang isang bagong opsyon, growfs_swap_size, ay naidagdag sa rc.conf upang kontrolin ang laki ng swap.
  • Tinitiyak ng hostid startup script na ang isang random na UUID ay nabuo kung sakaling ang /etc/hostid file ay nawawala at ang UUID ay hindi makuha mula sa hardware. Idinagdag din ang /etc/machine-id file na may compact na representasyon ng host id (walang mga gitling).
  • Ang mga variable na defaultrouter_fibN at ipv6_defaultrouter_fibN ay naidagdag sa rc.conf, kung saan maaari kang magdagdag ng mga default na ruta sa mga talahanayan ng FIB maliban sa pangunahin.
  • Ang suporta para sa SHA-512/224 na mga hash ay naidagdag sa libmd library.
  • Ang pthread library ay nagpapatupad ng suporta para sa semantics ng mga function na ginagamit sa Linux.
  • Ang suporta para sa pag-decode ng mga tawag sa system ng Linux ay idinagdag sa kdump. Ang suporta para sa Linux-style syscall tracing ay idinagdag sa kdump at sysdecode.
  • Ang killall utility ay may kakayahan na ngayong magpadala ng signal sa mga prosesong nakatali sa isang partikular na terminal (halimbawa, "killall -t pts/1").
  • Nagdagdag ng nproc utility upang ipakita ang bilang ng mga computational unit na magagamit sa kasalukuyang proseso.
  • Ang suporta para sa pag-decode ng mga parameter ng ACS (Access Control Services) ay naidagdag sa pciconf utility.
  • Ang setting ng SPLIT_KERNEL_DEBUG ay naidagdag sa kernel, na nagbibigay-daan sa pag-save ng impormasyon sa pag-debug para sa kernel at kernel modules sa magkahiwalay na mga file.
  • Ang linux ABI ay halos kumpleto na sa suporta para sa vDSO (virtual dynamic shared objects) na mekanismo, na nagbibigay ng limitadong hanay ng mga system call na available sa espasyo ng user nang walang paglipat ng konteksto. Ang linux ABI sa mga sistema ng ARM64 ay dinala sa pagkakapareho sa pagpapatupad para sa arkitektura ng AMD64.
  • Pinahusay na suporta sa hardware. Nagdagdag ng suporta sa pagsubaybay sa pagganap (hwpmc) para sa mga CPU ng Intel Alder Lake. Na-update na driver ng iwlwifi para sa mga Intel wireless card na may suporta para sa mga bagong chip at 802.11ac standard. Nagdagdag ng rtw88 driver para sa Realtek PCI wireless card. Pinalawak ang layer ng linuxkpi para magamit sa mga driver ng FreeBSD Linux.
  • Ang OpenSSL library ay na-update sa bersyon 1.1.1t, LLVM/Π‘lang ay na-update sa bersyon 14.0.5, at ang SSH server at client ay na-update sa OpenSSH 9.2p1 (ang nakaraang bersyon ay gumamit ng OpenSSH 8.8p1). Na-update din ang 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.

Bukod pa rito, hindi na ito ginagamit at inalis mula noong FreeBSD 14.0 branch para sa OPIE na isang beses na password, ce at cp driver, ISA card driver, mergemaster at minigzip utilities, ATM components sa netgraph (NgATM), ang telnetd background process, at ang VINUM klase sa geom.

Pinagmulan: opennet.ru

Magdagdag ng komento