Netplan: come usarlo e come rimuoverlo
Da ormai più di due anni Ubuntu ha introdotto Netplan, un livello di astrazione per la configurazione della rete. In effetti esistono diversi meccanismi per configurare la rete, e non è raro trovarsi a dover gestire dei server che usano strumenti diversi. Magari su alcuni server bisogna usare NetworkManager, magari su altri si ricorre a Networkd. Finché si controllano solo un paio di server non c’è problema, si può fare tutto a mano. Ma se i numeri cominciano a salire, e non bastano le dita di due mani per contare i server da gestire, la cosa comincia a essere complicata. Per questo motivo Canonical ha pensato di sviluppare un livello di astrazione: un renderer che utilizza una sintassi standard valida per ogni sistema, e poi provvede automaticamente a tradurre la propria sintassi in un file di configurazione adatto per il sistema supportato da ciascun server. Netplan non è quindi un gestore della rete: è solo uno strumento che permette di configurare tutti i propri server con lo stesso linguaggio, appoggiandosi ai principali gestori della rete già esistenti. L’idea, quindi, non è sbagliata, anche se il classico poco preavviso di Canonical ha fatto storcere il naso a molti, e del resto si sa che i cambiamenti sono raramente accettati con grande felicità.
Configurare la rete con NetPlan
La configurazione della rete tramite NetPlan si può fare con dei file in formato YAML, creando un file nella cartella /etc/netplan oppure modificando uno dei file esistenti (per esempio 01-network-manager-all.yaml). Il formato tipico è il seguente:
network: Version: 2 Renderer: NetworkManager/ networkd ethernets: DEVICE_NAME: Dhcp4: yes/no Addresses: [IP_ADDRESS/NETMASK] Gateway: GATEWAY Nameservers: Addresses: [NAMESERVER_1, NAMESERVER_2]
Naturalmente, se si abilita il DHCP non è necessario indicare la configurazione IP. Basta quindi scegliere se appoggiarsi a NetworkManager oppure a Networkd, e se configurare manualmente un IP statico. Dopo aver scritto il file, si può provare la nuova configurazione col comando
netplan try
Se tutto funziona correttamente, si può abilitare definitivamente la configurazione:
netplan apply
In caso di errori, si può aggiungere l’opzione -d per avere informazioni di debug. Per sicurezza, bisogna riavviare il gestore a cui si è fatto riferimento:
systemctl restart network-manager systemctl restart system-networkd
Il corrispettivo del vecchio ifconfig è il comando
ip a
In questo modo si può verificare che la configurazione sia cambiata. Nella documentazione ufficiale sono presenti molti esempi pronti all’uso (https://netplan.io/examples).
Rimovere NetPlan
Se NetPlan non ci convince, e vogliamo farne a meno per continuare a gestire la rete come abbiamo sempre fatto, possiamo rinunciarvi. Innanzitutto, è possibile fare l’optout al momento dell’installazione aggiungendo
netcfg/do_not_use_netplan=true
nella riga di boot del sistema che viene usato per installare Ubuntu (es: un DVD live). Per disabilitare NetPlan su un sistema in cui è già installato, bisogna prima di tutto installare ifupdown:
apt-get install ifupdown
È poi necessario configurare /etc/network/interfaces come si è sempre fatto. Si deve anche specificare manualmente il server DNS che si vuole usare nel file /etc/systemd/resolved.conf:
DNS=8.8.8.8 8.8.4.4
E finalmente abilitare la configurazione:
ifdown --force enp0s3 lo && ifup -a systemctl unmask networking systemctl enable networking systemctl restart networking systemctl stop systemd-networkd.socket systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemctl disable systemd-networkd.socket systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemctl mask systemd-networkd.socket systemd-networkd networkd-dispatcher systemd-networkd-wait-online apt-get --assume-yes purge nplan netplan.io systemctl restart systemd-resolved
A questo punto NetPlan dovrebbe essere completamente disabilitato.