
Con il rilascio di Ubuntu Server 24.04 Netplan si conferma come lo strumento standard e consigliato per la gestione della rete segnando definitivamente il superamento del tradizionale file /etc/network/interfaces.
Per molti amministratori di sistema però questa transizione può risultare poco immediata soprattutto in ambienti server dove stabilità e prevedibilità della configurazione di rete sono fondamentali.
Questa guida nasce con l’obiettivo di accompagnarti passo dopo passo nella migrazione da /etc/network/interfaces a Netplan chiarendo le differenze concettuali tra i due approcci e mostrando esempi pratici di configurazione per i casi più comuni.
Che tu stia gestendo un server con indirizzi IP statici, DHCP, bonding o VLAN, troverai indicazioni utili per effettuare il passaggio in modo sicuro e consapevole, riducendo al minimo il rischio di interruzioni di servizio.
Al termine dell’articolo avrai una visione chiara di come funziona Netplan in Ubuntu Server 24.04 e sarai in grado di adottarlo con sicurezza anche in ambienti di produzione.
VERIFICA DELLA CONFIGURAZIONE ATTIVA
Verificare le schede attive con il comando:
|
0 |
ip -br a
|
Dovremmo visualizzare un output simile al seguente:
|
0
1
|
lo UNKNOWN 127.0.0.1/8 ::1/128
ens160 UP 192.168.100.247/24 fe80::20c:29ff:fe65:5f45/64
|
Visualizzare la tabella di routing del sistema con il comando:
|
0 |
ip r
|
Dovremmo visualizzare un output simile al seguente:
|
0
1
2
|
default via 192.168.100.1 dev ens160 onlink
169.254.0.0/16 dev ens160 scope link metric 1000
192.168.100.0/24 dev ens160 proto kernel scope link src 192.168.100.247
|
Visualizzare il contenuto del file di configurazione di rete tradizionale dei sistemi Linux con il comando:
|
0 |
sudo cat /etc/network/interfaces
|
Dovremmo visualizzare un output simile al seguente:
|
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens160
iface ens160 inet static
address 192.168.100.247
netmask 255.255.255.0
gateway 192.168.100.1
dns-nameserver 192.168.100.1 8.8.8.8
dns-nameservers 192.168.100.1 8.8.8.8 8.8.4.4
dns-domain testlab.prv
|
CREAZIONE DEL FILE DI CONFIGURAZIONE NETPLAN
A questo punto creare il file Netplan (senza disabilitare ancora la vecchia config)
Verificare se esistono già dei file di configurazione con il comando:
|
0 |
ls -l /etc/netplan/
|
Dovremmo visualizzare un output simile al seguente:
|
0 |
Output: totale 0
|
Creare uno nuovo file di configurazione denominato 01-netcfg.yaml con il comando:
|
0 |
sudo nano /etc/netplan/01-netcfg.yaml
|
Quindi incollare all’interno del file il seguente output:
|
0
1
2
3
4
5
6
7
8
9
10
|
network:
ethernets:
ens160:
addresses: ['192.168.100.247/24']
nameservers:
addresses: [192.168.100.1, 8.8.8.8]
search: [testlab.prv]
routes:
- to: default
via: 192.168.100.1
version: 2
|
Salvare e chiudere il file di configurazione
Applicare i permessi al file di configurazione appena creato con i comandi:
|
0
1
2
|
sudo chmod 600 /etc/netplan/01-netcfg.yaml
sudo chown root:root /etc/netplan/01-netcfg.yaml
|
VALIDAZIONE DELLA CONFIGURAZIONE NETPLAN
Procedere con una validazione soft (ancora non tocchiamo ifupdown)
Controllare la sintassi del file col seguente comando:
|
0 |
sudo netplan generate
|
Se non dà errori procedere con la prova eseguendo il comando:
|
0 |
sudo netplan try
|
Dovremmo vedere il seguente output:
|
0
1
2
3
4
|
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 109 seconds
|
Premere Invio per applicare la configurazione
NOTA BENE: Questo comando applica temporaneamente e chiede conferma. Se si perde la rete dopo ~120s torna indietro da solo.
DISATTIVAZIONE DELLA VECCHIA CONFIGURAZIONE
Adesso procedere con la cancellazione della vecchia gestione in modo pulito
Dato che stiamo utilizzando ifupdown (/etc/network/interfaces) eseguire un backup con i seguenti comandi:
|
0
1
2
|
sudo cp -a /etc/network/interfaces /etc/network/interfaces.backup.$(date +%F)
sudo cp -a /etc/network/interfaces.d /etc/network/interfaces.d.backup.$(date +%F) 2>/dev/null || true
|
Evitare che la vecchia configurazione venga applicata: la strada più semplice è svuotare o commentare la configurazione lasciando solo source se serve (oppure rinominare il file)
Rinominare il file con il comando:
sudo mv /etc/network/interfaces /etc/network/interfaces.disabled
Se il pacchetto ifupdown è installato e non ti serve più disinstallarlo con il comando:
|
0 |
dpkg -l ifupdown
|
Dovremmo visualizzare un output simile al seguente:
|
0
1
2
3
4
5
6
|
Voluto=U (non noto)/I (installato)/R (rimosso)/P (rimosso totale)/H (in attesa)
| Stato=Non/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(nessuno)/R (reinstallazione richiesta) (Stato,Err: maiuscolo=grave)
||/ Nome Versione Architettura Descrizione
+++-==============-=============-============-=================================>
ii ifupdown 0.8.41ubuntu1 amd64 high level tools to configure net>
lines 1-6/6 (END)
|
Quindi eseguire il comando:
|
0 |
sudo apt purge -y ifupdown
|
APPLICAZIONE DEFINITIVA DELLA CONFIGURAZIONE NETPLAN
Applicare definitivamente la configurazione con il comando:
|
0 |
sudo netplan apply
|
Quindi verificare che sia tutto ok con i seguenti comandi:
|
0 |
ip -br a
|
Dovremmo visualizzare un output simile al seguente:
|
0
1
|
lo UNKNOWN 127.0.0.1/8 ::1/128
ens160 UP 192.168.100.247/24 fe80::20c:29ff:fe65:5f45/64
|
Quindi visualizzare la tabella di routing del sistema con il comando:
|
0 |
ip r
|
Dovremmo visualizzare un output simile al seguente:
|
0
1
2
|
default via 192.168.100.1 dev ens160 onlink
169.254.0.0/16 dev ens160 scope link metric 1000
192.168.100.0/24 dev ens160 proto kernel scope link src 192.168.100.247
|
Visualizzare lo stato della risoluzione DNS del sistema con il comando:
|
0 |
resolvectl status | head -n 80
|
Dovremmo visualizzare un output simile al seguente:
|
0
1
2
3
4
5
6
7
8
9
|
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 2 (ens33)
Current Scopes: DNS
Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.100.1
DNS Servers: 192.168.100.1 8.8.8.8
DNS Domain: testlab.prv
|
A questo punto il network del nostro server Ubuntu verrà gestito con Netplan
✅ PRO DELLA MIGRAZIONE A NETPLAN
🔹 1. Standard moderno (Ubuntu)
Netplan è lo standard ufficiale su Ubuntu ≥ 18.04
Meglio integrato con:
- systemd
- cloud-init
- installer moderni
🔹 2. Configurazione dichiarativa (YAML)
Configurazione più leggibile e strutturata
Separazione chiara tra:
- IP
- gateway
- DNS
- routing
🔹 3. Supporto nativo a backend diversi
Netplan è solo un frontend che genera config per:
- systemd-networkd (server)
- NetworkManager (desktop)
🔹 4. Migliore gestione avanzata
Netplan gestisce nativamente:
- VLAN
- Bonding
- Bridge
- Routing policy
- Multiple interfacce / IP
Con ifupdown spesso servivano:
- script custom
- hack in /etc/network/if-up.d
🔹 5. Più sicuro da remoto
- rollback automatico
- riduce il rischio di lockout SSH
Con /etc/network/interfaces non esiste un equivalente nativo.
❌ CONTRO DELLA MIGRAZIONE A NETPLAN
🔸 1. YAML è sensibile agli spazi 😬
Errori di indentazione = rete KO
Più facile sbagliare rispetto a sintassi “lineare”
🔸 2. Meno immediato per vecchi admin
Chi viene da ifup/ifdown può trovarlo:
meno intuitivo
meno “diretto”
🔸 3. Debug meno trasparente
Netplan genera file temporanei: /run/systemd/network/
Non sempre è chiaro dove finisce la config
Con ifupdown: il file è la config
🔸 4. Dipendenza da systemd
Netplan richiede systemd
Non adatto a:
- sistemi minimal
- ambienti embedded legacy
🔸 5. Cambiamenti operativi
Comandi diversi:
- ifdown eth0 ❌
- netplan apply ✅
Alcuni tool storici non si integrano più

0 commenti