Обществото на Linux Containers публикува нова версия на инструмента за организация на работа с изолирани контейнери LXC 7.0, който предоставя runtime, подходящ както за стартиране на контейнери с пълна система, близки до виртуални машини, така и за изпълнение на непривилегировани контейнери на отделни приложения (OCI). LXC е ниско ниво инструменти, работещи на нивото на отделните контейнери. За централно управление на контейнерите, разположени в клъстер от няколко сървъра, се развиват системите Incus и LXD на базата на LXC. Версията LXC 7.0 е класифицирана като дългосрочна поддръжка, с актуализации, които ще се предлагат в продължение на 5 години (до 2031 година). Кодът на LXC е написан на C и се разпространява под лиценз GPLv2.
В състава на LXC влиза библиотеката liblxc, набор от утилити (lxc-create, lxc-start, lxc-stop, lxc-ls и др.), шаблони за изграждане на контейнери и набор от биндинги за различни програмни езици. Изолацията се осъществява чрез вградените механизми на ядрото на Linux. За изолация на процеси, мрежов стек ipc, uts, идентификатори на потребители и точки на монтиране се използва механизма на пространства от имена (namespaces). За ограничаване на ресурсите се използват cgroups. За понижаване на привилегиите и ограничаване на достъпа се задействат възможности на ядрото, като профили Apparmor и SELinux, политики Seccomp, Chroots (pivot_root) и capabilities.
Основни промени:
- Реализирана е изолация на процеса на мониторинг чрез механизма Landlock, който позволява на непривилегировани програми да освобождават ненужните привилегии за работа, доброволно ограничавайки допълнителния си достъп до системата с цел повишаване на сигурността. Landlock се използва за ограничаване на обработчиците на API мониторинга, за да работят единствено с контейнера и да се забрани достъпът до файлове извън него. Защита се прилага при изграждането на landlock-monitor.
- Разделена е конфигурацията на обработчиците (hook) и контейнерите (runtime). Добавени са нови настройки lxc.environment.hooks и lxc.environment.runtime, с помощта на които могат селективно да се задават променливи на околната среда само за контейнерите, без да се предават на hook обработчиците, и обратно.
- Поддръжката на cgroup v1 е прекратена, както и на ядрото на Linux, което не поддържа PIDFD и новия API за управление на монтиране.
- Отстранена уязвимост (CVE-2026-39402), позволяваща да се заобиколи авторизацията и да се постигне изтриване на портове OVS (OpenVswitch) чрез манипулация с командата «lxc-user-nic delete». Уязвимостта позволява непривилегирован потребител да изключи мрежовите интерфейси за контейнери, стартирани от други потребители.
Освен това, компанията Canonical публикува нова версия на системата за управление на контейнери LXD 6.8. LXD предоставят инструменти за централизирано управление на контейнери и виртуални машини, разположени както на един хост, така и в клъстер от няколко. сървъри. Проектът е реализиран под формата на фонов процес, приемащ заявки по мрежата чрез REST API и поддържащ различни бекенди за съхранение (дерево от директории, ZFS, Btrfs, LVM), снимки на състоянието, миграция на работещи контейнери с една машина на друга и средства за съхранение на образи на контейнери. Като runtime за стартиране на контейнери се използва инструментариумът LXC.
Сред измененията в LXD 6.8:
- Добавена е функцията за свързване на клъстери (Cluster links), позволяваща организирането на защитено и аутентифицирано чрез TLS-сертификати взаимодействие между различни клъстери LXD. За управление на свързването е добавена команда «lxc cluster link» и е реализирана съответна секция в уеб интерфейса.

- Добавена е нова роля на възли в клъстера — «control-plane», чрез която могат да се отделят възли, участващи в определянето на консенсуса Raft и способни да функционират като резервни или основни възли на БД.
- Реализирани са репликатори, позволяващи да се използва API Сluster links за репликация на съдържанието на възли в други клъстери LXD с цел осигуряване на отказоустойчивост.
- Добавена е поддръжка за горещо свързване на устройства GPU CDI (Container Device Interface) към работещи контейнери.
- В драйвера за хранилище Ceph е добавена поддръжка на протокола msgr2 (Ceph messenger v2).
- В уеб интерфейса са добавени инструменти за управление на ролите на възли в клъстера, модернизирана е редакцията на конфигурацията във формат YAML, реализирана е стилизирана под Ubuntu оформление на вградения терминален емулатор, подобрен е изборът на драйвери за хранилища.



Източник: opennet.ru




