Ubuntu 26.04 Desktop LTS Network

Dialogo con Gemini.

Ciao, potresti descrivere il network in Ubuntu 26.04 Desktop LTS?

In Ubuntu 26.04 Desktop LTS, l’architettura di rete si basa sul consueto stack modulare composto da un layer di configurazione dichiarativa (Netplan), un demone di gestione runtime (NetworkManager) e il resolver DNS di sistema (systemd-resolved).

Componenti Principali dello Stack

  • Netplan (/etc/netplan/*.yaml): Rappresenta l’interfaccia dichiarativa di configurazione standard di Canonical. Sul sistema Desktop, la configurazione predefinita imposta il renderer su NetworkManager:YAMLnetwork: version: 2 renderer: NetworkManager Permette la generazione automatica delle definizioni runtime tramite netplan generate e l’applicazione a caldo con sudo netplan apply.
  • NetworkManager (Backend di controllo): È il gestore effettivo per l’ambiente Desktop. Gestisce dinamicamente interfacce Ethernet, Wi-Fi, hotspot, modem 4G/5G, bridge, bond e connessioni VPN (WireGuard, OpenVPN, IPsec).
    • Si integra direttamente con il pannello di controllo GNOME (Quick Settings e Impostazioni di Rete).
    • Mantiene i profili di connessione chiave-valore in /etc/NetworkManager/system-connections/.
  • systemd-resolved (Risoluzione DNS): Gestisce la cache DNS locale, il routing DNS per interfaccia, mDNS, LLMNR e DNS-over-TLS (DoT).
    • Il file /etc/resolv.conf punta al socket locale stub 127.0.0.53.
    • L’interrogazione e la gestione dei server DNS attivi avvengono tramite resolvectl.
  • Kernel e Firewalling:
    • nftables: È il backend predefinito per il packet filtering e NAT, controllabile ad alto livello tramite ufw (Uncomplicated Firewall).
    • iproute2: Fornisce i comandi standard a basso livello (ip a, ip r, ip link) per l’ispezione dello stato del kernel.

Utility CLI di Riferimento

AmbitoComando principaleFunzione
Configurazione Netplannetplan status / netplan applyVisualizza lo stato aggregato o applica modifiche ai file YAML
Gestione NetworkManagernmcli device status / nmcli connection showAmministrazione completa da terminale di interfacce e profili
Interfaccia TUInmtuiMenu interattivo su terminale per modifiche rapide
Risoluzione DNSresolvectl statusDiagnostica di server DNS, domini di ricerca e cache attiva
Routing e Linkip addr / ip routeIspezione diretta dei socket e tabelle di routing del kernel

Differenza rispetto a Ubuntu Server

Mentre la versione Server usa storicamente systemd-networkd come renderer predefinito (focalizzato su configurazioni statiche, VLAN, bridge e bonding su hardware headless), la versione Desktop delega interamente a NetworkManager per supportare cambi di contesto frequenti (roaming Wi-Fi, captive portal, sospensione/riattivazione e toggle VPN da GUI).

Puoi creare un elenco di comandi a riga di comando per gestire il network?

Gestione NetworkManager (nmcli e nmtui)

  • nmcli device status — Mostra lo stato e il tipo di tutti i device di rete rilevati.
  • nmcli connection show — Elenca tutte le connessioni e i profili configurati (con relativi UUID).
  • nmcli connection show <nome_connessione> — Dettaglio completo dei parametri del profilo.
  • nmcli connection up <nome_connessione> — Attiva una connessione specifica.
  • nmcli connection down <nome_connessione> — Disattiva una connessione specifica.
  • nmcli connection add type ethernet con-name <nome> ifname <interfaccia> — Crea un nuovo profilo Ethernet DHCP.
  • nmcli connection modify <nome> ipv4.addresses 192.168.1.50/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 1.1.1.1" ipv4.method manual — Imposta un IP statico, gateway e DNS su una connessione.
  • nmcli connection modify <nome> ipv4.method auto — Reimposta l’assegnazione IP su DHCP automatico.
  • nmcli connection reload — Ricarica i file di configurazione da /etc/NetworkManager/system-connections/.
  • nmcli radio wifi on|off — Abilita o disabilita l’interfaccia Wi-Fi globale.
  • nmcli device wifi list — Scansiona ed elenca le reti Wi-Fi (SSID) disponibili.
  • nmcli device wifi connect <SSID> password <chiave> — Esegue la connessione a una rete protetta.
  • nmtui — Avvia l’interfaccia interattiva da terminale (TUI) per configurazioni rapide.

Configurazione Dichiarativa (netplan)

  • sudo netplan status — Visualizza lo stato di tutte le interfacce configurate via Netplan.
  • sudo netplan generate — Genera i file di configurazione per il backend (NetworkManager/systemd-networkd) senza applicarli.
  • sudo netplan try — Applica le modifiche con rollback automatico in caso di mancata conferma (evita il lockout su macchine remote).
  • sudo netplan apply — Applica direttamente le modifiche definite nei file /etc/netplan/*.yaml.

Ispezione Kernel e Routing a Basso Livello (iproute2)

  • ip addr show (o ip a) — Mostra tutti gli indirizzi IPv4/IPv6 associati alle interfacce.
  • ip link show — Elenca lo stato del link hardware (UP/DOWN, MTU, MAC address).
  • sudo ip link set <interfaccia> up|down — Alza o abbassa a caldo l’interfaccia a livello kernel.
  • ip route show (o ip r) — Mostra la tabella di routing principale (incluso default gateway).
  • ip neigh show — Mostra la tabella ARP locale (IP/MAC dei dispositivi vicini).

Risoluzione DNS (systemd-resolved)

  • resolvectl status — Mostra i server DNS globali e per-interfaccia, i domini di ricerca e le impostazioni DNSSEC/DoT.
  • resolvectl query <dominio> — Esegue una risoluzione DNS tramite il resolver locale verificando lo stato di fallback.
  • sudo resolvectl flush-caches — Svuota la cache DNS locale di sistema.
  • resolvectl statistics — Mostra le statistiche di hit/miss della cache e transazioni DNS.

Diagnostica, Porte e Socket

  • ss -tulpn — Elenca tutti i socket in ascolto (TCP/UDP) con numeri di porta e relativi PID/processi.
  • ping -c 4 <ip_o_host> — Verifica la raggiungibilità ICMP e la latenza verso un host.
  • traceroute <ip_o_host> (o tracepath <ip_o_host>) — Traccia i salti di rete (hop) e l’MTU lungo il percorso.
  • ip -s link show <interfaccia> — Mostra i contatori statistici dell’interfaccia (pacchetti trasmessi, ricevuti, errori, drop).

E con Ubuntu 26.04 Server LTS?

In Ubuntu 26.04 Server LTS, il backend predefinito per la gestione della rete non è NetworkManager, ma systemd-networkd. L’approccio è headless e orientato alla massima stabilità per server, virtualizzazione, container e VLAN.

Configurazione Dichiarativa (netplan)

I file di configurazione risiedono in /etc/netplan/ (es. 50-cloud-init.yaml o 01-netcfg.yaml) e usano renderer: networkd:

  • sudo netplan status — Mostra il riepilogo dello stato delle interfacce gestite da Netplan.
  • sudo netplan status <interfaccia> — Dettaglio completo su una specifica interfaccia (IP, gateway, DNS, routing).
  • sudo netplan generate — Valida i file YAML e genera i file di runtime in /run/systemd/network/.
  • sudo netplan try — Fondamentale su server remoti/SSH: applica le modifiche e chiede conferma entro un timeout (default 120s); in assenza di risposta esegue il rollback automatico evitando il lockout.
  • sudo netplan apply — Applica direttamente la configurazione attiva.

Gestione Runtime con systemd-networkd (networkctl)

  • networkctl status — Panoramica generale di tutti i link di rete, tipo di configurazione e stato operativo.
  • networkctl status <interfaccia> — Ispezione approfondita del link (driver, lease DHCP, server DNS assegnati, broadcast).
  • networkctl list — Elenco tabellare compatto di indici, nomi interfaccia, tipo e stato (routable, configured, unmanaged).
  • networkctl lldp — Elenca i vicini di rete rilevati tramite LLDP (utile per switch managed e data center).
  • sudo networkctl up <interfaccia> / sudo networkctl down <interfaccia> — Attiva o disattiva un’interfaccia a livello systemd-networkd.
  • sudo networkctl renew <interfaccia> — Rinnova il lease DHCP sull’interfaccia.
  • sudo networkctl reconfigure <interfaccia> — Ricarica la configurazione del file .network per la singola interfaccia.
  • sudo networkctl reload — Ricarica tutte le configurazioni di systemd-networkd senza riavviare il servizio.

Risoluzione DNS e Dominio (systemd-resolved)

  • resolvectl status — Mostra server DNS attivi, domini di ricerca e protocolli (DoT, DNSSEC) per ogni link.
  • resolvectl dns <interfaccia> <IP_DNS_1> <IP_DNS_2> — Assegna a caldo server DNS a una specifica interfaccia.
  • resolvectl domain <interfaccia> <dominio.locale> — Imposta il dominio di ricerca locale.
  • resolvectl query <FQDN> — Risolve un nome host verificando se la risposta proviene da cache, stub o server upstream.
  • sudo resolvectl flush-caches — Svuota la cache DNS locale.

Ispezione Kernel, Tabelle e Routing Avanzato (iproute2)

  • ip -br a — Visualizzazione compatta (brief) di interfacce, stato e indirizzi IP.
  • ip -br link — Stato fisico dei link (UP/DOWN, MAC).
  • ip route show — Tabella di routing principale del kernel.
  • ip route show table all — Mostra tutte le tabelle di routing (policy routing).
  • ip rule show — Visualizza le regole del Routing Policy Database (RPDB).
  • ip -s link show <interfaccia> — Statistiche dettagliate su pacchetti trasmessi/ricevuti, errori, drop e collisioni.
  • ip neigh show — Tabella ARP/NDP dei nodi adiacenti nella subnet.

Monitoraggio Socket, Porte e Servizi

  • ss -tulpn — Elenca tutti i socket in ascolto (TCP/UDP), numeri di porta e processi associati (richiede sudo per vedere tutti i PID).
  • ss -s — Riepilogo statistico dei socket aperti (TCP stabiliti, TIME-WAIT, buffer di memoria).
  • systemctl status systemd-networkd — Verifica lo stato e i log del demone di rete.
  • journalctl -u systemd-networkd -e — Ispeziona gli ultimi log operativi di rete (utilissimo per problemi di acquisizione DHCP o creazione bridge/bond).