systemd жүйелік менеджерінің шығарылымы 243

Бес айлық дамудан кейін ұсынылды жүйе менеджерінің шығарылымы жүйелік 243. Инновациялардың ішінде жүйедегі аз жады үшін өңдегіштің PID 1 интеграциясын, бірлік трафикті сүзуге арналған жеке BPF бағдарламаларын қосуды қолдауды, systemd-networkd үшін көптеген жаңа опцияларды, желінің өткізу қабілеттілігін бақылау режимін атап өтуге болады. интерфейстер, әдепкі бойынша 64-биттік жүйелерде 22-биттің орнына 16-биттік PID нөмірлерін қосады, біріктірілген топтардың иерархиясына көшу, systemd-желілік-генераторға қосу.

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

  • Жадты тұтыну шегіне жеткен бірліктерді оларды тоқтатуға мәжбүрлеудің қосымша мүмкіндігі бар арнайы күйге тасымалдау үшін PID 1 өңдегішіне жад таусылғаны туралы ядродан жасалған сигналдарды тану (Out-Of-Memory, OOM) қосылды. немесе тоқтату;
  • Бірлік файлдары үшін IPIngressFilterPath жаңа параметрлері және
    IPEgressFilterPath, бұл құрылғымен байланысты процестермен жасалған кіріс және шығыс IP пакеттерін сүзу үшін BPF бағдарламаларын ерікті өңдеушілермен қосуға мүмкіндік береді. Ұсынылған мүмкіндіктер жүйелік қызметтер үшін брандмауэр түрін жасауға мүмкіндік береді. Жазу үлгісі BPF негізіндегі қарапайым желі сүзгісі;

  • Кэшті, жұмыс уақыты файлдарын, күй ақпаратын және журнал каталогтарын жою үшін systemctl утилитасына «таза» пәрмені қосылды;
  • systemd-networkd MACsec, nlmon, IPVTAP және Xfrm желі интерфейстеріне қолдауды қосады;
  • systemd-networkd конфигурация файлындағы “[DHCPv4]” және “[DHCPv6]” бөлімдері арқылы DHCPv4 және DHCPv6 стектерінің бөлек конфигурациясын жүзеге асырады. DHCP серверінен алынған параметрлерде көрсетілген DNS серверіне бөлек маршрут қосу үшін RoutesToDNS опциясы қосылды (сондықтан DNS-ке трафик DHCP-ден алынған негізгі маршрутпен бірдей сілтеме арқылы жіберіледі). DHCPv4 үшін жаңа опциялар қосылды: MaxAttempts - мекенжайды алуға сұраныстардың максималды саны, Қара тізім - DHCP серверлерінің қара тізімі, SendRelease - сеанс аяқталған кезде DHCP RELEASE хабарламаларын жіберуді қосу;
  • systemd-analyze утилитасына жаңа пәрмендер қосылды:
    • “systemd-analyze timetamp” – уақытты талдау және түрлендіру;
    • «жүйелік-талдау уақыт аралығы» - уақыт кезеңдерін талдау және түрлендіру;
    • «жүйені талдау шарты» - ConditionXYZ өрнектерін талдау және сынау;
    • «systemd-analyze exit-status» - шығу кодтарын сандардан аттарға және керісінше талдау және түрлендіру;
    • "systemd-analyze unit-files" - Бірліктер мен бірлік бүркеншік аттары үшін барлық файл жолдарын тізімдейді.
  • SuccessExitStatus, RestartPreventExitStatus және опциялары
    RestartForceExitStatus енді тек сандық қайтару кодтарын ғана емес, сонымен қатар олардың мәтіндік идентификаторларын да (мысалы, «DATAERR») қолдайды. «sytemd-analyze exit-status» командасы арқылы идентификаторларға тағайындалған кодтар тізімін көруге болады;

  • Виртуалды желі құрылғыларын жою үшін networkctl утилитасына «жою» пәрмені, сондай-ақ құрылғы статистикасын көрсету үшін «—stats» опциясы қосылды;
  • SpeedMeter және SpeedMeterIntervalSec параметрлері желі интерфейстерінің өткізу қабілетін мерзімді түрде өлшеу үшін networkd.conf файлына қосылды. Өлшеу нәтижелерінен алынған статистиканы 'networkctl status' пәрменінің шығысында көруге болады;
  • Файлдарды құруға арналған systemd-network-generator жаңа утилитасы қосылды
    .network, .netdev және .link Dracut параметрлері пішіміндегі Linux ядросының пәрмен жолы арқылы іске қосылған кезде жіберілген IP параметрлеріне негізделген;

  • 64 биттік жүйелердегі sysctl "kernel.pid_max" мәні енді әдепкі бойынша 4194304 (22 биттің орнына 16 биттік PID) мәніне орнатылады, бұл PID тағайындау кезінде соқтығысу ықтималдығын азайтады, бір уақытта санына шектеуді арттырады процестерді іске қосады және қауіпсіздікке оң әсер етеді. Өзгеріс үйлесімділік мәселелеріне әкелуі мүмкін, бірақ мұндай мәселелер іс жүзінде әлі хабарланған жоқ;
  • Әдепкі бойынша, құрастыру кезеңі біріктірілген иерархия cgroups-v2 («-Ddefault-ierarchy=unified») ауысады. Бұрын әдепкі гибридті режим болатын («-Ddefault-ierarchy=hybrid»);
  • Жүйелік шақыру сүзгісінің (SystemCallFilter) әрекеті өзгертілді, ол тыйым салынған жүйелік шақыру жағдайында енді жеке ағындарды емес, бүкіл процесті тоқтатады, өйткені жеке ағындарды тоқтату болжанбайтын мәселелерге әкелуі мүмкін. Өзгерістер сізде Linux ядросы 4.14+ және libseccomp 2.4.0+ болса ғана қолданылады;
  • Артықшылықсыз бағдарламаларға топтардың барлық ауқымы үшін (барлық процестер үшін) "net.ipv4.ping_group_range" sysctl орнату арқылы ICMP Echo (ping) пакеттерін жіберу мүмкіндігі беріледі;
  • Құрастыру процесін жылдамдату үшін адам нұсқаулығын жасау әдепкі бойынша тоқтатылды (толық құжаттаманы құру үшін html пішіміндегі нұсқаулықтар үшін “-Dman=true” немесе “-Dhtml=true” опциясын пайдалану қажет). Құжаттаманы қарауды жеңілдету үшін екі сценарий қамтылған: build/man/man және build/man/html қызығушылық тудыратын нұсқаулықтарды жасау және алдын ала қарау үшін;
  • Ұлттық алфавиттердің таңбалары бар домендік атауларды өңдеу үшін әдепкі бойынша libidn2 кітапханасы пайдаланылады (libidn мәнін қайтару үшін “-Dlibidn=true” опциясын пайдаланыңыз);
  • Дистрибуцияларда кеңінен таралмаған функционалдылықты қамтамасыз ететін /usr/sbin/halt.local орындалатын файлына қолдау көрсету тоқтатылды. Өшіру кезінде пәрмендерді іске қосуды ұйымдастыру үшін /usr/lib/systemd/system-shutdown/ ішіндегі сценарийлерді пайдалану немесе final.target-ке тәуелді жаңа блокты анықтау ұсынылады;
  • Өшірудің соңғы сатысында systemd енді «kernel.printk» sysctl жүйесінде журнал деңгейін автоматты түрде арттырады, бұл тұрақты тіркеу демондары аяқталған кезде, өшірудің кейінгі кезеңдерінде орын алған оқиғаларды журналда көрсету мәселесін шешеді. ;
  • Journalctl және журналдарды көрсететін басқа утилиталарда ескертулер сары түспен бөлектеледі, ал аудиторлық жазбалар оларды көпшілік арасында көрнекі түрде бөлектеу үшін көк түспен бөлектеледі;
  • $PATH ортасының айнымалы мәнінде bin/ жолы енді sbin/ жолынан бұрын келеді, яғни. егер екі каталогта да орындалатын файлдардың бірдей атаулары болса, bin/ файлы орындалады;
  • systemd-logind экран жарықтығын сеанс негізінде қауіпсіз өзгерту үшін SetBrightness() шақыруын қамтамасыз етеді;
  • Құрылғының инициализациясын күту үшін «udevadm info» пәрменіне «--wait-for-initialization» жалаушасы қосылды;
  • Жүйені жүктеу кезінде PID 1 өңдеушісі енді олардың сипаттамасы бар жолдың орнына бірлік атауларын көрсетеді. Өткен әрекетке оралу үшін /etc/systemd/system.conf ішіндегі StatusUnitFormat опциясын немесе systemd.status_unit_format ядро ​​опциясын пайдалануға болады;
  • KExecWatchdogSec опциясы /etc/systemd/system.conf файлына kexec арқылы қайта іске қосу күту уақытын көрсететін PID 1 бақылаушы үшін қосылды. Ескі параметр
    ShutdownWatchdogSec атауы RebootWatchdogSec деп өзгертілді және өшіру немесе қалыпты қайта қосу кезінде тапсырмалар үшін күту уақытын анықтайды;

  • Қызметтер үшін жаңа опция қосылды ExecCondition, ол ExecStartPre алдында орындалатын пәрмендерді көрсетуге мүмкіндік береді. Командамен қайтарылған қате кодының негізінде блокты одан әрі орындау туралы шешім қабылданады - егер 0 коды қайтарылса, құрылғыны іске қосу жалғасады, егер 1-ден 254-ке дейін ол сәтсіздік жалауынсыз үнсіз аяқталса, 255 болса, ол аяқталады сәтсіздік белгісі;
  • Қосымша талдау үшін sys/fs/pstore/ және сақтаудан /var/lib/pstore ішінен деректерді шығару үшін systemd-pstore.service жаңа қызметі қосылды;
  • Желі интерфейстеріне қатысты systemd-timesyncd үшін NTP параметрлерін конфигурациялауға арналған timedatectl утилитасына жаңа пәрмендер қосылды;
  • "localectl list-locales" пәрмені енді UTF-8-ден басқа тілдерді көрсетпейді;
  • Айнымалы атауы «-» таңбасынан басталса, sysctl.d/ файлдарындағы айнымалыны тағайындау қателерінің еленбеуін қамтамасыз етеді;
  • қызмет көрсету systemd-random-seed.service енді Linux ядросының жалған кездейсоқ сандар генераторының энтропия пулын инициализациялауға толығымен жауапты. Дұрыс инициализацияланған /dev/urandom талап ететін қызметтер systemd-random-seed.service;
  • Systemd-жүктеу жүктеушісі қосымша қолдау мүмкіндігін береді тұқымдық файл EFI жүйелік бөлімінде (ESP) кездейсоқ реттілікпен;
  • Bootctl утилитасына жаңа пәрмендер қосылды: ESP жүйесінде тұқымдық файлды жасау үшін «bootctl random-seed» және systemd-жүктеу жүктеушісінің орнатылуын тексеру үшін «bootctl орнатылған». bootctl сонымен қатар жүктеу жазбаларының қате конфигурациялануы туралы ескертулерді көрсету үшін реттелген (мысалы, ядро ​​кескіні жойылған кезде, бірақ оны жүктеуге арналған жазба қалдырылған);
  • Жүйе ұйқы режиміне өткенде своп бөлімін автоматты түрде таңдауды қамтамасыз етеді. Бөлім ол үшін конфигурацияланған басымдыққа және бірдей басымдықтар болған жағдайда бос орын көлеміне байланысты таңдалады;
  • Шифрлау кілті бар құрылғы шифрланған бөлімге кіру үшін құпия сөзді сұрамас бұрын қанша уақыт күтетінін орнату үшін /etc/crypttab файлына кілт файлының күту уақыты қосылды;
  • BFQ жоспарлаушы үшін енгізу/шығару салмағын орнату үшін IOWeight опциясы қосылды;
  • systemd-resolved DNS-over-TLS үшін "қатаң" режимді қосты және тек оң DNS жауаптарын кэштеу мүмкіндігін іске асырды (soled.conf ішіндегі "Кэш жоқ-теріс");
  • VXLAN үшін systemd-networkd VXLAN протоколының кеңейтімдерін қосу үшін GenericProtocolExtension опциясын қосты. VXLAN және GENEVE үшін IPDoNotFragment опциясы шығыс пакеттер үшін фрагментацияға тыйым салу жалауын орнату үшін қосылды;
  • systemd-networkd жүйесінде, «[Бағыт]» бөлімінде жеке маршруттарға қатысты TCP қосылымдарын (TFO - TCP Fast Open, RFC 7413) жылдам ашу механизмін, сондай-ақ TTLPropagate опциясын қосу үшін FastOpenNoCookie опциясы пайда болды. TTL LSP конфигурациялау үшін (белгі ауыстырылатын жол). «Түр» опциясы жергілікті, хабар тарату, кез келген тарату, мультикаст, кез келген және xresolve бағыттау режимдерін қолдауды қамтамасыз етеді;
  • Systemd-networkd берілген желі құрылғысы үшін әдепкі маршрутты автоматты түрде конфигурациялау үшін “[Желі]” бөлімінде DefaultRouteOnDevice опциясын ұсынады;
  • Systemd-networkd ProxyARP және қосты
    Прокси ARP әрекетін орнату үшін ProxyARPWifi, мультикаст режимінде маршруттау параметрлерін орнату үшін MulticastRouter, мультикаст үшін IGMP (Internet Group Management Protocol) нұсқасын өзгерту үшін MulticastIGMPVersion;

  • Systemd-networkd жергілікті және қашықтағы IP мекенжайларын, сондай-ақ желі портының нөмірін конфигурациялау үшін FooOverUDP туннельдері үшін Local, Peer және PeerPort опцияларын қосты. TUN туннельдері үшін GSO (жалпы сегментті түсіру) қолдауын теңшеу үшін VnetHeader опциясы қосылды;
  • systemd-networkd ішінде [Сәйкестендіру] бөліміндегі .network және .link файлдарында udev ішіндегі арнайы қасиеттері бойынша құрылғыларды анықтауға мүмкіндік беретін Property опциясы пайда болды;
  • systemd-networkd жүйесінде туннельдер үшін AssignToLoopback опциясы қосылды, ол туннельдің соңы «lo» кері байланыс құрылғысына тағайындалғанын бақылайды;
  • systemd-networkd sysctl disable_ipv6 арқылы бұғатталған болса, IPv6 стекін автоматты түрде белсендіреді - желі интерфейсі үшін IPv6 параметрлері (статикалық немесе DHCPv6) анықталған болса, IPv6 белсендіріледі, әйтпесе орнатылған sysctl мәні өзгермейді;
  • .network файлдарында CriticalConnection параметрі Systemd-networkd қажет болатын жағдайларды («иә», «статикалық», «dhcp-on-stop», «dhcp») анықтау үшін көбірек құралдарды қамтамасыз ететін KeepConfiguration опциясымен ауыстырылды. іске қосу кезінде бар қосылымдарға қол тигізбеу;
  • Осалдық түзетілді CVE-2019-15718, D-Bus интерфейсіне кіруді басқарудың болмауынан туындады. Мәселе артықшылықсыз пайдаланушыға тек әкімшілерге қол жетімді әрекеттерді орындауға мүмкіндік береді, мысалы, DNS параметрлерін өзгерту және DNS сұрауларын жалған серверге бағыттау;
  • Осалдық түзетілді CVE-2019-9619белсенді сеанстың спуфингіне мүмкіндік беретін интерактивті емес сеанстар үшін pam_systemd қосылмауымен байланысты.

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

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