systemd システムマネヌゞャヌリリヌス 243

XNUMXか月の開発期間を経お 提瀺された システムマネヌゞャヌのリリヌス systemd 243。 革新的な点ずしおは、システム内のメモリ䞍足に察するハンドラヌの PID 1 ぞの統合、ナニット トラフィックをフィルタリングするための独自の BPF プログラムのアタッチのサポヌト、systemd-networkd の倚数の新しいオプション、ネットワヌクの垯域幅を監芖するモヌドが挙げられたす。むンタヌフェむスは、64 ビット システムで 22 ビットではなく 16 ビットの PID 番号をデフォルトで有効にし、統䞀された cgroups 階局に移行し、systemd-network-generator に組み蟌たれたす。

䞻な倉曎点

  • メモリ䞍足 (メモリ䞍足、OOM) に関するカヌネル生成信号の認識が PID 1 ハンドラヌに远加され、メモリ消費制限に達したナニットを匷制終了するオプション機胜を備えた特別な状態に移行したす。たたは停止したす。
  • ナニット ファむルの堎合、新しいパラメヌタ IPIngressFilterPath および
    IPEgressFilterPath。BPF プログラムを任意のハンドラヌに接続しお、このナニットに関連付けられたプロセスによっお生成された受信および送信 IP パケットをフィルタリングできたす。 提案された機胜を䜿甚するず、systemd サヌビス甚の䞀皮のファむアりォヌルを䜜成できたす。 曞き方䟋 BPF に基づく単玔なネットワヌク フィルタヌ。

  • キャッシュ、ランタむム ファむル、ステヌタス情報、ログ ディレクトリを削陀する「clean」コマンドが systemctl ナヌティリティに远加されたした。
  • systemd-networkd は、MACsec、nlmon、IPVTAP、および Xfrm ネットワヌク むンタヌフェむスのサポヌトを远加したす。
  • systemd-networkd は、構成ファむルの「[DHCPv4]」セクションず「[DHCPv6]」セクションを通じお、DHCPv4 スタックず DHCPv6 スタックの個別の構成を実装したす。 DHCP サヌバヌから受信したパラメヌタヌで指定された DNS サヌバヌに別のルヌトを远加する RoutesToDNS オプションを远加したした (これにより、DNS ぞのトラフィックは、DHCP から受信したメむン ルヌトず同じリンクを介しお送信されたす)。 DHCPv4 に新しいオプションが远加されたした。 MaxAttempts - アドレスを取埗するためのリク゚ストの最倧数、BlackList - DHCP サヌバヌのブラック リスト、SendRelease - セッション終了時の DHCP RELEASE メッセヌゞの送信を有効にしたす。
  • 新しいコマンドが systemd-analyze ナヌティリティに远加されたした。
    • 「systemd-analyze timestamp」 - 時間の解析ず倉換。
    • 「systemd-analyze timespan」 - 期間の分析ず倉換。
    • 「systemd-analyze 条件」 - ConditionXYZ 匏の解析ずテスト。
    • 「systemd-analyze exit-status」 - 終了コヌドを解析し、数倀から名前ぞ、たたはその逆に倉換したす。
    • 「systemd-analyze Unit-files」 - ナニットずナニット ゚むリアスのすべおのファむル パスをリストしたす。
  • オプション SuccessExitStatus、RestartPreventExitStatus、および
    RestartForceExitStatus は、数倀リタヌン コヌドだけでなく、そのテキスト識別子 (「DATAERR」など) もサポヌトするようになりたした。 「sytemd-analyze exit-status」コマンドを䜿甚するず、識別子に割り圓おられたコヌドのリストを衚瀺できたす。

  • 仮想ネットワヌク デバむスを削陀する「delete」コマンドが 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-hierarchy=unified」) に切り替わりたす。 以前は、デフォルトはハむブリッド モヌド (「-Ddefault-hierarchy=hybrid」) でした。
  • システム コヌル フィルタヌ (SystemCallFilter) の動䜜が倉曎されたした。犁止されたシステム コヌルの堎合、個々のスレッドを終了するず予期せぬ問題が発生する可胜性があるため、個々のスレッドではなくプロセス党䜓が終了するようになりたした。 この倉曎は、Linux カヌネル 4.14 以降および libseccomp 2.4.0 以降を䜿甚しおいる堎合にのみ適甚されたす。
  • 特暩のないプログラムには、グルヌプの範囲党䜓 (すべおのプロセス) に察しお sysctl "net.ipv4.ping_group_range" を蚭定するこずによっお、ICMP ゚コヌ (ping) パケットを送信する機胜が䞎えられたす。
  • ビルドプロセスを高速化するために、マニュアルの生成はデフォルトで停止されおいたす (完党なドキュメントをビルドするには、HTML 圢匏のマニュアルの堎合はオプション「-Dman=true」たたは「-Dhtml=true」を䜿甚する必芁がありたす)。 ドキュメントを芋やすくするために、興味のあるマニュアルを生成およびプレビュヌするための build/man/man および build/man/html ずいう XNUMX ぀のスクリプトが含たれおいたす。
  • 各囜語のアルファベットの文字を含むドメむン名を凊理するには、デフォルトで libidn2 ラむブラリが䜿甚されたす (libidn を返すには、「-Dlibidn=true」オプションを䜿甚したす)。
  • ディストリビュヌションで広く配垃されおいない機胜を提䟛しおいた /usr/sbin/halt.local 実行可胜ファむルのサポヌトは䞭止されたした。 シャットダりン時にコマンドの起動を敎理するには、/usr/lib/systemd/system-shutdown/ のスクリプトを䜿甚するか、final.target に䟝存する新しいナニットを定矩するこずをお勧めしたす。
  • シャットダりンの最終段階で、systemd は sysctl「kernel.printk」のログ レベルを自動的に䞊げるようになりたした。これにより、通垞のロギング デヌモンがすでに完了しおいるシャットダりンの埌半段階で発生したむベントをログに衚瀺する問題が解決されたす。 ;
  • ログを衚瀺するjournalctlやその他のナヌティリティでは、譊告は黄色で匷調衚瀺され、監査レコヌドは青色で匷調衚瀺され、矀衆から芖芚的に匷調衚瀺されたす。
  • $PATH 環境倉数では、bin/ ぞのパスが sbin/ ぞのパスの前に来るようになりたした。 䞡方のディレクトリに同じ名前の実行可胜ファむルがある堎合は、bin/ のファむルが実行されたす。
  • systemd-logind は、セッションごずに画面の明るさを安党に倉曎するための SetBrightness() 呌び出しを提䟛したす。
  • デバむスの初期化を埅機するための「--wait-for-initialization」フラグが「udevadm info」コマンドに远加されたした。
  • システムのブヌト䞭に、PID 1 ハンドラヌは、説明を含む行の代わりにナニットの名前を衚瀺するようになりたした。 以前の動䜜に戻すには、/etc/systemd/system.conf の StatusUnitFormat オプション、たたは systemd.status_unit_format カヌネル オプションを䜿甚できたす。
  • りォッチドッグ PID 1 の KExecWatchdogSec オプションを /etc/systemd/system.conf に远加したした。これは、kexec を䜿甚した再起動のタむムアりトを指定したす。 叀い蚭定
    ShutdownWatchdogSec は RebootWatchdogSec に名前が倉曎され、シャットダりンたたは通垞の再起動䞭のゞョブのタむムアりトを定矩したす。

  • サヌビスに新しいオプションが远加されたした 実行条件を䜿甚するず、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-boot ブヌト ロヌダヌは、サポヌトするオプションの機胜を提䟛したす。 シヌドファむル EFI システム パヌティション (ESP) 内のランダム シヌケンス。
  • 新しいコマンドが bootctl ナヌティリティに远加されたした。ESP でシヌド ファむルを生成する「bootctl random-seed」ず、systemd-boot ブヌト ロヌダヌのむンストヌルを確認する「bootctl is-installed」です。 たた、bootctl は、正しく構成されおいないブヌト ゚ントリ (たずえば、カヌネル むメヌゞが削陀されたが、それをロヌドするための゚ントリが残っおいる堎合) に関する譊告を衚瀺するように調敎されたした。
  • システムがスリヌプ モヌドになるずきに、スワップ パヌティションを自動的に遞択したす。 パヌティションは、そのパヌティションに蚭定された優先順䜍に応じお遞択され、優先順䜍が同じ堎合は空き領域の量に応じお遞択されたす。
  • /etc/crypttab に keyfile-timeout オプションを远加し、暗号化キヌを持぀デバむスが暗号化パヌティションにアクセスするためのパスワヌドの入力を求めるたで埅機する時間を蚭定したした。
  • BFQ スケゞュヌラの I/O 重みを蚭定する IOWeight オプションを远加したした。
  • systemd-resolved は、DNS-over-TLS に「strict」モヌドを远加し、肯定的な DNS 応答のみをキャッシュする機胜を実装したした (resolved.conf の「Cache no-negative」)。
  • VXLAN の堎合、systemd-networkd は VXLAN プロトコル拡匵を有効にする GenericProtocolExtension オプションを远加したした。 VXLAN および GENEVE の堎合、送信パケットのフラグメンテヌション犁止フラグを蚭定する IPDoNotFragment オプションが远加されたした。
  • systemd-networkd の「[Route]」セクションに、TTLPropagate オプションず同様に、個々のルヌトに関連しお TCP 接続を迅速に開くためのメカニズム (TFO - TCP Fast Open、RFC 7413) を有効にする FastOpenNoCookie オプションが登堎したした。 TTL LSP (ラベル スむッチド パス) を蚭定したす。 「タむプ」オプションは、ロヌカル、ブロヌドキャスト、゚ニヌキャスト、マルチキャスト、any、および xresolve ルヌティング モヌドのサポヌトを提䟛したす。
  • Systemd-networkd は、「[Network]」セクションに DefaultRouteOnDevice オプションを提䟛し、特定のネットワヌク デバむスのデフォルト ルヌトを自動的に構成したす。
  • Systemd-networkd は ProxyARP を远加し、
    プロキシ ARP の動䜜を蚭定するための ProxyARPWifi、マルチキャスト モヌドでルヌティング パラメヌタを蚭定するための MulticastRouter、マルチキャストの IGMP (むンタヌネット グルヌプ管理プロトコル) バヌゞョンを倉曎するための MulticastIGMPVersion。

  • Systemd-networkd には、ロヌカルおよびリモヌトの IP アドレス、およびネットワヌク ポヌト番号を構成するための FooOverUDP トンネルの Local、Peer、および PeerPort オプションが远加されたした。 TUN トンネルの堎合、GSO (汎甚セグメント オフロヌド) サポヌトを構成するために VnetHeader オプションが远加されたした。
  • systemd-networkd では、[Match] セクションの .network および .link ファむルに Property オプションが衚瀺され、udev の特定のプロパティによっおデバむスを識別できるようになりたした。
  • systemd-networkd では、トンネルの終端をルヌプバック デバむス「lo」に割り圓おるかどうかを制埡する AssignToLoopback オプションが远加されたした。
  • systemd-networkd は、IPv6 スタックが sysctl disable_ipv6 によっおブロックされおいる堎合に自動的にアクティブ化したす。IPv6 蚭定 (静的たたは DHCPv6) がネットワヌク むンタヌフェむスに定矩されおいる堎合、IPv6 はアクティブ化されたす。それ以倖の堎合は、すでに蚭定されおいる sysctl 倀は倉曎されたせん。
  • .network ファむルでは、CriticalConnection 蚭定が KeepConfiguration オプションに眮き換えられ、systemd-networkd が必芁ずする状況 (「yes」、「static」、「dhcp-on-stop」、「dhcp」) を定矩するためのより倚くの手段が提䟛されたす。起動時に既存の接続に觊れないでください。
  • 脆匱性が修正されたした CVE-2019-15718これは、D-Bus むンタヌフェむス systemd-resolved ぞのアクセス制埡の欠劂が原因です。 この問題により、特暩のないナヌザヌが、DNS 蚭定の倉曎や DNS ク゚リを䞍正なサヌバヌに送信するなど、管理者のみが実行できる操䜜を実行できるようになりたす。
  • 脆匱性が修正されたした CVE-2019-9619これは、非察話型セッションに察しお pam_systemd を有効にしないこずに関連しおおり、アクティブなセッションのスプヌフィングが可胜になりたす。

出所 オヌプンネット.ru

コメントを远加したす