Релиз инструментария Netplan 1.0

5 апреля 2024 года состоялся релиз первой мажорной версии инструментария для конфигурации сети Netplan, развивающего формат для хранения настроек сетевых интерфейсов и связанные с ним утилиты для управления сетевыми конфигурациями.

Решение Netplan обеспечивает хранение сетевых параметров в формате YAML и предоставляет бэкенды, абстрагирующие доступ к конфигурации для NetworkManager и systemd-networkd. Исходный код проекта написан на языках программирования Python и C и опубликован на GitHub под лицензией GPLv3.

Разработка Netplan идёт уже более семи лет. В проекте участвуют разработчики от Canonical, Microsoft и Deutsche Telekom.

Проект Netplan применяется в Ubuntu начиная с выпуска 17.10, а также задействован в Ubuntu 23.10 Desktop в качестве бэкенда по умолчанию в NetworkManager и применяется по умолчанию для управления сетевыми настройками в официальных сборках Debian 12 для облачных систем.

Поддержка Netplan также реализована для cloud-init и инсталлятора Calamares. Стабильный выпуск Netplan 1.0 войдёт в состав дистрибутива Ubuntu 24.04 и будет поставляться в Debian 13.

Согласно данным OpenNET, проект Netplan 1.0 отмечен как первый значительный стабильный выпуск, позволивший избавиться от некоторых давно устаревших возможностей. Избавление от технического долга привело к упрощению сопровождения кодовой базы и устранило препятствия, мешавшие реализации некоторых новых идей. Кроме стабилизации API библиотеки libnetplan1, в новую версию проекта внесены следующие изменения и дополнения:

• одновременная поддержка WPA2 и WPA3;

• поддержка сетевых устройств Mellanox VF-LAG с SR-IOV (Single-Root I/O Virtualization);

• новые параметры hairpin и port-mac-learning, полезные при настройке туннелей VXLAN с использованием FRRouting;

• новый набор обвязок для языка Python (python3-netplan), упрощающие интеграцию со сторонними системами;

• команда netplan status —diff, позволяющая наглядно оценить различия между фактическим состоянием настроек и файлами конфигурации.

Применение netplan унифицирует определение базовых конфигурационных файлов, используемых в NetworkManager и systemd-networkd, избавляя от необходимости изучения деталей форматов конфигурации каждой из этих систем. Суть работы netplan сводится к тому, что в процессе начальной загрузки он читает базовые сетевые настройки из файлов «/{lib,etc,run}/netplan/*.yaml» и записывает конфигурацию в каталог /run в формате, подходящем для дальнейшей обработки в systemd-networkd или NetworkManager.

Особенности проекта Netplan:

• игнорирование устройств, не отмеченных в конфигурации;

• вся конфигурация хранится только в исходном YAML-файле (без использования /etc/network/interfaces);

• возможность разбиения конфигурации на несколько файлов (например, для выноса настроек libvirt и lxd);

• гибкие возможности выбора и смены бэкенда.

• описание параметров сетевых интерфейсов в netplan осуществляется при помощи декларативного синтаксиса, позволяющего достаточно просто описать структуру сложной сети.

Достоинства инструментария netplan по сравнению с ifupdown:

• декларативный синтаксис;

• возможность применения масок для имён сетевых интерфейсов, MAC-адресов, драйверов и других компонентов;

• учёт контекста при разборе иерархии параметров сетевых интерфейсов, что позволяет корректно и в правильном порядке передать настройки обработчикам (в ifupdown при разборе сложных конфигураций не исключено возникновение проблем, вызванных состоянием гонки).

Источник: habr.com

0 0 голоса
Рейтинг новости
0
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии