Command Line - Linux - Ubuntu

Configurare un Indirizzo IP su Ubuntu con Netplan

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 show

L’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.yaml

ed inserire il seguente contenuto

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: true

Vediamo 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.yaml

Inserire 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.local

Vediamo 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 generate

Se 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 apply

Questo 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 try

Se 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 ens33

Per verificare il routing

ip route show

Per testare la connettività verso il gateway

ping -c 4 192.168.1.1

Per testare la risoluzione DNS

nslookup google.com

oppure

resolvectl status

per 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