Netlink және WireGuard қолдауымен FreeBSD 13.2 шығарылымы

11 айлық әзірлеуден кейін FreeBSD 13.2 шығарылды. Орнату кескіндері amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 және riscv64 архитектуралары үшін жасалған. Бұған қоса, виртуалдандыру жүйелері (QCOW2, VHD, VMDK, raw) және Amazon EC2, Google Compute Engine және Vagrant бұлттық орталары үшін жинақтар дайындалды.

Негізгі өзгерістер:

  • Журналға тіркеу қосылған (жұмсақ жаңартулар) UFS және FFS файлдық жүйелерінің суретін жасау мүмкіндігі енгізілді. Сондай-ақ, журнал жүргізу қосулы кезде орнатылған UFS файлдық жүйелерінің мазмұнымен дамптарды («-L» жалаушасы бар жұмыс істейтін дамп) фондық сақтауға қолдау қосылды. Журналды пайдалану кезінде қол жетімді емес мүмкіндіктердің бірі - fsck утилитасының көмегімен тұтастықты тексерудің фондық орындалуы.
  • Негізгі құрамға VPN WireGuard үшін желілік интерфейсті енгізу арқылы ядро ​​деңгейінде жұмыс істейтін wg драйвері кіреді. Драйвер талап ететін криптографиялық алгоритмдерді пайдалану үшін FreeBSD ядросының крипто-ішкі жүйесінің API кеңейтілді, оған стандартты крипто-API арқылы FreeBSD-де қолдау көрсетілмейтін libsodium кітапханасының алгоритмдерін пайдалануға мүмкіндік беретін қосылым қосылды. . Әзірлеу процесінде пакеттік шифрлау және шифрды шешу тапсырмаларын процессордың өзектерімен байланыстыруды біркелкі теңестіру үшін оңтайландыру жүргізілді, бұл WireGuard пакеттерін өңдеу кезінде үстеме шығындарды азайтты.

    WireGuard-ты FreeBSD-ге қосудың соңғы әрекеті 2020 жылы жасалды, бірақ жанжалмен аяқталды, нәтижесінде сапасыз, буферлермен ұқыпсыз жұмыс істеуге, тексерулердің орнына түтіктерді пайдалануға, толық орындалмауға байланысты қазірдің өзінде қосылған код жойылды. хаттаманың және GPL лицензиясының бұзылуы. Жаңа енгізу VPN WireGuard авторы Джейсон А. Доненфельд пен танымал FreeBSD әзірлеушісі Джон Х. Болдуиннің үлестерімен FreeBSD және WireGuard негізгі әзірлеу топтарымен бірлесіп дайындалды. Жаңа код қабылданғанға дейін FreeBSD қорының қолдауымен өзгерістерге толық шолу жасалды.

  • Linux жүйесінде ядроның пайдаланушы кеңістігіндегі процестермен өзара әрекеттесуін ұйымдастыру үшін қолданылатын Netlink байланыс протоколын (RFC 3549) қолдау жүзеге асырылды. Жоба ядродағы желілік ішкі жүйенің күйін басқаруға арналған NETLINK_ROUTE операциялар тобына қолдау көрсетумен шектелген, бұл FreeBSD жүйесіне желі интерфейстерін басқару, IP мекенжайларын орнату, маршруттауды конфигурациялау және келесі жұмысты өңдеу үшін iproute2 бумасындағы Linux ip утилитасын пайдалануға мүмкіндік береді. пакетті қажетті орынға жіберу үшін пайдаланылатын күй деректерін сақтайтын нысандар.
  • 64 биттік платформалардағы барлық негізгі жүйелік орындалатын файлдарда әдепкі бойынша мекенжай кеңістігінің орналасуын рандомизациялау (ASLR) қосылған. ASLR таңдаулы түрде өшіру үшін «proccontrol -m aslr -s disable» немесе «elfctl -e +noaslr» пәрмендерін пайдалануға болады.
  • ipfw жүйесінде radix кестелері MAC мекенжайларын іздеу үшін пайдаланылады, бұл MAC мекенжайлары бар кестелер жасауға және оларды трафикті сүзу үшін пайдалануға мүмкіндік береді. Мысалы: ipfw кесте 1 mac түрін жасау ipfw кесте 1 қосу 11:22:33:44:55:66/48 ipfw қосу skipto tablearg src-mac 'table(1)' ipfw қосу жоққа src-mac 'table(1,, 100 )' ipfw қосу dst-mac 1 іздеуден бас тарту
  • dpdk_lpm4 және dpdk_lpm6 ядро ​​модульдері қосылды және өте үлкен маршруттау кестелері бар хосттар үшін маршруттау функцияларын оңтайландыруға мүмкіндік беретін IPv24/IPv8 үшін DIR-4-6 маршрутты іздеу алгоритмін жүзеге асыру арқылы loader.conf арқылы жүктеуге қолжетімді ( сынақтарда жылдамдықтың 25% артуы байқалады. Модульдерді конфигурациялау үшін стандартты маршрут утилитасын пайдалануға болады (FIB_ALGO опциясы қосылды).
  • ZFS файлдық жүйесін енгізу OpenZFS 2.1.9 нұсқасын шығару үшін жаңартылды. Zfskeys іске қосу сценарийі ZFS файлдық жүйесінде сақталған кілттерді автоматты түрде жүктеуді қамтамасыз етеді. Бір немесе бірнеше zpools үшін GUID тағайындау үшін жаңа RC сценарийі zpoolreguid қосылды (мысалы, ортақ деректерді виртуалдандыру орталары үшін пайдалы).
  • Bhyve гипервизоры және vmm модулі қонақ жүйесіне 15-тен астам виртуалды процессорларды қосуды қолдайды (sysctl hw.vmm.maxcpu арқылы реттеледі). bhyve утилитасы virtio-енгізу құрылғысының эмуляциясын жүзеге асырады, оның көмегімен пернетақта мен тінтуірдің енгізу оқиғаларын қонақ жүйесіне ауыстыруға болады.
  • FreeBSD ядросы деңгейінде жұмыс істейтін TLS протоколының іске асырылуы KTLS жүйесінде TLS 1.3 аппараттық жеделдетуге қолдау желі картасына шифрланған кіріс пакеттерін өңдеуге қатысты кейбір операцияларды түсіру арқылы қосылды. Бұрын ұқсас мүмкіндік TLS 1.1 және TLS 1.2 үшін қол жетімді болды.
  • growfs іске қосу сценарийінде түбірлік файлдық жүйені кеңейту кезінде, егер мұндай бөлім бастапқыда жоқ болса, своп бөлімін қосуға болады (мысалы, SD картасына дайын жүйелік кескінді орнату кезінде пайдалы). Своп өлшемін басқару үшін rc.conf файлына growfs_swap_size жаңа параметрі қосылды.
  • Хостидті іске қосу сценарийі /etc/hostid файлы жоқ болса және UUID идентификаторын аппараттық құралдан алу мүмкін болмаса, кездейсоқ UUID жасалуын қамтамасыз етеді. Сондай-ақ хост идентификаторының ықшам көрінісі бар /etc/machine-id файлы қосылды (дефиссіз).
  • defaultrouter_fibN және ipv6_defaultrouter_fibN айнымалылары rc.conf файлына қосылды, олар арқылы негізгіден басқа FIB кестелеріне әдепкі маршруттарды қосуға болады.
  • SHA-512/224 хэштерін қолдау libmd кітапханасына қосылды.
  • Pthread кітапханасы Linux жүйесінде қолданылатын функциялардың семантикасын қолдауды қамтамасыз етеді.
  • Linux жүйесінің kdump қоңырауларын декодтау үшін қосылды. kdump және sysdecode үшін Linux стиліндегі жүйелік қоңырауларды бақылауға қолдау қосылды.
  • Killall утилитасының енді белгілі бір терминалға байланысты процестерге сигнал жіберу мүмкіндігі бар (мысалы, “killall -t pts/1”).
  • Ағымдағы процесс үшін қол жетімді есептеу блоктарының санын көрсету үшін nproc утилитасы қосылды.
  • ACS (Access Control Services) параметрлерін декодтау үшін қолдау pciconf утилитасына қосылды.
  • SPLIT_KERNEL_DEBUG параметрі ядроға қосылды, ол ядро ​​мен ядро ​​модульдері үшін жөндеу ақпаратын бөлек файлдарда сақтауға мүмкіндік береді.
  • Linux ABI контекстік ауысусыз пайдаланушы кеңістігінде қолжетімді жүйелік қоңыраулардың шектеулі жинағын қамтамасыз ететін vDSO (виртуалды динамикалық ортақ нысандар) механизмін қолдаумен дерлік аяқталды. ARM64 жүйелеріндегі Linux ABI жүйесі AMD64 архитектурасын енгізумен тең дәрежеге жеткізілді.
  • Жақсартылған аппараттық қолдау. Intel Alder Lake процессорларына өнімділікті бақылау (hwpmc) қолдауы қосылды. Intel сымсыз карталарына арналған iwlwifi драйвері жаңа чиптерді және 802.11ac стандартын қолдау арқылы жаңартылды. PCI интерфейсі бар Realtek сымсыз карталары үшін rtw88 драйвері қосылды. linuxkpi қабатының мүмкіндіктері FreeBSD жүйесіндегі Linux драйверлерімен пайдалану үшін кеңейтілді.
  • OpenSSL кітапханасы 1.1.1t нұсқасына, LLVM/Сlang 14.0.5 нұсқасына, ал SSH сервері мен клиенті OpenSSH 9.2p1 нұсқасына жаңартылды (алдыңғы нұсқада OpenSSH 8.8p1 қолданылған). Сондай-ақ bc 6.2.4, expat 2.5.0, файл 5.43, 608-ден аз, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13 нұсқалары жаңартылды.

Сонымен қатар, FreeBSD 14.0 филиалынан бастап, OPIE, ce және cp драйверлерінің бір реттік құпия сөздері, ISA карталарына арналған драйверлер, mergemaster және minigzip утилиталары, netgraph ішіндегі банкомат компоненттері (NgATM), telnetd фондық процесі және Геомдағы VINUM класы.

Ақпарат көзі: opennet.ru

пікір қалдыру