The Netplan 1.0 network configuration system used in Ubuntu is now available.

After seven years of development, the Netplan 1.0 toolkit has been released, which enhances the format for storing network interface settings and related utilities for managing network configurations. Netplan ensures the storage of parameters in YAML format and provides backends that abstract access to the configuration for NetworkManager and systemd-networkd. The project's code is written in Python and C, and is distributed under the GPLv3 license.

In addition to employees from Canonical, Microsoft and Deutsche Telekom are also involved in the development of the project. Netplan has been used in Ubuntu since version 17.10, is utilized in Ubuntu 23.10 Desktop as the default backend in NetworkManager, and is used by default for managing network settings in the official Debian 12 builds for cloud systems. Support for Netplan is also implemented for cloud-init and the Calamares installer. The new release of Netplan 1.0 will be included in the Ubuntu 24.04 distribution and will be shipped with Debian 13.

Netplan 1.0 is noted as the first significant stable release, eliminating some long-outdated features. The reduction of technical debt has simplified the maintenance of the codebase and removed barriers that hindered the implementation of some new ideas. Besides stabilizing the API of the libnetplan1 library, the new version includes the following changes:

  • Simultaneous support for WPA2 and WPA3.
  • Support for Mellanox VF-LAG network devices with SR-IOV (Single-Root I/O Virtualization).
  • New parameters 'hairpin' and 'port-mac-learning', useful for configuring VXLAN tunnels using FRRouting.
  • A new set of bindings for Python (python3-netplan), simplifying integration with third-party systems.
  • The command 'netplan status —diff', which visually shows the differences between the actual state of the settings and the configuration files.
    The Netplan 1.0 network configuration system used in Ubuntu is now available.

The use of netplan unifies the definition of basic configuration files used in NetworkManager and systemd-networkd, eliminating the need to learn the details of the configuration formats of each of these systems. Essentially, netplan reads basic network settings from files '/{lib,etc,run}/netplan/*.yaml' during initial boot and writes the configuration to the /run directory in a format suitable for further processing in systemd-networkd or NetworkManager.

The Netplan 1.0 network configuration system used in Ubuntu is now available.

Features of Netplan:

  • Ignoring devices not marked in the configuration;
  • All configurations are stored solely in the original YAML file (without using /etc/network/interfaces);
  • The ability to split configurations into multiple files (for example, to externalize settings for libvirt and lxd);
  • Flexible options for selecting and changing the backend.
  • The description of network interface parameters in netplan is done using a declarative syntax, which allows for a straightforward description of complex network structures.

Advantages of netplan compared to ifupdown:

  • Declarative syntax;
  • The ability to apply masks to network interface names, MAC addresses, drivers, and other components;
  • Context consideration when parsing the hierarchy of network interface parameters, which allows for proper and orderly transmission of settings to handlers (in ifupdown, parsing complex configurations could potentially lead to race condition issues).

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster