Выпуск systemd 216 c networkctl и кэширующим DNS Resolver

20 августа 2014 года

Леннарт Поттеринг (Lennart Poettering) представил выпуск системного менеджера systemd 216, который сочетает в себе функции системы инициализации, механизм для контроля за выполнением фоновых процессов, службу для журналирования событий и средства для управления сервисами, сеансами пользователей и подключаемыми устройствами. Для определения параметров сервисов в Systemd используется набор конфигурационных unit-файлов, вместо оформления сценариев запуска в виде shell-скриптов. Система нацелена на интенсивную параллелизацию выполнения сервисов на этапе загрузки системы, вобрав в себя лучшие черты таких систем, как launchd (Mac OS X), SMF (Solaris) и Upstart (Ubuntu, старые версии Fedora). В настоящее время на использование systemd уже перешли такие дистрибутивы, как Fedora, openSUSE, Mandriva и Arch Linux, одобрен переход дистрибутивов Debian и Ubuntu по умолчанию на systemd.

Наиболее существенные изменения:

  • В systemd-resolved добавлена поддержка кэширования DNS-запросов и полноценная реализация LLMNR (Link Local Multicast Name Resolution). Представлен systemd-resolved D-Bus API для резолвинга имён, адресов и RR-записей через DBus. В отличие от встроенного в glibc резолвера, в systemd-resolved DNS-сервер и кэш разделены и привязаны к сетевым интерфейсам. DNS-запросы отправляются одновременно через все сетевые интерфейсы, указанные в настройках DNS-сервера (чтобы корректно обработать отдельные имена, используемые внутри VPN и LAN). Параметры для работы

systemd-resolved могут быть автоматически получены от systemd-networkd, который в свою очередь может получить их по DHCP.

Добавлен новый NSS-модуль «nss-resolve», который может использоваться в glibc «nss-dns» для резолвинга имён через systemd-resolved. Добавлен новый NSS-модуль nss-mymachines для автоматического резолвинга имён всех зарегистрированных локальных контейнеров. Для формирования запросов добавлена утилита «systemd-resolve-host». Обеспечена поддержка IDNA для работы с доменами, в которых используются национальные наборы символов («.рф» и т.п.). В будущем выпуске ожидается поддержка DNSSEC и mDNS/DNS-SD;

  • В состав включена новая утилита «networkctl», в рамках которой развивается консольный клиент для подсистемы настройки сети «networkd». В настоящее время утилита может использоваться только для получения информации о сетевых интерфейсах и их состоянии. В будущем планируется довести возможности networkctl до полнофункционального инструмента для управления сетью. В отличие от iproute2, утилита networkctl позиционируется как более высокоуровневый инструмент который осуществляет агрегацию статистики из разных источников, таких как netlink, udev, networkd и встроенный в networkd dhcp-клиент. Полученные данные комбинируются в наглядных обобщённых отчётах.



  • В шаблоны /usr/lib/sysusers.d/, используемые утилитой systemd-sysusers для формирования содержимого /etc/passwd и /etc/group, добавлена поддержка нового типа сток конфигурации «r», применяемого для задания диапазона UID/GID, выделяемого системным пользователям и группам. В строку типа «u» добавлен столбец для определения домашней директории. В systemd-sysusers добавлена возможность загрузки шаблона из стандартного ввода (STDIN), а не только из файла. Обеспечено обновление содержимого shadow-файлов;
  • Добавлена новая библиотека systemd-terminal, предоставляющая функции для разбора и отрисовки данных TTY. В будущем, планируется использовать данную библиотеку в новой подсистеме виртуальных терминалов, работающей в пространстве пользователя;
  • Добавлена новая утилита systemd-journal-upload, позволяющая организовать процесс загрузки журнала на внешние системы, на которых запущен сервис systemd-journal-remote;
  • Добавлен новый компонент «systemd-firstboot», который при первой загрузке интерактивно запрашивает у пользователя основную информацию для использования в systemd (часовой пояс, пароль root, имя хоста);
  • В некоторых bus API, предоставляемых обработчиком PID 1, обеспечена опциональная возможность обращения к PolicyKit для получения подтверждения выполнения привилегированных операций для непривилегированных клиентов;
  • В systemd-timesyncd добавлена поддержка автоматического получения настроек доступа к NTP-серверу через systemd-networkd, который может получить эти настойки через DHCP;
  • В юниты .socket добавлены директивы DeferAcceptSec, KeepAliveIntervalSec, KeepAliveTimeSec, KeepAliveProbes и NoDelay для включения опций TCP-сокетов TCP_DEFER_ACCEPT, keep-alive и выключения алгоритма Nagle;
  • В logind добавлена поддержка нового типа сеансов «web», которые можно использовать для запуска таких web-интерфейсов, как Cockpit, с регистрацией web-клиента в форме PAM-сеанса;
  • В systemd-nspawn добавлена опция «--volatile=» для запуска контейнера без предварительно подготовленных директорий /etc и /var;
  • Клиент kdbus переведён на использование новой подсистемы ядра Linux 3.17 memfd вместо старого варианта, привязанного к kdbus;
  • В systemd-analyze добавлена команда «verify» для проверки unit-файлов в режиме offline;
  • В клиент и сервер DHCP из состава systemd-networkd добавлена поддержка метода FORCERENEW и опций для настройки идентификатора клиента и broadcast-режима;
  • В systemd-networkd добавлены дополнительные опции для настройки агрегирования сетевых интерфейсов (bonding), обеспечена возможность указания метрики для статических маршрутов. По умолчанию прекращена отправка широковещательных запросов DHCP-клиентом (для включения нужно установить опцию RequestBroadcast=yes);
  • udev теперь в первую очередь применяет имена сетевых интерфейсов, переданных ядром, если ядро поддерживает обеспечение предсказуемости таких имён. Поведение можно изменить через настройку NamePolicy= в файлах .link;
  • В journald добавлена поддержка сжатия с использованием алгоритма LZ4. Так как наиболее распространенная реализация syslog rsyslog может получать данные из journald напрямую, journald теперь не перенаправляет по умолчанию все данные в работающий демон syslog. Для включения перенаправления следует использовать опцию ForwardToSyslog= в journald.conf;
  • Добавлена новая утилита «systemd-escape» для экранирования спецсимволов в строках (например, используется для построения имён unit-ов).

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск systemd 216 c networkctl и кэширующим DNS Resolver», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.