La gestione della rete su Ubuntu è cambiata profondamente con l’introduzione di Netplan, il sistema di configurazione di rete adottato da Canonical a partire da Ubuntu 17.10 che rappresenta lo strumento standard e consigliato per definire in modo dichiarativo la topologia di rete del sistema.
Netplan è un’utility di configurazione di rete basata su file YAML. Funge da livello di astrazione tra l’amministratore di sistema e i backend di rete sottostanti, che possono essere
- NetworkManager: preferito in ambienti desktop
- systemd-networkd: utilizzato di default su Ubuntu Server
I file di configurazione Netplan risiedono in /etc/netplan/ e solitamente è presente un file preesistente con un nome simile a /etc/netplan/50-cloud-init.yaml
Il prefisso numerico (00, 50, 99, ecc.) determina l’ordine di lettura nel caso in cui siano presenti più file: valori più bassi vengono processati per primi, valori più alti possono sovrascrivere le impostazioni precedenti.
Prima di procedere alla configurazione, è necessario conoscere il nome dell’interfaccia di rete del proprio sistema. Per elencare le interfacce disponibili, eseguire
ip link showL’output sarà simile al seguente
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...In questo esempio, l’interfaccia di rete principale è ens33
Configurazione con Indirizzo IP Dinamico (DHCP)
La configurazione più semplice prevede l’assegnazione automatica dell’indirizzo IP tramite un server DHCP. Questo è il comportamento predefinito nella maggior parte dei casi in cui si stia utilizzando Ubuntu come Desktop di lavoro.
Aprire (o creare) il file di configurazione
sudo vi /etc/netplan/50-cloud-init.yamled inserire il seguente contenuto
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: trueVediamo nel dettaglio il significato dei campi
- version: 2 – Versione dello schema Netplan (attualmente sempre 2)
- renderer: networkd – Backend utilizzato (systemd-networkd, standard su Server). Sulle versioni Workstation è invece generalmente impostato a NetworkManager
- ethernets: Sezione dedicata alle interfacce Ethernet
- ens33: Nome dell’interfaccia di rete (adattare al proprio sistema)
- dhcp4: true – Abilita l’assegnazione automatica dell’indirizzo IPv4 via DHCP
Configurazione con Indirizzo IP Statico
In ambienti di produzione o server, è quasi sempre preferibile assegnare un indirizzo IP statico per garantire le corrette comunicazioni di rete. Aprire il file di configurazione:
sudo vi /etc/netplan/50-cloud-init.yamlInserire la seguente configurazione, adattando i valori all’infrastruttura di rete
network:
version: 2
renderer: networkd
ethernets:
ens33:
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
search:
- esempio.localVediamo nel dettaglio il significato dei campi
- addresses – Lista degli indirizzi IP in notazione CIDR (IP/prefisso)
- routes – Definizione delle rotte; to: default indica il gateway predefinito
- via – Indirizzo IP del gateway predefinito
- nameservers.addresses – Elenco dei server DNS da utilizzare
- nameservers.search – Domini di ricerca per la risoluzione degli hostname abbreviati
Applicare la Configurazione
Prima di applicare qualsiasi modifica, è fortemente consigliato eseguire una verifica della sintassi del file YAML per individuare eventuali errori
sudo netplan generateSe il comando termina senza output, il file è sintatticamente corretto. In presenza di errori, Netplan mostrerà un messaggio descrittivo indicando la riga problematica.
Per rendere operative le modifiche, eseguire
sudo netplan applyQuesto comando legge la configurazione, genera i file di configurazione per il backend e riavvia i servizi di rete.
A partire da Netplan 0.106 è disponibile il comando try, che applica la configurazione in modo temporaneo e la ripristina automaticamente dopo 120 secondi se non viene confermata. Questo approccio è particolarmente utile su server remoti
sudo netplan trySe la connessione è ancora attiva e la configurazione funziona correttamente, premere INVIO per confermare le modifiche in modo permanente.
Verifica Post-Configurazione
Dopo aver applicato la configurazione, verificare che l’indirizzo IP sia stato assegnato correttamente
ip addr show ens33Per verificare il routing
ip route showPer testare la connettività verso il gateway
ping -c 4 192.168.1.1Per testare la risoluzione DNS
nslookup google.comoppure
resolvectl statusper ottienere una panoramica dei parametri di risoluzione dei nomi configurati, suddivisi per interfaccia di rete.
Permessi sui File di Configurazione
Netplan è sensibile ai permessi dei propri file di configurazione. Se si creano file manualmente, assicurarsi che abbiano i permessi corretti
sudo chmod 600 /etc/netplan/50-cloud-init.yaml
sudo chown root:root /etc/netplan/50-cloud-init.yaml
