Po sedmi letech vývoje byl uveden na trh nástroj Netplan 1.0, který rozvíjí formát pro ukládání nastavení síťových rozhraní a související utility pro správu síťových konfigurací. Netplan zajišťuje ukládání parametrů ve formátu YAML a poskytuje backendy, které abstrahují přístup k konfiguraci pro NetworkManager a systemd-networkd. Kód projektu je napsán v jazycích Python a C a je šířen pod licencí GPLv3.
Kromě zaměstnanců společnosti Canonical se na vývoji projektu podílejí také zaměstnanci Microsoftu a Deutsche Telekom. Netplan je již používán v Ubuntu od verze 17.10, je integrován v Ubuntu 23.10 Desktop jako výchozí backend pro NetworkManager a je používán jako výchozí pro správu síťových nastavení v oficiálních sestaveních Debian 12 pro cloudové systémy. Podpora Netplan byla také implementována pro cloud-init a instalátor Calamares. Nová verze Netplan 1.0 bude součástí distribuce Ubuntu 24.04 a bude dodávána v Debian 13.
Netplan 1.0 je označen jako první významné stabilní vydání, které se zbavilo některých dlouho zastaralých funkcí. Odstranění technického dluhu vedlo k zjednodušení údržby kódové základny a odstranilo překážky, které bránily realizaci některých nových myšlenek. Kromě stabilizace API knihovny libnetplan1, v nové verzi byly zaznamenány následující změny:
- Současná podpora WPA2 a WPA3.
- Podpora síťových zařízení Mellanox VF-LAG s SR-IOV (Single-Root I/O Virtualization).
- Nové parametry „hairpin“ a „port-mac-learning“, užitečné při nastavení tunelů VXLAN pomocí FRRouting.
- Nový soubor vazeb pro jazyk Python (python3-netplan), který usnadňuje integraci se systémem třetích stran.
- Příkaz „netplan status —diff“, který umožňuje vizuálně posoudit rozdíly mezi aktuálním stavem nastavení a konfiguračními soubory.

Použití netplan unifikuje definici základních konfiguračních souborů používaných v NetworkManager a systemd-networkd, což eliminuje potřebu studovat detaily formátů konfigurací každého z těchto systémů. Podstata činnosti netplan spočívá v tom, že během inicializace čte základní síťová nastavení z souborů „/{lib,etc,run}/netplan/*.yaml“ a zapisuje konfiguraci do adresáře /run ve formátu vhodném pro další zpracování v systemd-networkd nebo NetworkManager.

Vlastnosti Netplan:
- Ignorování zařízení, která nejsou označena v konfiguraci;
- Všechna konfigurace je uložena pouze v původním YAML souboru (bez použití /etc/network/interfaces);
- Možnost rozdělení konfigurace na několik souborů (například pro oddělení nastavení libvirt a lxd);
- Flexibilní možnosti výběru a změny backendu.
- Popis parametrů síťových rozhraní v netplan je prováděn pomocí deklarativní syntaxe, což umožňuje poměrně jednoduše popsat strukturu složité sítě.
Mezi výhody netplan oproti ifupdown:
- Deklarativní syntax;
- Možnost použití masek pro názvy síťových rozhraní, MAC adresy, ovladače a další komponenty;
- Zohlednění kontextu při analýze hierarchie parametrů síťových rozhraní, což umožňuje správně a ve správném pořadí předat nastavení zpracovatelům (v ifupdown při analýze složitých konfigurací může dojít k problémům způsobeným závodem).
Zdroj: opennet.ru

