1. Panoramica di Netplan su Ubuntu
Che cos’è Netplan?
Netplan è uno strumento di gestione della configurazione di rete introdotto nelle versioni di Ubuntu a partire dalla 17.10. In precedenza, si utilizzavano strumenti come ifconfig e /etc/network/interfaces, ma Netplan offre un nuovo approccio alla configurazione di rete. Uno dei maggiori vantaggi di Netplan è che utilizza file YAML per descrivere le impostazioni di rete. Questo rende la configurazione semplice e coerente, consentendo di gestire facilmente anche ambienti di rete complessi.
Netplan supporta backend come NetworkManager e systemd-networkd ed è disponibile sia nelle edizioni Ubuntu Desktop che Server. Ciò permette una gestione unificata della rete su diversi ambienti.
Perché usare Netplan?
Rispetto ai metodi tradizionali di configurazione di rete, Netplan offre i seguenti vantaggi:
- Sintassi semplice: il formato YAML è intuitivo e chiaramente strutturato, rendendo le configurazioni facili da comprendere anche per i principianti.
- Gestione unificata: poiché funziona sia su desktop che su server, varie configurazioni di rete possono essere gestite centralmente.
- Modifiche dinamiche: modificare e applicare il file di configurazione consente aggiornamenti in tempo reale delle impostazioni di rete.
Struttura di base di Netplan
I file di configurazione di Netplan si trovano tipicamente nella directory /etc/netplan/ e utilizzano l’estensione .yaml. Questi file contengono informazioni come la configurazione delle interfacce di rete, gli indirizzi IP e i dettagli dei server DNS.
Di seguito è riportato un esempio di configurazione di base di Netplan:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
In questo esempio, l’interfaccia Ethernet enp3s0 è configurata per ottenere un indirizzo IP tramite DHCP.
Il ruolo di Netplan su Ubuntu 18.04 LTS e versioni successive
Netplan è installato di default su Ubuntu 18.04 LTS e versioni successive ed è ampiamente utilizzato per la gestione della rete sia su desktop che su server. Negli ambienti server, dove spesso sono necessarie più interfacce di rete o assegnazioni di IP statici, la flessibilità di Netplan diventa particolarmente utile.
Successivamente, esploreremo esempi pratici di configurazione della rete usando Netplan.
2. Configurazione di base di Netplan
Posizione dei file di configurazione di Netplan
I file di configurazione di Netplan sono tipicamente memorizzati nella directory /etc/netplan/. È possibile modificare le impostazioni di rete editando questi file .yaml. Nomi di file come 50-cloud-init.yaml sono comuni, ma possono variare a seconda dell’ambiente.
Per aprire il file di configurazione, usate un editor di testo come vi o nano:
sudo vi /etc/netplan/50-cloud-init.yaml
Configurazione di indirizzo IP dinamico (DHCP)
Per ottenere automaticamente un indirizzo IP tramite DHCP, utilizzate la seguente configurazione YAML. Si tratta della configurazione più semplice ed è comunemente usata in ambienti domestici e d’ufficio.
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
Configurazione di indirizzo IP statico
Alcuni ambienti richiedono l’assegnazione di un indirizzo IP statico a server o dispositivi specifici. L’esempio seguente mostra come configurare un indirizzo IP statico.
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
Applicare la configurazione
Dopo aver modificato il file di configurazione, applicate la configurazione di Netplan usando il comando seguente:
sudo netplan apply
Verificare la configurazione
Per verificare se le impostazioni di Netplan sono state applicate correttamente, controllate lo stato dell’interfaccia di rete con il comando seguente:
ip a
3. Configurazione di più interfacce di rete
Configurazione di più interfacce Ethernet
I dispositivi con più interfacce di rete possono assegnare impostazioni diverse a ciascuna interfaccia. L’esempio qui sotto configura due interfacce Ethernet:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
enp4s0:
addresses:
- 192.168.1.150/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
Bonding per ridondanza
Bonding combina più interfacce di rete in un’unica interfaccia virtuale, fornendo ridondanza e migliorando la disponibilità. L’esempio seguente crea un’interfaccia bond denominata bond0:
network:
version: 2
renderer: networkd
bonds:
bond0:
interfaces:
- enp3s0
- enp4s0
addresses:
- 192.168.1.200/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
parameters:
mode: active-backup
primary: enp3s0
Configurazione Wi‑Fi
Netplan supporta anche la configurazione Wi‑Fi. L’esempio seguente si connette a un SSID specifico:
network:
version: 2
renderer: networkd
wifis:
wlp2s0:
access-points:
"my_wifi_network":
password: "password1234"
dhcp4: true
Configurazione VLAN
Le LAN virtuali (VLAN) possono segmentare logicamente le reti. L’esempio seguente crea una VLAN su enp3s0:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
vlans:
vlan10:
id: 10
link: enp3s0
addresses:
- 192.168.10.1/24

