Guida completa all’uso di Netplan su Ubuntu | Dalle basi alla configurazione di rete avanzata

1. Panoramica di Netplan in Ubuntu

Che cos’è Netplan?

Netplan è uno strumento di gestione della configurazione di rete introdotto in Ubuntu 17.10 e versioni successive. In precedenza, ifconfig e /etc/network/interfaces venivano utilizzati per la configurazione di rete, ma Netplan offre un approccio nuovo e più strutturato. Una delle caratteristiche principali di Netplan è l’uso di file YAML per la configurazione di rete, consentendo un’impostazione semplice e coerente, facile da gestire anche per configurazioni di rete complesse.

Netplan supporta backend come NetworkManager e systemd-networkd, rendendolo adatto sia per ambienti desktop che server di Ubuntu. Ciò consente un metodo unificato di gestione delle reti in diversi contesti.

Perché usare Netplan?

Rispetto ai metodi tradizionali di configurazione di rete, Netplan offre diversi vantaggi:

  1. Sintassi Semplice: Il formato YAML è intuitivo e strutturato, rendendo le configurazioni più facili da leggere e comprendere, anche per i principianti.
  2. Gestione Unificata: Può essere utilizzato sia in ambienti desktop che server, consentendo la gestione centralizzata di varie configurazioni di rete.
  3. Modifiche dinamiche: Puoi modificare il file di configurazione e applicare le modifiche istantaneamente, riflettendo gli aggiornamenti in tempo reale.

Struttura di base di Netplan

I file di configurazione di Netplan si trovano tipicamente nella directory /etc/netplan/ e hanno estensione .yaml. Questi file contengono le impostazioni per le interfacce di rete, gli indirizzi IP e i server DNS.

Di seguito è mostrato un esempio di file 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.

Ruolo di Netplan in Ubuntu 18.04 LTS e versioni successive

A partire da Ubuntu 18.04 LTS, Netplan è installato di default ed è ampiamente utilizzato per la gestione della rete sia negli ambienti server che desktop. Negli ambienti server, dove spesso sono necessarie più interfacce di rete e configurazioni IP statiche, Netplan si rivela particolarmente utile.

Successivamente, vedremo come configurare le reti 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 /etc/netplan/ directory. Modificando i file .yaml all’interno di questa directory, è possibile modificare le impostazioni di rete. Un nome file comune è 50-cloud-init.yaml, ma può variare a seconda dell’ambiente di sistema.

Per aprire il file di configurazione, è possibile utilizzare un editor di testo come vi o nano come mostrato di seguito:

sudo vi /etc/netplan/50-cloud-init.yaml

Configurazione dell’indirizzo IP dinamico (DHCP)

Per ottenere automaticamente un indirizzo IP tramite DHCP, utilizzare la seguente configurazione YAML. Questa è la configurazione più semplice ed è comunemente usata in ambienti domestici e d’ufficio.

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

Configurazione di un indirizzo IP statico

In alcuni ambienti, è necessario assegnare un indirizzo IP fisso 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

Applicazione della configurazione

Dopo aver modificato il file di configurazione, applicare le modifiche usando il seguente comando:

sudo netplan apply

Verifica della configurazione

Per verificare se le impostazioni di Netplan sono state applicate correttamente, utilizzare il seguente comando per controllare lo stato delle interfacce di rete:

ip a

3. Configurazione di più interfacce di rete

Configurazione di più interfacce Ethernet

I server e i dispositivi con più interfacce di rete possono assegnare indirizzi IP e impostazioni diversi a ciascuna interfaccia. L’esempio seguente configura due interfacce Ethernet con impostazioni differenti:

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

Configurazione del bonding di rete per la ridondanza

Il bonding di rete combina più interfacce di rete in un’unica interfaccia virtuale per migliorare la ridondanza e la disponibilità. L’esempio seguente configura due interfacce Ethernet come interfaccia bonded 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 delle connessioni Wi‑Fi

Netplan può anche configurare le connessioni Wi‑Fi. L’esempio seguente imposta una connessione a uno specifico SSID:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      access-points:
        "my_wifi_network":
          password: "password1234"
      dhcp4: true

Configurazione delle VLAN

Per casi d’uso specifici, le LAN virtuali (VLAN) possono essere utilizzate per segmentare logicamente le reti. Netplan supporta la configurazione delle VLAN. L’esempio seguente configura una VLAN sull’interfaccia 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 del Routing Statico

Quando si collegano reti tramite più router, è necessario il routing statico. Con Netplan, è possibile configurare rotte statiche per specificare il percorso del traffico verso determinati indirizzi IP o reti. Di seguito è riportato un esempio di routing statico:

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

In questa configurazione, l’interfaccia enp3s0 è assegnata a una rotta statica verso la rete 10.0.0.0/24 tramite il gateway predefinito 192.168.1.1. Questo consente al traffico di essere instradato attraverso un percorso designato.

Configurazione di più Gateway Predefiniti

Quando esistono più interfacce di rete, Netplan consente di impostare gateway predefiniti diversi per ciascuna interfaccia. Questo è utile per ambienti che richiedono l’accesso a Internet attraverso segmenti di rete differenti. Di seguito è riportata una configurazione di esempio:

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 dei Server DNS

Netplan consente una facile configurazione di server DNS statici. Il seguente esempio specifica i server DNS pubblici di Google (8.8.8.8 e 8.8.4.4):

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Bonding di Rete Avanzato

Oltre al bonding di base, è possibile regolare le modalità di bonding per ottenere diverse funzionalità. Il seguente esempio 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 (round-robin) alterna il traffico tra le interfacce per distribuire la larghezza di banda, migliorando le prestazioni. Altre modalità, come active-backup per il failover e balance-tlb per il bilanciamento del carico, possono essere selezionate in base alle esigenze.

Configurazione VLAN Avanzata

VLAN (Virtual LAN) è utilizzata nelle grandi reti per segmentare logicamente il traffico. Netplan supporta la configurazione delle VLAN, come mostrato nel seguente esempio:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan100:
      id: 100
      link: enp3s0
      addresses:
        - 192.168.100.1/24

Qui, il VLAN ID 100 è assegnato a enp3s0, e gli è stato attribuito un indirizzo IP statico di 192.168.100.1. Questo aiuta a segmentare la rete per una maggiore sicurezza e gestione del traffico.

5. Risoluzione dei problemi di Netplan

Sebbene Netplan sia molto comodo, possono verificarsi errori di configurazione e problemi specifici del sistema. Questa sezione spiega i problemi comuni di Netplan e le loro soluzioni, aiutandoti a gestire in modo efficiente gli errori di connessione di rete e le configurazioni errate.

Problemi comuni di Netplan e cause

1. Configurazione non applicata

Se le modifiche apportate in Netplan non vengono applicate, le possibili cause includono:

  • Errori di indentazione YAML: La sintassi YAML è rigorosa riguardo all’indentazione. Spazi o tab errati possono rendere la configurazione non valida.
  • Nome interfaccia non corretto: Netplan richiede il nome corretto dell’interfaccia di rete. Usa il comando ip a per verificare e assicurarti che corrisponda alla tua configurazione.

Soluzioni

  1. Dopo aver salvato il file di configurazione, applicalo usando il seguente comando:
sudo netplan apply
  1. Se si verifica un errore, usa il comando sudo netplan try per testare le modifiche prima di applicarle in modo permanente.
sudo netplan try

2. Errori di connessione di rete

Se la rete non funziona, le possibili cause includono:

  • Configurazione errata di Gateway o DNS: Assicurati che gli indirizzi IP e i server DNS corretti siano specificati.
  • Problemi di Interfaccia Fisica: Verifica i cavi di rete e l’hardware per confermare che siano correttamente collegati.

Soluzioni

  1. Usa il comando ping per verificare la connettività, ad esempio:
ping 8.8.8.8
  1. Riavvia il servizio di rete se necessario:
sudo systemctl restart networkd

Controllo dei log per errori

Per risolvere i problemi, i log di sistema forniscono informazioni preziose. Usa il comando seguente per controllare i log relativi a Netplan:

journalctl -u systemd-networkd

6. Riepilogo e Prossimi Passi

Netplan semplifica la configurazione di rete di Ubuntu, rendendola più efficiente e gestibile. Di seguito è riportato un riepilogo dei suoi principali vantaggi:

  1. Configurazione intuitiva basata su YAML: Più facile da leggere e scrivere rispetto ai metodi tradizionali.
  2. Impostazione di rete flessibile: Supporta più interfacce, bonding, routing statico e VLAN.
  3. Interfaccia Unificata: Funziona in diversi ambienti Ubuntu con un approccio coerente.
  4. Modifiche di configurazione in tempo reale: Le impostazioni di rete possono essere aggiornate istantaneamente.

Approfondimenti

Una volta acquisita familiarità con le basi, considera di esplorare:

  • Impostazione della Rete Virtuale: Implementare VLAN per una maggiore sicurezza della rete.
  • Supporto IPv6: Configura IPv6 per una rete a prova di futuro.
  • Automazione con Script: Usa Ansible o Puppet per automatizzare le configurazioni di rete.

Risorse Utili

侍エンジニア塾