serbestberdana rêveberê pergala systemd 243

Piştî pênc mehan ji pêşveçûnê pêşkêş kirin serbestberdana rêveberê pergalê 243. Di nav nûbûniyan de, em dikarin entegrasyona PID 1-ê ya hilberek ji bo bîranîna kêm di pergalê de, piştgirî ji bo girêdana bernameyên xwe yên BPF-ê ji bo parzûnkirina seyrûsefera yekîneyê, gelek vebijarkên nû ji bo tora-sîstema, modek ji bo çavdêrîkirina firehiya torê destnîşan bikin. navbeynkar, ji hêla xwerû ve li ser pergalên 64-bit jimareyên PID-ê yên 22-bit li şûna 16-bit çalak dike, derbasî hiyerarşiyek cgroupên yekbûyî, tevlêbûna di systemd-tora-jeneratorê de.

Guhertinên sereke:

  • Naskirina îşaretên ku ji hêla kernel ve têne hilberandin di derheqê ji bîrê de ne (Out-Of-Memory, OOM) li hilbera PID 1 hate zêdekirin da ku yekîneyên ku gihîştine sînorê xerckirina bîranînê veguhezîne rewşek taybetî ku bi şiyana vebijarkî ye ku wan neçar bike ku biqede. an rawestandin;
  • Ji bo pelên yekîneyê, parametreyên nû IPIngressFilterPath û
    IPEgressFilterPath, ku destûrê dide te ku hûn bernameyên BPF-ê bi rêvebirên keyfî ve girêbidin da ku pakêtên IP-ya hatin û derketinê yên ku ji hêla pêvajoyên bi vê yekîneyê ve girêdayî têne hilberandin fîlter bikin. Taybetmendiyên pêşniyar dihêlin ku hûn ji bo karûbarên pergalê celebek dîwarê agir biafirînin. Mînaka nivîsandinê Parzûnek torê ya hêsan a li ser bingeha BPF;

  • Fermana "paqij" li kargêriya systemctl hate zêdekirin da ku cache, pelên dema xebitandinê, agahdariya statûyê û pelrêça têketinê jê bibe;
  • systemd-networkd ji bo pêwendiyên torê yên MACsec, nlmon, IPVTAP û Xfrm piştgirî zêde dike;
  • systemd-networkd bi navgîniya beşên "[DHCPv4]" û "[DHCPv6]" yên di pelê veavakirinê de veavakirina cihêreng ên stûnên DHCPv4 û DHCPv6 pêk tîne. Vebijarka RoutesToDNS lê zêde kir ku rêyek veqetandî li servera DNS-ê ya ku di parametreyên ku ji servera DHCP-ê hatî wergirtin ve hatî destnîşan kirin zêde bike (da ku seyrûsefera DNS-ê bi heman lînkê ve were şandin wekî riya sereke ya ku ji DHCP-ê hatî wergirtin). Vebijarkên nû ji bo DHCPv4 hatine zêdekirin: MaxAttempts - hejmara herî zêde ya daxwazên ji bo bidestxistina navnîşanek, Lîsteya Reş - lîsteya reş a pêşkêşkerên DHCP, SendRelease - şandina peyamên DHCP RELEASE dema danişîn bi dawî dibe çalak bike;
  • Fermanên nû li kargêriya systemd-analyze hatine zêdekirin:
    • "Systemd-analize timestamp" - parkirin û veguhertina demê;
    • "Sîstema-analîzkirina Demjimêr" - parkirin û veguheztina demên demê;
    • "Rewşa pergalê-analîz" - parkirin û ceribandina îfadeyên ConditionXYZ;
    • "Sîstema-analîzkirina derketin-statû" - parkirin û veguhertina kodên derketinê ji jimareyan berbi navan û berevajî;
    • "systemd-analyze unit-peles" - Hemî rêyên pelan ên yekîneyan û navên yekîneyê navnîş dike.
  • Vebijêrk SuccessExitStatus, RestartPreventExitStatus û
    RestartForceExitStatus naha ne tenê kodên vegerê yên hejmarî, lê di heman demê de nasnameyên nivîsê yên wan jî piştgirî dike (mînak, "DATAERR"). Hûn dikarin bi fermana "sytemd-analyze exit-status" navnîşa kodên ku ji nasnameyan re hatine destnîşankirin bibînin;

  • Fermana "hilweşîn" ji bo jêbirina cîhazên torê yên virtual, û hem jî vebijarka "-stats" ji bo nîşandana statîstîkên cîhazê li kargêriya networkctl hatiye zêdekirin;
  • Mîhengên SpeedMeter û SpeedMeterIntervalSec li networkd.conf hatine zêdekirin ji bo pîvandina periyodîk berbi navberên torê. Statîstîkên ku ji encamên pîvandinê têne wergirtin dikarin di derana fermana 'statûya torê' de werin dîtin;
  • Ji bo hilberandina pelan kargêriya nû systemd-tora-jenerator lê zêde kir
    .network, .netdev û .girêdana li ser bingeha mîhengên IP-yê dema ku bi rêzika fermanê ya kernel Linux-ê di formata mîhengên Dracut de hate destpêkirin derbas bûn;

  • Nirxa sysctl "kernel.pid_max" li ser pergalên 64-bit naha ji hêla xwerû ve wekî 4194304 tête danîn (PID-yên 22-bit li şûna 16-bitan), ku dema ku PID-an têne veqetandin îhtîmala lihevketinê kêm dike, sînorê hejmara hevdemî zêde dike. pêvajoyên dimeşînin, û bandorek erênî li ser ewlehiyê dike. Guhertin dibe ku bibe sedema pirsgirêkên lihevhatinê, lê pirsgirêkên weha hîn di pratîkê de nehatine ragihandin;
  • Ji hêla xwerû, qonaxa avakirinê vediguhere hiyerarşiya yekbûyî cgroups-v2 ("-Ddefault-hierarchy=yekgirtî"). Berê, standard moda hybrid bû ("-Ddefault-hierarchy=hybrid");
  • Tevgera fîltera bangê ya pergalê (SystemCallFilter) hate guheztin, ku, di doza bangek pergalê ya qedexekirî de, naha li şûna mijarên kesane, tevahiya pêvajoyê diqedîne, ji ber ku bidawîkirina mijarên kesane dikare bibe sedema pirsgirêkên nediyar. Guhertin tenê derbas dibin heke we kernel Linux 4.14+ û libseccomp 2.4.0+ hebe;
  • Bernameyên bêdestûr jê re tê dayîn ku pakêtên ICMP Echo (ping) bişînin bi danîna sysctl "net.ipv4.ping_group_range" ji bo tevahiya rêza koman (ji bo hemî pêvajoyan);
  • Ji bo lezkirina pêvajoya avakirinê, nifşê destanên mirovî ji hêla xwerû ve hatî sekinandin (ji bo avakirina belgeya tevahî, hûn hewce ne ku vebijarka "-Dman=rast" an "-Dhtml=rast" ji bo destanên di formata html de bikar bînin). Ji bo hêsankirina dîtina belgeyan, du nivîsar tê de hene: build/man/man û build/man/html ji bo çêkirin û pêşdîtina destanên balkêş;
  • Ji bo ku navên domanan bi tîpên alfabeyên neteweyî bi kar bînin, pirtûkxaneya libidn2 ji hêla xwerû ve tê bikar anîn (ji bo vegerandina libidn, vebijarka "-Dlibidn=rast" bikar bînin);
  • Piştgiriya pelê /usr/sbin/halt.local, ku fonksiyona ku di belavkirinan de bi berfirehî nehatibû belavkirin, peyda kir, hate sekinandin. Ji bo organîzekirina destpêkirina fermanan dema ku were girtin, tê pêşniyar kirin ku hûn skrîptan di /usr/lib/systemd/system-shutdown/ de bikar bînin an jî yekîneyek nû ya ku bi final.target ve girêdayî ye diyar bikin;
  • Di qonaxa dawîn a girtinê de, systemd naha bixweber asta têketinê di sysctl "kernel.printk" de zêde dike, ku pirsgirêka nîşandana bûyerên di têketinê de yên ku di qonaxên paşîn ên girtinê de qewimîne, dema ku şeytanên têketinê yên birêkûpêk jixwe qedandine çareser dike. ;
  • Di journalctl û karûbarên din ên ku têketin nîşan didin de, hişyarî bi zer têne xuyang kirin, û tomarên kontrolê bi şîn têne ronî kirin da ku wan bi dîtbarî ji nav elaletê ronî bike;
  • Di guherbara hawîrdorê ya $PATH de, riya bin/ niha tê pêşiya riya sbin/, yanî. heke di her du pelrêkan de navên pelên îcrakar wek hev hebin, pelê ji bin/ dê were darve kirin;
  • systemd-logind bangek SetBrightness() peyda dike da ku bi ewlehî ronahiya ekranê li ser bingehek rûniştinê biguhezîne;
  • Alaya "--bend-ji bo-destpêkirinê" li fermana "udevadm info" hat zêdekirin da ku li benda destpêkirina amûrê bimîne;
  • Di dema bootkirina pergalê de, hilgirê PID 1 naha navên yekîneyan li şûna rêzek bi danasîna wan nîşan dide. Ji bo vegerandina tevgera berê, hûn dikarin vebijarka StatusUnitFormat li /etc/systemd/system.conf an vebijarka kernel systemd.status_unit_format bikar bînin;
  • Vebijarka KExecWatchdogSec li /etc/systemd/system.conf ji bo çavdêriya PID 1 zêde kir, ku dema ji nû ve destpêkirina bi karanîna kexec ve diyar dike. mîhengê kevn
    Navê ShutdownWatchdogSec wekî RebootWatchdogSec hate guheztin û ji bo karên di dema girtinê an ji nû ve destpêkirina normal de demek dirêj diyar dike;

  • Vebijarkek nû ji bo karûbaran hate zêdekirin ExecCondition, ku destûrê dide te ku hûn fermanên ku dê berî ExecStartPre bêne darve kirin diyar bikin. Li ser bingeha koda xeletiyê ya ku ji hêla fermanê ve hatî vegerandin, biryarek li ser darvekirina din a yekîneyê tê girtin - heke koda 0 were vegerandin, destpêkirina yekîneyê berdewam dike, heke ji 1 heta 254 ew bêdeng bêyî ala têkçûnê biqede, heke 255 ew bi dawî dibe. ala têkçûnê;
  • Xizmetek nû systemd-pstore.service lê zêde kir da ku daneyan ji sys/fs/pstore/ û ji tomarkirinê ji bo analîzkirina bêtir ji /var/lib/pstore derxe;
  • Fermanên nû li kargêriya timedatectl hatine zêdekirin ji bo mîhengkirina parametreyên NTP-ê ji bo systemd-timesyncd têkildarî navrûyên torê;
  • Fermana "localectl list-locales" êdî ji bilî UTF-8 deverên din nîşan nade;
  • Ger navê guhêrbar bi tîpa “-“ dest pê bike, piştrast dike ku xeletiyên peywira guhêrbar ên di pelên sysctl.d/ de têne paşguh kirin;
  • xizmeta systemd-random-seed.service naha bi tevahî berpirsiyar e ji bo destpêkirina hewza entropiyê ya hilberînerê hejmarên pseudorandom kernel Linux. Karûbarên ku pêdivî bi /dev/urandom-ya rast hatî destpêkirin divê piştî systemd-random-seed.service dest pê bikin;
  • Systemd-boot boot loader şiyana vebijarkî ya piştgirîyê peyda dike pelê tovê bi rêzika random di Parvekirina Pergala EFI (ESP);
  • Fermanên nû li kargêriya bootctl hatine zêdekirin: "bootctl random-seed" ji bo afirandina pelek tovê di ESP-ê de û "bootctl-sazkirî ye" ji bo kontrolkirina sazkirina barkera boot-boot-ê ya systemd. bootctl di heman demê de hate sererast kirin da ku hişyariyên di derheqê navnîşên bootê yên bi xeletî vesazkirî de nîşan bide (mînak, dema ku wêneya kernel jêbirin, lê navnîşa barkirina wê maye);
  • Hilbijartina otomatîkî ya dabeşkirina guheztinê dema ku pergal diçe moda xewê peyda dike. Dabeşkirin li gorî pêşaniya ku ji bo wê hatî mîheng kirin, û di rewşa pêşîniyên wekhev de, mîqdara cîhê belaş tê hilbijartin;
  • Vebijarka keyfile-timeout li /etc/crypttab zêde kir da ku destnîşan bike ka dê cîhaza bi mifteya şîfrekirinê çiqas dirêj li bendê bimîne berî ku şîfreyek bixwaze ku bigihîje dabeşkirina şîfrekirî;
  • Vebijarka IOWeight lê zêde kir ku giraniya I/O ji bo nexşerêya BFQ saz bike;
  • systemd-çareserkirin moda 'hişk' ji bo DNS-ser-TLS zêde kir û şiyana cachekirina tenê bersivên DNS yên erênî pêk anî ("Cache no-negative" di solved.conf de);
  • Ji bo VXLAN, systemd-networkd vebijarkek GenericProtocolExtension zêde kiriye da ku pêvekên protokola VXLAN çalak bike. Ji bo VXLAN û GENEVE, vebijarka IPDoNotFragment hate zêdekirin da ku ala qedexekirina perçebûnê ji bo pakêtên derketinê destnîşan bike;
  • Di networkd-networkd de, di beşa "[Rê" de, vebijarka FastOpenNoCookie xuya bû ku mekanîzmaya vekirina bilez girêdanên TCP-ê (TFO - TCP Fast Open, RFC 7413) têkildarî rêyên kesane, û her weha vebijarka TTLPropagate çalak dike. ji bo mîhengkirina TTL LSP (Rêya Veguhastî ya Labelê). Vebijarka "Tîp" ji bo modên rêveçûna herêmî, weşan, anycast, multicast, her û xresolve piştgirî peyda dike;
  • Systemd-networkd di beşa "[Network]" de vebijarkek DefaultRouteOnDevice pêşkêşî dike da ku bixweber rêyek xwerû ji bo amûrek torê ya diyarkirî mîheng bike;
  • Systemd-networkd ProxyARP û zêde kiriye
    ProxyARPWifi ji bo danîna behreya ARP ya proxy, MulticastRouter ji bo danîna parametreyên rêvekirinê di moda multicast de, MulticastIGMPVersiyon ji bo guheztina guhertoya IGMP (Protokola Rêvebiriya Koma Înternetê) ji bo multicast;

  • Systemd-networkd vebijarkên Local, Peer û PeerPort ji bo tunelên FooOverUDP zêde kiriye da ku navnîşanên IP-ya herêmî û dûr, û her weha jimareya porta torê mîheng bike. Ji bo tunelên TUN, vebijarka VnetHeader hate zêdekirin da ku piştgiriya GSO (Generic Segment Offload) mîheng bike;
  • Di systemd-networkd de, di pelên .network û .link de di beşa [Maç] de, vebijarkek Taybetmendiyê derketiye, ku dihêle hûn cîhazan bi taybetmendiyên wan ên taybetî di udev de nas bikin;
  • Di systemd-networkd de, vebijarkek AssignToLoopback ji bo tunelan hatîye zêdekirin, ku kontrol dike ka dawiya tunelê ji cîhaza loopback "lo" re tête diyar kirin;
  • systemd-networkd bixweber steka IPv6-ê çalak dike ger bi sysctl disable_ipv6 ve were asteng kirin - IPv6 tê aktîfkirin ger mîhengên IPv6 (statîk an DHCPv6) ji bo navbeynkariya torê bêne diyar kirin, wekî din nirxa sysctl ya jixwe hatî destnîşankirî naguhere;
  • Di pelên .torê de, mîhenga CriticalConnection bi vebijarka KeepConfiguration ve hatî guheztin, ku ji bo danasîna rewşan ("erê", "statîk", "dhcp-on-stop", "dhcp") ku tê de divê tora systemd-ê tê de bêtir rêgez peyda bike. dema destpêkirinê dest nede girêdanên heyî;
  • Zehfbûn rast kirin CVE-2019-15718, ji ber nebûna kontrolkirina gihîştina pergala D-Bus-ê-çareserkirî ye. Pirsgirêk destûrê dide bikarhênerek bêdestûr ku karûbarên ku tenê ji rêvebiran re peyda dibin, wekî guheztina mîhengên DNS-ê û arastekirina pirsên DNS-ê berbi serverek xapînok;
  • Zehfbûn rast kirin CVE-2019-9619girêdayî neçalakkirina pam_systemd-ê ji bo danişînên ne-înteraktîf, ku destûrê dide xapandina danişîna çalak.

Source: opennet.ru

Add a comment