Oggi mi sono trovato a fronteggiare una situazione tanto inattesa quanto spiacevole. In seguito a un aggiornamento e conseguente riavvio di un sistema con Ubuntu Server 24.04, la connettività di rete e a Internet era completamente assente. Non solo: persino i LED sul retro, di fianco alla relativa porta Ethernet, rimanevano spenti. Fortunatamente, la risoluzione è stata piuttosto semplice. Vediamo allora come procedere
Nota: la procedura è incentrata su Ubuntu Server 24.04, ma è assolutamente analoga anche per Ubuntu "Desktop" (basta aprire il Terminale) e, presumibilmente, per le versioni successive.
Situazione iniziale
In seguito al riavvio del sistema, mi sono accorto che qualcosa non andava perché non riuscivo ad accedere via SSH, unica modalità con la quale interagisco con il sistema in oggetto. Fortunatamente, ero in loco e ho potuto collegare al volo tastiera e schermo ed eseguire login localmente sul PC.
Ho subito impartito ping turbolab.it
per verificare se il sistema fosse in grado di uscire su Internet. In risposta, ho ricevuto l'errore Temporary failure in name resolution
: chiaro segnale di un problema con la risoluzione del nome a dominio sul DNS
Ho quindi pensato che fosse un problema di connettività verso Internet, quindi ho ri-provato con ping 192.168.0.1
per provare a raggiungere il router locale. Ma ho ricevuto un altro errore.
Passo 1: Verifica della scheda di rete
Ho quindi provato a capire se ci potesse essere un problema hardware con l'interfaccia di rete. Il comando è:
sudo lshw -C network
In risposta, il sistema mi ha indicato che la rete era DISABLED
, ma che l'interfaccia era presente. Sebbene questo non possa escludere completamente un problema hardware, almeno ho avuto la conferma che il sistema operativo "vedeva" la porta Ethernet.
La risposta a questo comando mi ha anche indicato che il "nome logico" dell'interfaccia di rete, ovvero quello tramite il quale il sistema operativo si riferisce a essa, è enp2s0
. Questa informazione si rivelerà preziosa a breve.
Passo 2: Verifica dello stato dell'interfaccia
Sebbene non indispensabile, ho voluto comunque provare a lanciare anche ip link show
per ottenere la vista "logica" dello stato delle interfacce.
Il comando mi ha confermato la presenza di l0
, che rappresenta l'interfaccia di loopback tramite la quale il sistema fa riferimento a sé stesso, e della stessa enp2s0
di cui sopra. Che, anche qui, viene mostrata come DOWN
Passo 3: Elencare i file di netplan
Le versioni moderne di Ubuntu utilizzano il pacchetto netplan per la gestione delle interfacce di rete. Abbiamo già avuto a che fare con questo strumento in un'altra situazione:
Di conseguenza, sappiamo che netplan viene governato da una serie di file di configurazione in formato YAML. Per scoprire quali siano, impartire
ls -la /etc/netplan
Nel mio caso era presente un unico file, di nome 00-installer-config.yaml
. Si tratta della configurazione di default, creata automaticamente durante l'installazione iniziale del sistema operativo.
Passo 4: Verifica della configurazione attuale di netplan
A questo punto è necessario ispezionare il contenuto di tale file:
cat /etc/netplan/00-installer-config.yaml
Ed ecco trovato il problema! Per qualche strano motivo, durante l'installazione era stato assegnato automaticamente il nome logico enp1s0
all'interfaccia di rete. Ora, come abbiamo visto ai Passi precedenti, il sistema operativo ha deciso di ri-nominare tale interfaccia in enp2s0
. Ma, non essendoci alcuna configurazione di netplan per questa interfaccia, la scheda rimane disattivata.
Passo 5: Copia della configurazione
La soluzione è quindi in vista: basta correggere la configurazione di netplan e ri-allineare il nome dell'interfaccia di rete.
Ma il file 00-installer-config.yaml
riporta, come commento in alto, la dicitura:
# This is the network config written by subiquity
Questo significa che il file viene scritto da un altro software, subiquity
, che potenzialmente potrebbe sovrascrivere il contenuto. In vero, subiquity è il nome del software che si occupa di installare il sistema operativo per la prima volta, ed è improbabile che venga attivato di nuovo.
Tuttavia, per evitare qualsiasi tipo di ulteriore problema, magari in seguito a un altro aggiornamento o all'upgrade di versione, ho preferito lasciare questo file così com'è e lavorare su una sua copia. Allo scopo, ho impartito
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/01-skywarp.yaml
Chiaramente il nome del file è libero. Io qui ho usato 01-skywarp.yaml
solo perché il sistema si chiama skywarp
Passo 6: Ri-allineare il nome dell'interfaccia di rete
Procediamo ora a modificare la copia del file appena creata:
sudo nano /etc/netplan/01-skywarp.yaml
Nel file dobbiamo solamente modificare il nome della vecchia interfaccia, sostituendola con il nuovo nome. Nel mio caso, ho sostituito enp1s0
con enp2s0
Battere Ctrl+X
, poi la lettera Y
, e infine Invio
per salvare e uscire dall'editor.
Passo 7: Applicare le modifiche
Per rendere effettive le nuove modifiche basta impartire
sudo netplan apply
Probabilmente appariranno alcuni minacciosi WARNING
relativi ai permessi dei file, ma non è un problema.
Problema risolto
Arrivati a questo punto, il problema dovrebbe essere già risolto, senza bisogno di fare altro.
Nel mio caso specifico, i LED della porta Ethernet si sono ri-accesi immediatamente
Provando ora a ripetere ping turbolab.it
, ho ricevuto risposta dal server che ospita il nostro sito: segnale inequivocabile che l'interfaccia è attiva e il sistema è connesso a Internet
Come prova finale, ho riavviato comunque il computer. Non è necessario, ma volevo essere sicuro al 100% che la modifica rimanesse attiva anche dopo il reboot.
Conclusioni
In questo articolo abbiamo visto cosa fare quando l'interfaccia di rete di Ubuntu sparisce da un momento all'altro. E' una situazione alquanto spiacevole, ma fortunatamente altrettanto facile da risolvere.
Mi è perfettamente chiaro che questo è solo uno dei possibili scenari e problemi che potrebbero portare al blocco della connettività, ma vale comunque la pena di tentare la risoluzione indicata prima di lanciarsi in indagini più approfondite o, ancora peggio, la sostituzione fisica di una porta di rete che, in realtà, non ha nessun problema hardware.