Dopo sette anni di sviluppo, è stato rilasciato il tool Netplan 1.0, che sviluppa il formato per la memorizzazione delle impostazioni delle interfacce di rete e le utilità collegate per la gestione delle configurazioni di rete. Netplan assicura la memorizzazione dei parametri in formato YAML e fornisce backend che astraggono l'accesso alla configurazione per NetworkManager e systemd-networkd. Il codice del progetto è scritto in Python e C ed è distribuito sotto licenza GPLv3.
Oltre ai dipendenti della Canonical, anche quelli di Microsoft e Deutsche Telekom partecipano allo sviluppo del progetto. Netplan è già utilizzato in Ubuntu a partire dalla versione 17.10, è incorporato in Ubuntu 23.10 Desktop come backend predefinito per NetworkManager e viene utilizzato di default per gestire le impostazioni di rete nelle build ufficiali di Debian 12 per le sistemi cloud. Il supporto per Netplan è realizzato anche per cloud-init e l'installatore Calamares. Il nuovo rilascio di Netplan 1.0 entrerà a far parte della distribuzione di Ubuntu 24.04 e sarà fornito in Debian 13.
Netplan 1.0 è segnato come il primo significativo rilascio stabile, che ha permesso di eliminare alcune funzionalità obsolete da tempo. L'eliminazione del debito tecnico ha portato a una semplificazione della manutenzione del codice e ha rimosso ostacoli che impedivano l'implementazione di alcune nuove idee. Oltre alla stabilizzazione dell'API della libreria libnetplan1, nella nuova versione sono evidenziate le seguenti modifiche:
- Supporto simultaneo per WPA2 e WPA3.
- Supporto per dispositivi di rete Mellanox VF-LAG con SR-IOV (Virtualizzazione dell'I/O a Radice Singola).
- Nuove opzioni «hairpin» e «port-mac-learning», utili per la configurazione di tunnel VXLAN utilizzando FRRouting.
- Un nuovo set di wrapper per il linguaggio Python (python3-netplan) che semplifica l'integrazione con sistemi di terze parti.
- Il comando «netplan status —diff», che consente di valutare visivamente le differenze tra lo stato attuale delle impostazioni e i file di configurazione.

L'applicazione di netplan unifica la definizione dei file di configurazione di base utilizzati in NetworkManager e systemd-networkd, eliminando la necessità di studiare i dettagli dei formati di configurazione di ciascuno di questi sistemi. L'essenza del funzionamento di netplan consiste nel leggere le impostazioni di rete di base dai file «/{lib,etc,run}/netplan/*.yaml» durante il processo di avvio iniziale e di scrivere la configurazione nella directory /run in un formato adeguato per ulteriori elaborazioni in systemd-networkd o NetworkManager.

Caratteristiche di Netplan:
- Ignorare i dispositivi non contrassegnati nella configurazione;
- L'intera configurazione è memorizzata solo nel file YAML sorgente (senza utilizzare /etc/network/interfaces);
- Possibilità di suddividere la configurazione in più file (ad esempio, per estrarre le impostazioni di libvirt e lxd);
- Flessibili opzioni di scelta e cambio del backend.
- La descrizione dei parametri delle interfacce di rete in netplan avviene utilizzando una sintassi dichiarativa che consente di descrivere abbastanza facilmente la struttura di una rete complessa.
Tra i vantaggi di netplan rispetto a ifupdown:
- Sintassi dichiarativa;
- Possibilità di applicare maschere ai nomi delle interfacce di rete, indirizzi MAC, driver e altri componenti;
- Considerazione del contesto durante l'analisi della gerarchia dei parametri delle interfacce di rete, che consente di trasmettere correttamente e nell'ordine giusto le impostazioni ai gestori (in ifupdown, durante l'analisi di configurazioni complesse, possono sorgere problemi causati da condizioni di competizione).
Fonte: opennet.ru

