Systemd System Manager versión 243

Despois de cinco meses de desenvolvemento presentado versión do administrador do sistema systemd 243. Entre as novidades, podemos destacar a integración no PID 1 dun controlador para baixa memoria no sistema, soporte para anexar os seus propios programas BPF para filtrar o tráfico unitario, numerosas opcións novas para systemd-networkd, un modo para supervisar o ancho de banda da rede. interfaces, habilitando de forma predeterminada en sistemas de 64 bits números PID de 22 bits en lugar de 16 bits, a transición a unha xerarquía unificada de cgroups, inclusión en systemd-network-generator.

Principais cambios:

  • Engadiuse ao controlador PID 1 o recoñecemento dos sinais xerados polo núcleo sobre a falta de memoria (Out-Of-Memory, OOM) para transferir as unidades que alcanzaron o límite de consumo de memoria a un estado especial coa posibilidade opcional de obrigalas a finalizar. ou parar;
  • Para ficheiros de unidades, novos parámetros IPIngressFilterPath e
    IPEgressFilterPath, que permite conectar programas BPF con controladores arbitrarios para filtrar os paquetes IP entrantes e saíntes xerados polos procesos asociados a esta unidade. As funcións propostas permítenche crear unha especie de firewall para servizos systemd. Exemplo de escritura un filtro de rede simple baseado en BPF;

  • O comando "limpar" engadiuse á utilidade systemctl para eliminar a caché, os ficheiros de execución, a información de estado e os directorios de rexistro;
  • systemd-networkd engade soporte para interfaces de rede MACsec, nlmon, IPVTAP e Xfrm;
  • systemd-networkd implementa a configuración separada das pilas DHCPv4 e DHCPv6 a través das seccións "[DHCPv4]" e "[DHCPv6]" do ficheiro de configuración. Engadiuse a opción RoutesToDNS para engadir unha ruta separada ao servidor DNS especificado nos parámetros recibidos do servidor DHCP (para que o tráfico ao DNS se envíe a través da mesma ligazón que a ruta principal recibida do DHCP). Engadíronse novas opcións para DHCPv4: MaxAttempts - número máximo de solicitudes para obter un enderezo, BlackList - lista negra de servidores DHCP, SendRelease - activar o envío de mensaxes DHCP RELEASE cando remate a sesión;
  • Engadíronse novos comandos á utilidade systemd-analyze:
    • "systemd-analyze timestamp" - análise e conversión de tempo;
    • "systemd-analyze timespan" - análise e conversión de períodos de tempo;
    • "systemd-analyze condition" - análise e proba de expresións ConditionXYZ;
    • "systemd-analyze exit-status": analiza e converte códigos de saída de números a nomes e viceversa;
    • "systemd-analyze unit-files" - Lista todos os camiños de ficheiros para unidades e alias de unidades.
  • Opcións SuccessExitStatus, RestartPreventExitStatus e
    RestartForceExitStatus agora admite non só códigos de retorno numéricos, senón tamén os seus identificadores de texto (por exemplo, "DATAERR"). Podes ver a lista de códigos asignados aos identificadores mediante o comando "sytemd-analyze exit-status";

  • Engadiuse o comando "eliminar" á utilidade networkctl para eliminar dispositivos de rede virtuais, así como a opción "—stats" para mostrar as estatísticas do dispositivo;
  • Engadíronse a configuración de SpeedMeter e SpeedMeterIntervalSec a networkd.conf para medir periodicamente o rendemento das interfaces de rede. As estatísticas obtidas a partir dos resultados da medición pódense ver na saída do comando 'networkctl status';
  • Engadida nova utilidade systemd-network-generator para xerar ficheiros
    .network, .netdev e .link baseados na configuración IP pasada cando se lanzou a través da liña de comandos do núcleo de Linux no formato de configuración de Dracut;

  • O valor sysctl "kernel.pid_max" nos sistemas de 64 bits está agora configurado por defecto en 4194304 (PID de 22 bits en lugar de 16 bits), o que reduce a probabilidade de colisións ao asignar PIDs, aumenta o límite no número de PID simultaneamente. procesos en execución e ten un impacto positivo na seguridade. O cambio podería levar a problemas de compatibilidade, pero tales problemas aínda non se informaron na práctica;
  • Por defecto, a fase de compilación cambia á xerarquía unificada cgroups-v2 ("-Ddefault-xerarchy=unified"). Anteriormente, o modo predeterminado era o modo híbrido ("-Ddefault-xerarchy=híbrido");
  • O comportamento do filtro de chamadas do sistema (SystemCallFilter) foi modificado, o que, no caso dunha chamada ao sistema prohibida, agora remata todo o proceso, en lugar de fíos individuais, xa que terminar fíos individuais pode dar lugar a problemas imprevisibles. Os cambios só se aplican se tes o núcleo Linux 4.14+ e libseccomp 2.4.0+;
  • Os programas sen privilexios teñen a posibilidade de enviar paquetes ICMP Echo (ping) configurando o sysctl "net.ipv4.ping_group_range" para toda a gama de grupos (para todos os procesos);
  • Para acelerar o proceso de compilación, detívose a xeración de manuais por defecto (para crear documentación completa, cómpre utilizar a opción "-Dman=true" ou "-Dhtml=true" para os manuais en formato html). Para facilitar a visualización da documentación, inclúense dous scripts: build/man/man e build/man/html para xerar e previsualizar manuais de interese;
  • Para procesar nomes de dominio con caracteres de alfabetos nacionais, utilízase a biblioteca libidn2 por defecto (para devolver libidn, use a opción "-Dlibidn=true");
  • O soporte para o ficheiro executable /usr/sbin/halt.local, que proporcionaba unha funcionalidade que non estaba moi distribuída nas distribucións, descontinuouse. Para organizar o lanzamento de comandos ao apagar, recoméndase utilizar scripts en /usr/lib/systemd/system-shutdown/ ou definir unha nova unidade que dependa de final.target;
  • Na última fase de apagado, systemd agora aumenta automaticamente o nivel de rexistro no sysctl "kernel.printk", o que resolve o problema de mostrar no rexistro eventos que ocorreron nas etapas posteriores do apagado, cando os daemons de rexistro habituais xa se completaron. ;
  • En journalctl e outras utilidades que amosan rexistros, os avisos resáltanse en amarelo e os rexistros de auditoría resáltanse en azul para resaltalos visualmente entre a multitude;
  • Na variable de ambiente $PATH, o camiño a bin/ agora aparece antes do camiño a sbin/, é dicir. se hai nomes idénticos de ficheiros executables en ambos os directorios, executarase o ficheiro de bin/;
  • systemd-logind ofrece unha chamada SetBrightness() para cambiar de forma segura o brillo da pantalla por sesión;
  • A marca "--wait-for-initialization" engadiuse ao comando "udevadm info" para esperar a que o dispositivo se inicialice;
  • Durante o inicio do sistema, o controlador PID 1 agora mostra os nomes das unidades en lugar dunha liña coa súa descrición. Para volver ao comportamento anterior, pode usar a opción StatusUnitFormat en /etc/systemd/system.conf ou a opción do núcleo systemd.status_unit_format;
  • Engadiuse a opción KExecWatchdogSec a /etc/systemd/system.conf para o watchdog PID 1, que especifica o tempo de espera para reiniciar usando kexec. Ambiente antigo
    ShutdownWatchdogSec renomeouse a RebootWatchdogSec e define un tempo de espera para os traballos durante o apagado ou o reinicio normal;

  • Engadiuse unha nova opción para os servizos Condición de execución, que permite especificar comandos que se executarán antes de ExecStartPre. En función do código de erro devolto polo comando, tómase unha decisión sobre a execución posterior da unidade: se se devolve o código 0, o lanzamento da unidade continúa, se do 1 ao 254 remata silenciosamente sen marca de fallo, se 255 remata con unha bandeira de falla;
  • Engadiuse un novo servizo systemd-pstore.service para extraer datos de sys/fs/pstore/ e de gardar en /var/lib/pstore para unha análise posterior;
  • Engadíronse novos comandos á utilidade timedatectl para configurar os parámetros NTP para systemd-timesyncd en relación coas interfaces de rede;
  • O comando "localectl list-locales" xa non mostra locais que non sexan UTF-8;
  • Asegura que os erros de asignación de variables nos ficheiros sysctl.d/ sexan ignorados se o nome da variable comeza co carácter “-“;
  • Servizo systemd-random-seed.service agora é enteiramente responsable de inicializar o grupo de entropía do xerador de números pseudoaleatorios do núcleo de Linux. Os servizos que requiren un /dev/urandom correctamente inicializado deberían iniciarse despois de systemd-random-seed.service;
  • O cargador de arranque systemd-boot ofrece a capacidade opcional de soportar arquivo de sementes con secuencia aleatoria na partición do sistema EFI (ESP);
  • Engadíronse novos comandos á utilidade bootctl: "bootctl random-seed" para xerar un ficheiro de semente no ESP e "bootctl is-installed" para comprobar a instalación do cargador de arranque systemd-boot. bootctl tamén se axustou para mostrar avisos sobre a configuración incorrecta das entradas de arranque (por exemplo, cando se elimina a imaxe do núcleo, pero se deixa a entrada para cargala);
  • Ofrece a selección automática da partición de intercambio cando o sistema entra en modo de suspensión. A partición selecciónase dependendo da prioridade configurada para ela e, no caso de idénticas prioridades, da cantidade de espazo libre;
  • Engadiuse a opción keyfile-timeout a /etc/crypttab para definir canto tempo esperará o dispositivo coa clave de cifrado antes de solicitar un contrasinal para acceder á partición cifrada;
  • Engadida a opción IOWeight para establecer o peso de E/S para o programador BFQ;
  • systemd-resolved engadiu o modo "estricto" para DNS sobre TLS e implementou a capacidade de almacenar en caché só respostas DNS positivas ("Cache non-negative" en resolved.conf);
  • Para VXLAN, systemd-networkd engadiu unha opción GenericProtocolExtension para activar as extensións do protocolo VXLAN. Para VXLAN e GENEVE, engadiuse a opción IPDoNotFragment para establecer a bandeira de prohibición de fragmentación para os paquetes saíntes;
  • En systemd-networkd, na sección "[Route]", apareceu a opción FastOpenNoCookie para activar o mecanismo de apertura rápida de conexións TCP (TFO - TCP Fast Open, RFC 7413) en relación con rutas individuais, así como a opción TTLPropagate para configurar TTL LSP (Label Switched Path). A opción "Tipo" ofrece soporte para os modos de enrutamento local, broadcast, anycast, multicast, any e xresolve;
  • Systemd-networkd ofrece unha opción DefaultRouteOnDevice na sección "[Rede]" para configurar automaticamente unha ruta predeterminada para un determinado dispositivo de rede;
  • Systemd-networkd engadiu ProxyARP e
    ProxyARPWifi para configurar o comportamento ARP do proxy, MulticastRouter para configurar os parámetros de enrutamento en modo multicast, MulticastIGMPVersion para cambiar a versión IGMP (Internet Group Management Protocol) para multicast;

  • Systemd-networkd engadiu opcións Local, Peer e PeerPort para os túneles FooOverUDP para configurar os enderezos IP locais e remotos, así como o número de porto de rede. Para os túneles TUN, engadiuse a opción VnetHeader para configurar a compatibilidade con GSO (Descarga de segmentos xenéricos);
  • En systemd-networkd, nos ficheiros .network e .link da sección [Coincidir] apareceu unha opción Propiedade, que permite identificar os dispositivos polas súas propiedades específicas en udev;
  • En systemd-networkd, engadiuse unha opción AssignToLoopback para os túneles, que controla se o final do túnel está asignado ao dispositivo de loopback "lo";
  • systemd-networkd activa automaticamente a pila IPv6 se está bloqueada mediante sysctl disable_ipv6 - IPv6 actívase se se definen a configuración IPv6 (estática ou DHCPv6) para a interface de rede, se non, o valor sysctl xa definido non cambia;
  • Nos ficheiros .network, a configuración CriticalConnection foi substituída pola opción KeepConfiguration, que proporciona máis medios para definir situacións ("si", "estático", "dhcp-on-stop", "dhcp") nas que systemd-networkd debería non tocar as conexións existentes ao iniciarse;
  • Vulnerabilidade corrixida CVE-2019-15718, causado pola falta de control de acceso á interface D-Bus systemd-resolved. O problema permite que un usuario sen privilexios realice operacións que só están dispoñibles para os administradores, como cambiar a configuración de DNS e dirixir consultas de DNS a un servidor deshonesto;
  • Vulnerabilidade corrixida CVE-2019-9619relacionado con non habilitar pam_systemd para sesións non interactivas, o que permite a suplantación da sesión activa.

Fonte: opennet.ru

Engadir un comentario