Después de siete años de desarrollo, se publicó el lanzamiento del kit de herramientas Netplan 1.0, que desarrolla un formato para almacenar configuraciones de interfaz de red y utilidades asociadas para administrar configuraciones de red. Netplan proporciona almacenamiento de parámetros en formato YAML y proporciona backends que abstraen el acceso a la configuración para NetworkManager y systemd-networkd. El código del proyecto está escrito en Python y C y se distribuye bajo la licencia GPLv3.
Además de los empleados de Canonical, también participan en el desarrollo del proyecto empleados de Microsoft y Deutsche Telekom. Netplan ya se está utilizando en Ubuntu a partir de la versión 17.10, involucrado en Ubuntu 23.10 Escritorio como backend predeterminado en NetworkManager y se utiliza por defecto para administrar la configuración de red en compilaciones oficiales. Debian 12 para sistemas en la nube. También se ha implementado la compatibilidad con Netplan para cloud-init y el instalador Calamares. La nueva versión de Netplan 1.0 se incluirá en la distribución. Ubuntu 24.04 y se entregará en Debian 13.
Netplan 1.0 marca la primera versión estable importante, eliminando algunas características obsoletas desde hace mucho tiempo. La eliminación de la deuda técnica hizo que el código base fuera más fácil de mantener y eliminó las barreras que impedían la implementación de algunas ideas nuevas. Además de estabilizar la API de la biblioteca libnetplan1, la nueva versión contiene los siguientes cambios:
- Soporte simultáneo para WPA2 y WPA3.
- Soporte para dispositivos de red Mellanox VF-LAG con SR-IOV (virtualización de E/S de raíz única).
- Nuevas opciones "hairpin" y "port-mac-learning" útiles al configurar túneles VXLAN usando FRRouting.
- Un nuevo conjunto de marcos para el lenguaje Python (python3-netplan), que simplifica la integración con sistemas de terceros.
- El comando "netplan status -diff" le permite evaluar visualmente las diferencias entre el estado real de la configuración y los archivos de configuración.

El uso de netplan unifica la definición de los archivos de configuración básicos utilizados por NetworkManager y systemd-networkd, eliminando la necesidad de conocer los detalles de los formatos de configuración de cada sistema. La esencia de cómo funciona netplan es que durante el proceso de arranque inicial lee la configuración básica de red de los archivos “/{lib,etc,run}/netplan/*.yaml” y escribe la configuración en el directorio /run en un formato adecuado. para su posterior procesamiento en systemd-networkd o NetworkManager.

Características de Netplan:
- Ignorar dispositivos no marcados en la configuración;
- Toda la configuración se almacena únicamente en el archivo YAML de origen (sin utilizar /etc/network/interfaces);
- Posibilidad de dividir la configuración en varios archivos (por ejemplo, para exportar configuraciones de libvirt y lxd);
- Opciones flexibles para elegir y cambiar el backend.
- La descripción de los parámetros de la interfaz de red en netplan se realiza mediante sintaxis declarativa, que permite describir de forma muy sencilla la estructura de una red compleja.
Entre las ventajas de netplan frente a ifupdown:
- Sintaxis declarativa;
- Capacidad de utilizar máscaras para nombres de interfaces de red, direcciones MAC, controladores y otros componentes;
- Teniendo en cuenta el contexto al analizar la jerarquía de los parámetros de la interfaz de red, lo que le permite pasar correctamente y en el orden correcto la configuración a los controladores (en ifupdown, al analizar configuraciones complejas, no se pueden descartar problemas causados por las condiciones de carrera).
Fuente: opennet.ru

