Выпуск systemd 216 c networkctl и кэширующим DNS Resolver
Наиболее существенные изменения:
- В 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-ов).
Источник: http://www.opennet.ru/opennews/art.shtml?num=40414
|
0 | Tweet | Нравится |
|