phát hành trình quản lý hệ thống systemd 243

Sau năm tháng phát triển trình bày phát hành quản lý hệ thống systemd 243. Trong số những cải tiến, chúng ta có thể lưu ý đến việc tích hợp vào PID 1 của trình xử lý bộ nhớ thấp trong hệ thống, hỗ trợ đính kèm các chương trình BPF của riêng bạn để lọc lưu lượng đơn vị, nhiều tùy chọn mới cho systemd-networkd, chế độ giám sát băng thông của mạng giao diện, bật theo mặc định trên hệ thống 64 bit Số PID 22 bit thay vì 16 bit, chuyển sang hệ thống phân cấp nhóm hợp nhất, đưa vào systemd-network-generator.

Sự thay đổi chính:

  • Việc nhận dạng các tín hiệu do kernel tạo ra khi hết bộ nhớ (Out-Of-Memory, OOM) đã được thêm vào bộ xử lý PID 1 để chuyển các đơn vị đã đạt đến giới hạn tiêu thụ bộ nhớ sang trạng thái đặc biệt với khả năng tùy chọn buộc chúng chấm dứt hoặc dừng lại;
  • Đối với các tệp đơn vị, các tham số mới IPIngressFilterPath và
    IPEgressFilterPath, cho phép bạn kết nối các chương trình BPF với các trình xử lý tùy ý để lọc các gói IP đến và đi được tạo bởi các quy trình được liên kết với đơn vị này. Các tính năng được đề xuất cho phép bạn tạo một loại tường lửa cho các dịch vụ systemd. Viết ví dụ bộ lọc mạng đơn giản dựa trên BPF;

  • Lệnh “clean” đã được thêm vào tiện ích systemctl để xóa bộ đệm, tệp thời gian chạy, thông tin trạng thái và thư mục nhật ký;
  • systemd-networkd bổ sung hỗ trợ cho các giao diện mạng MACsec, nlmon, IPVTAP và Xfrm;
  • systemd-networkd triển khai cấu hình riêng biệt của ngăn xếp DHCPv4 và DHCPv6 thông qua các phần “[DHCPv4]” và “[DHCPv6]” trong tệp cấu hình. Đã thêm tùy chọn RoutesToDNS để thêm một tuyến riêng đến máy chủ DNS được chỉ định trong các tham số nhận được từ máy chủ DHCP (để lưu lượng truy cập đến DNS được gửi qua cùng một liên kết với tuyến chính nhận được từ DHCP). Các tùy chọn mới đã được thêm vào cho DHCPv4: MaxAttempts - số lượng yêu cầu tối đa để lấy địa chỉ, BlackList - danh sách đen các máy chủ DHCP, SendRelease - cho phép gửi tin nhắn DHCP RELEASE khi phiên kết thúc;
  • Các lệnh mới đã được thêm vào tiện ích phân tích systemd:
    • “dấu thời gian phân tích hệ thống” - phân tích và chuyển đổi thời gian;
    • “systemd-analyze timespan” - phân tích và chuyển đổi các khoảng thời gian;
    • “điều kiện phân tích hệ thống” - phân tích cú pháp và kiểm tra các biểu thức ConditionXYZ;
    • “systemd-analyze exit-status” - phân tích và chuyển đổi mã thoát từ số sang tên và ngược lại;
    • "systemd-analyze unit-files" - Liệt kê tất cả các đường dẫn tệp cho các đơn vị và bí danh đơn vị.
  • Tùy chọn SuccessExitStatus, Khởi động lạiPreventExitStatus và
    Khởi động lạiForceExitStatus hiện không chỉ hỗ trợ mã trả về dạng số mà còn cả mã nhận dạng văn bản của chúng (ví dụ: "DATAERR"). Bạn có thể xem danh sách mã được gán cho số nhận dạng bằng lệnh “sytemd-analyze exit-status”;

  • Lệnh “xóa” đã được thêm vào tiện ích networkctl để xóa các thiết bị mạng ảo, cũng như tùy chọn “—stats” để hiển thị số liệu thống kê về thiết bị;
  • Cài đặt SpeedMeter và SpeedMeterIntervalSec đã được thêm vào networkd.conf để đo định kỳ thông lượng của giao diện mạng. Thống kê thu được từ kết quả đo có thể được xem trong đầu ra của lệnh 'networkctl status';
  • Đã thêm tiện ích mới systemd-network-generator để tạo tệp
    .network, .netdev và .link dựa trên cài đặt IP được thông qua khi khởi chạy qua dòng lệnh nhân Linux ở định dạng cài đặt Dracut;

  • Giá trị sysctl "kernel.pid_max" trên hệ thống 64-bit hiện được đặt mặc định thành 4194304 (PID 22-bit thay vì 16-bit), giúp giảm khả năng xảy ra xung đột khi gán PID, tăng giới hạn về số lượng đồng thời các quy trình đang chạy và có tác động tích cực đến bảo mật. Sự thay đổi này có thể dẫn đến các vấn đề về tính tương thích nhưng những vấn đề như vậy vẫn chưa được báo cáo trong thực tế;
  • Theo mặc định, giai đoạn xây dựng chuyển sang hệ thống phân cấp thống nhất cgroups-v2 (“-Ddefault-hierarchy=unified”). Trước đây, mặc định là chế độ kết hợp (“-Ddefault-hierarchy=hybrid”);
  • Hành vi của bộ lọc cuộc gọi hệ thống (SystemCallFilter) đã được thay đổi, trong trường hợp cuộc gọi hệ thống bị cấm, hiện sẽ chấm dứt toàn bộ quá trình, thay vì các luồng riêng lẻ, vì việc chấm dứt các luồng riêng lẻ có thể dẫn đến các sự cố không thể đoán trước. Những thay đổi chỉ áp dụng nếu bạn có nhân Linux 4.14+ và libseccomp 2.4.0+;
  • Các chương trình không có đặc quyền được cấp khả năng gửi các gói ICMP Echo (ping) bằng cách đặt sysctl "net.ipv4.ping_group_range" cho toàn bộ phạm vi nhóm (cho tất cả các quy trình);
  • Để tăng tốc quá trình xây dựng, việc tạo hướng dẫn sử dụng con người đã bị dừng theo mặc định (để xây dựng tài liệu đầy đủ, bạn cần sử dụng tùy chọn “-Dman=true” hoặc “-Dhtml=true” đối với hướng dẫn sử dụng ở định dạng html). Để giúp xem tài liệu dễ dàng hơn, hai tập lệnh được bao gồm: build/man/man và build/man/html để tạo và xem trước các hướng dẫn sử dụng quan tâm;
  • Để xử lý tên miền có các ký tự từ bảng chữ cái quốc gia, thư viện libidn2 được sử dụng theo mặc định (để trả về libidn, hãy sử dụng tùy chọn “-Dlibidn=true”);
  • Hỗ trợ cho tệp thực thi /usr/sbin/halt.local, cung cấp chức năng không được phân phối rộng rãi trong các bản phân phối, đã bị ngừng. Để tổ chức khởi chạy các lệnh khi tắt, nên sử dụng các tập lệnh trong /usr/lib/systemd/system-shutdown/ hoặc xác định một đơn vị mới phụ thuộc vào Final.target;
  • Ở giai đoạn tắt máy cuối cùng, systemd hiện tự động tăng cấp độ nhật ký trong sysctl “kernel.printk”, điều này giải quyết vấn đề hiển thị trong các sự kiện nhật ký xảy ra trong giai đoạn tắt máy sau này, khi trình nền ghi nhật ký thông thường đã hoàn thành ;
  • Trong tạp chí và các tiện ích khác hiển thị nhật ký, các cảnh báo được đánh dấu bằng màu vàng và các bản ghi kiểm tra được đánh dấu bằng màu xanh lam để làm nổi bật chúng một cách trực quan giữa đám đông;
  • Trong biến môi trường $PATH, đường dẫn đến bin/ bây giờ xuất hiện trước đường dẫn đến sbin/, tức là. nếu có tên giống hệt nhau của các tệp thực thi trong cả hai thư mục, thì tệp từ bin/ sẽ được thực thi;
  • systemd-logind cung cấp lệnh gọi SetBrightness() để thay đổi độ sáng màn hình một cách an toàn trên cơ sở mỗi phiên;
  • Cờ “--wait-for-initialization” đã được thêm vào lệnh “udevadm info” để chờ thiết bị khởi tạo;
  • Trong quá trình khởi động hệ thống, trình xử lý PID 1 hiện hiển thị tên của các đơn vị thay vì một dòng mô tả chúng. Để hoàn nguyên về hành vi trước đây, bạn có thể sử dụng tùy chọn StatusUnitFormat trong /etc/systemd/system.conf hoặc tùy chọn kernel systemd.status_unit_format;
  • Đã thêm tùy chọn KExecWatchdogSec vào /etc/systemd/system.conf cho cơ quan giám sát PID 1, tùy chọn này chỉ định thời gian chờ để khởi động lại bằng kexec. Cài đặt cũ
    ShutdownWatchdogSec đã được đổi tên thành RebootWatchdogSec và xác định thời gian chờ cho các công việc trong khi tắt máy hoặc khởi động lại bình thường;

  • Một tùy chọn mới đã được thêm vào cho các dịch vụ Điều kiện thực thi, cho phép bạn chỉ định các lệnh sẽ được thực thi trước ExecStartPre. Dựa trên mã lỗi được lệnh trả về, quyết định được đưa ra về việc thực thi thêm đơn vị - nếu mã 0 được trả về, quá trình khởi chạy đơn vị sẽ tiếp tục, nếu từ 1 đến 254 thì nó kết thúc âm thầm mà không có cờ lỗi, nếu 255 thì nó kết thúc bằng cờ lỗi;
  • Đã thêm dịch vụ mới systemd-pstore.service để trích xuất dữ liệu từ sys/fs/pstore/ và lưu vào /var/lib/pstore để phân tích thêm;
  • Các lệnh mới đã được thêm vào tiện ích timedatectl để định cấu hình các tham số NTP cho systemd-timesyncd liên quan đến giao diện mạng;
  • Lệnh "localectl list-locales" không còn hiển thị các ngôn ngữ khác ngoài UTF-8;
  • Đảm bảo rằng các lỗi gán biến trong tệp sysctl.d/ sẽ được bỏ qua nếu tên biến bắt đầu bằng ký tự “-“;
  • Dịch vụ systemd-random-seed.service hiện hoàn toàn chịu trách nhiệm khởi tạo nhóm entropy của trình tạo số giả ngẫu nhiên trong nhân Linux. Các dịch vụ yêu cầu /dev/urandom được khởi tạo chính xác phải được khởi động sau systemd-random-seed.service;
  • Bộ tải khởi động systemd-boot cung cấp khả năng tùy chọn để hỗ trợ tập tin hạt giống với chuỗi ngẫu nhiên trong Phân vùng hệ thống EFI (ESP);
  • Các lệnh mới đã được thêm vào tiện ích bootctl: “bootctl Random-seed” để tạo tệp hạt giống trong ESP và “bootctl is-installed” để kiểm tra quá trình cài đặt bộ tải khởi động systemd-boot. bootctl cũng đã được điều chỉnh để hiển thị các cảnh báo về cấu hình không chính xác của các mục khởi động (ví dụ: khi hình ảnh hạt nhân bị xóa, nhưng mục tải nó vẫn còn lại);
  • Cung cấp lựa chọn tự động phân vùng trao đổi khi hệ thống chuyển sang chế độ ngủ. Phân vùng được chọn tùy thuộc vào mức độ ưu tiên được định cấu hình cho nó và trong trường hợp có mức độ ưu tiên giống nhau, dung lượng trống;
  • Đã thêm tùy chọn keyfile-timeout vào /etc/crypttab để đặt khoảng thời gian thiết bị có khóa mã hóa sẽ đợi trước khi nhắc nhập mật khẩu để truy cập vào phân vùng được mã hóa;
  • Đã thêm tùy chọn IOWeight để đặt trọng số I/O cho bộ lập lịch BFQ;
  • systemd-resolve đã thêm chế độ 'nghiêm ngặt' cho DNS-over-TLS và triển khai khả năng chỉ lưu vào bộ đệm các phản hồi DNS tích cực ("Bộ đệm không âm" trong đã giải quyết.conf);
  • Đối với VXLAN, systemd-networkd đã thêm tùy chọn GenericProtocolExtension để bật tiện ích mở rộng giao thức VXLAN. Đối với VXLAN và GENEVE, tùy chọn IPDoNotFragment đã được thêm vào để đặt cờ cấm phân mảnh cho các gói gửi đi;
  • Trong systemd-networkd, trong phần “[Route]”, tùy chọn FastOpenNoCookie đã xuất hiện để kích hoạt cơ chế mở nhanh các kết nối TCP (TFO - TCP Fast Open, RFC 7413) liên quan đến các tuyến riêng lẻ, cũng như tùy chọn TTLPropagate để định cấu hình TTL LSP (Đường dẫn chuyển đổi nhãn). Tùy chọn “Loại” cung cấp hỗ trợ cho các chế độ định tuyến cục bộ, phát sóng, phát sóng, phát đa hướng, bất kỳ và xresolve;
  • Systemd-networkd cung cấp tùy chọn DefaultRouteOnDevice trong phần “[Network]” để tự động định cấu hình tuyến mặc định cho một thiết bị mạng nhất định;
  • Systemd-networkd đã thêm ProxyARP và
    ProxyARPWifi để cài đặt hành vi ARP proxy, MulticastRouter để cài đặt các tham số định tuyến ở chế độ phát đa hướng, MulticastIGMPVersion để thay đổi phiên bản IGMP (Giao thức quản lý nhóm Internet) cho phát đa hướng;

  • Systemd-networkd đã thêm các tùy chọn Local, Peer và PeerPort cho các đường hầm FooOverUDP để định cấu hình địa chỉ IP cục bộ và từ xa, cũng như số cổng mạng. Đối với các đường hầm TUN, tùy chọn VnetHeader đã được thêm vào để định cấu hình hỗ trợ GSO (Giảm tải phân đoạn chung);
  • Trong systemd-networkd, trong các tệp .network và .link trong phần [Match], tùy chọn Thuộc tính đã xuất hiện, cho phép bạn xác định các thiết bị theo các thuộc tính cụ thể của chúng trong udev;
  • Trong systemd-networkd, tùy chọn GánToLoopback đã được thêm cho các đường hầm, tùy chọn này kiểm soát xem phần cuối của đường hầm có được gán cho thiết bị loopback “lo” hay không;
  • systemd-networkd tự động kích hoạt ngăn xếp IPv6 nếu nó bị chặn thông qua sysctldisable_ipv6 - IPv6 được kích hoạt nếu cài đặt IPv6 (tĩnh hoặc DHCPv6) được xác định cho giao diện mạng, nếu không thì giá trị sysctl đã đặt không thay đổi;
  • Trong các tệp .network, cài đặt CriticalConnection đã được thay thế bằng tùy chọn KeepConfiguration, tùy chọn này cung cấp nhiều phương tiện hơn để xác định các tình huống (“có”, “tĩnh”, “dhcp-on-stop”, “dhcp”) trong đó systemd-networkd nên không chạm vào các kết nối hiện có khi khởi động;
  • Đã sửa lỗ hổng CVE-2019-15718, do thiếu khả năng kiểm soát quyền truy cập vào giao diện D-Bus đã được giải quyết bằng hệ thống. Sự cố này cho phép người dùng không có đặc quyền thực hiện các hoạt động chỉ dành cho quản trị viên, chẳng hạn như thay đổi cài đặt DNS và chuyển hướng truy vấn DNS đến máy chủ giả mạo;
  • Đã sửa lỗ hổng CVE-2019-9619liên quan đến việc không bật pam_systemd cho các phiên không tương tác, điều này cho phép giả mạo phiên hoạt động.

Nguồn: opennet.ru

Thêm một lời nhận xét