4. Configurazione avanzata di Netplan
Configurazione routing statico
Quando si collegano reti tramite più router, è necessario il routing statico. L’esempio seguente specifica una rotta per accedere a una rete specifica:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.100/24
routes:
- to: 10.0.0.0/24
via: 192.168.1.1
Questa configurazione imposta una rotta statica per la rete 10.0.0.0/24 tramite il gateway predefinito 192.168.1.1.
Gateway predefiniti multipli
Netplan consente di impostare gateway predefiniti diversi per interfaccia. Questo è utile quando si accede a Internet attraverso segmenti di rete differenti:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
enp4s0:
addresses:
- 10.0.0.100/24
gateway4: 10.0.0.1
Configurazione server DNS
L’esempio seguente specifica i server DNS pubblici di Google:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.100/24
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
Configurazione avanzata del bonding
I modi di bonding possono essere cambiati per comportamenti diversi. L’esempio seguente configura il bonding round‑robin:
network:
version: 2
renderer: networkd
bonds:
bond0:
interfaces:
- enp3s0
- enp4s0
addresses:
- 192.168.1.200/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
parameters:
mode: balance-rr
La modalità balance-rr alterna il traffico tra le due interfacce, migliorando le prestazioni mediante la distribuzione della larghezza di banda.
Configurazione VLAN avanzata
Le VLAN sono utilizzate in reti su larga scala per dividere logicamente gli ambienti. L’esempio seguente assegna l’ID VLAN 100:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
vlans:
vlan100:
id: 100
link: enp3s0
addresses:
- 192.168.100.1/24
Questo assegna l’ID VLAN 100 all’interfaccia enp3s0, creando una rete virtuale segmentata.
5. Risoluzione dei problemi di Netplan
Anche se Netplan è comodo, errori di configurazione o limitazioni del sistema possono causare problemi. Questa sezione spiega i problemi comuni e le loro soluzioni.
Problemi comuni di Netplan e cause
1. Configurazione non applicata
- Errore di indentazione YAML : YAML è rigido sull’indentazione. Spaziature errate impediscono il corretto parsing.
- Nomi di interfaccia errati : Assicurati che i nomi delle interfacce corrispondano all’output del comando
ip a.
Soluzioni
- Esegui
netplan applydopo aver salvato il file di configurazione. - Usa
sudo netplan tryper testare le modifiche prima di applicarle permanentemente.sudo netplan applysudo netplan try
2. Errori di connessione di rete
- Impostazioni di gateway o DNS errate : Verifica gli indirizzi IP e la configurazione DNS.
- Problemi di interfaccia fisica : Controlla i cavi e l’hardware.
Soluzioni
- Usa il comando
pingper testare la connettività:ping 8.8.8.8
- Riapplica la configurazione di rete e riavvia i servizi:
sudo systemctl restart networkd
3. Messaggi di errore durante netplan apply
Gli errori si verificano quando la configurazione è errata o l’interfaccia non è riconosciuta.
- Messaggio di errore di esempio :
Error in network configuration: failed to bring up device enp3s0
Verifica il nome corretto dell’interfaccia usando ip a.
Soluzione
Controlla l’indentazione, l’ortografia, i nomi delle interfacce e la correttezza degli indirizzi IP.
Controllo dei log
I log di sistema sono utili per la risoluzione dei problemi. Usa il comando qui sotto per visualizzare i log relativi alla rete:
journalctl -u systemd-networkd
Questo mostra informazioni dettagliate per aiutare a risolvere gli errori di configurazione.
6. Riepilogo e prossimi passi
Usare Netplan permette di gestire le impostazioni di rete di Ubuntu in modo semplice ed efficiente. Di seguito trovi un riepilogo e i prossimi passi consigliati per approfondire.
Principali vantaggi di Netplan
- Configurazione YAML intuitiva : Facile da leggere e modificare.
- Progettazione di rete flessibile : Supporta più interfacce, bonding, rotte e VLAN.
- Interfaccia unificata : Funziona sia con
systemd-networkdche conNetworkManager. - Aggiornamenti in tempo reale : Applica le modifiche immediatamente con un solo comando.
Prossimi passi consigliati
- Progettazione di rete virtuale : Usa più VLAN per segmentare le reti logicamente.
- Configurazione IPv6 : Preparati per l’infrastruttura di rete moderna.
- Script di automazione : Automatizza le configurazioni usando Ansible o Puppet.
- Miglioramenti della sicurezza : Rafforza le impostazioni del firewall e del controllo accessi.