Hai bisogno di assegnare un indirizzo IP statico al sistema con Ubuntu Server 20.04 ma le guide che hai consultato fin ad ora non funzionano? Ebbene, non sei tu che sbagli: sono le guide ad essere obsolete! Già da molti anni, infatti, Ubuntu ha adottato il servizio netplan, che porta in dote un sistema di configurazione tutto suo: di conseguenza, pur specificando l'indirizzo IP statico desiderato nel file /etc/network/interfaces (come si faceva una volta), non succede nulla. Vediamo allora la nuova modalità per impostare manualmente un indirizzo IP statico su Ubuntu Server 20.04

Guida Ubuntu Server 20.04: come impostare manualmente indirizzo rete ( quando /etc/network/interfaces non funziona) - ubuntu server ip statico network interfaces spotlight

Nota: questo articolo è incentrato sulla procedura per configurare l'indirizzo IP con Ubuntu Server 20.04 e successivi. La procedura è compatibile con tutte le versioni precedenti, ma solo fino alla 17.10. Sebbene funzioni alla perfezione anche con Ubuntu Desktop, è più indicata per Ubuntu Server. Per la declinazione PC è infatti altamente preferibile agire da l'interfaccia grafica come descritto qui:

» Leggi: Guida: impostare manualmente l'indirizzo IP statico della rete con Ubuntu

Passo 1: Verifica della configurazione attuale

Prima di configurare un indirizzo IP statico su Ubuntu Server 20.04, dobbiamo:

  1. verificare gli eventuali valori assegnati automaticamente ed impiegati dalla configurazione attuale
  2. scoprire il nome dell'interfaccia di rete alla quale vogliamo assegnare l'indirizzo IP statico

Allo scopo, impartire:

ip addr

Il comando visualizza tutte le interfacce di rete presenti sul sistema e la loro configurazione attuale. Nel caso mostrato nello screenshot seguente, il nome dell'interfaccia per la quale specificare l'indirizzo IP statico è enp0s3 ed ha attualmente ricevuto l'indirizzo IP 192.168.0.9/24 dal router

Guida Ubuntu Server 20.04: come impostare manualmente indirizzo rete ( quando /etc/network/interfaces non funziona) - VirtualBox_Ubuntu Server_01_11_2017_18_11_12

È una buona idea salvare l'output di questo comando prima di proseguire, per consultazione successiva. Possiamo trascrivere a mano, fare copia-incolla, oppure impartire quanto segue per salvare tutto in un file di testo:

ip addr > $HOME/config-rete-precedente.txt

Il file sarà salvato dentro la cartella "home" dell'utente corrente. Per visualizzarlo in caso di necessità, impartiremo

cat $HOME/config-rete-precedente.txt

Passo 2: Eliminare i file di configurazione dinamica

Ora dobbiamo verificare che non esistano configurazioni di rete pre-esistenti legate al vecchio servizio di gestione. Lanciamo rapidamente questo comando per fare pulizia:

sudo rm -rf /etc/network/interfaces.d/

Potete farlo con tranquillità: eventuali file presenti in quella cartella non vengono più usati da Ubuntu 20.04.

Passo 3: Ripulire /etc/network/interfaces

Procediamo ora ad eliminare il file di configurazione che, nelle generazioni precedenti di Ubuntu, conservava la configurazione di rete:

sudo rm -f /etc/network/interfaces

Questo file non è presente sulle installazioni pulite di Ubuntu 20.04: lanciando il comando precedente ci assicuriamo che, anche se fosse presente, venga eliminato.

Passo 4 : Impostare l'indirizzo IP statico con Ubuntu Server 20.04

Scarichiamo ora il modello di configurazione dentro alla cartella preposta:

sudo curl -o 99-turbolab.yaml https://turbolab.it/scarica/326

Apriamolo per modifica e personalizzazione:

sudo nano /etc/netplan/99-turbolab.yaml

Guida Ubuntu Server 20.04: come impostare manualmente indirizzo rete ( quando /etc/network/interfaces non funziona)

Ci sono un po' di parametri da personalizzare:

  • enp0s3: è il nome della scheda di rete. Sostituitelo con quello scoperto al precedente Passo 1
  • addresses: è l'indirizzo IP statico che desideriamo assegnare al server (v. seguito)
  • gateway4: è l'indirizzo IP del router che consente l'accesso ad Internet. In ambito domestico possiamo scoprirlo facilmente, mentre in ambito aziendale facciamo riferimento al valore trovato al Passo 1 oppure chiediamo al sistemista
  • nameservers e relativo addresses: gli indirizzi IP dei server DNS che vogliamo usare (v. seguito)

Per quanto riguarda l'indirizzo IP statico da assegnare, ricordiamo che:

  1. deve far parte della stessa rete del Gateway (ovvero del modem/router, quando si svolge l'operazione in ambito domestico)
  2. deve essere univoco all'interno della nostra rete locale - nessun altro PC o dispositivo deve avere il medesimo indirizzo
  3. in ambito domestico, deve terminare esplicitamente con /24, ovvero l'indicazione del numero di byte che identificano la rete

Guida Ubuntu Server 20.04: come impostare manualmente indirizzo rete ( quando /etc/network/interfaces non funziona) - diagramma rete network home router lan isp

Se stiamo partendo da zero, potremmo decidere di usare la rete 192.168.0.0 e, di conseguenza, assegnare 192.168.0.1 al router, 192.168.0.2 al primo PC, 192.168.0.3 al secondo e via dicendo.

Per sincerarsi che nessun altro PC stia già usando l'indirizzo IP che stiamo pensando di assegnare staticamente, apriamo una seconda istanza di Terminale e impartiamo, ad esempio, ping 192.168.0.2. Se non risponde alcun dispositivo, allora siamo ragionevolmente tranquilli che l'indirizzo immesso sia ancora disponibile.

» Leggi anche: Come utilizzare i comandi ping e tracert per diagnosticare problemi di alla rete

Come server DNS, valutiamo di scegliere uno di questi due servizi (se non abbiamo necessità specifiche):

  • Google Public DNS: [8.8.8.8,8.8.4.4]
  • OpenDNS: [208.67.222.222,208.67.220.220]

» Leggi anche: I migliori server DNS alternativi per navigare velocemente e sbloccare i siti censurati

Guida Ubuntu Server 20.04: come impostare manualmente indirizzo rete ( quando /etc/network/interfaces non funziona) - google public dns

Premere infine Ctrl+O e quindi Invio per salvare, poi Ctrl+X per uscire.

Passo 5: Applicare le modifiche

Per rendere effettive eseguiamo questo comando:

sudo netplan generate && sudo netplan apply

Segnalo che mi capita di frequente di ricevere questo errore:

Error in network definition /etc/netplan/99-turbolab.yaml line 9 column 19: address '192.168.0.99' is missing /prefixlength

La causa è da ricercarsi nel fatto che dimentico sistematicamente di aggiungere /24 in coda all'indirizzo IP scelto (vedi Passo precedente).

Se però non vengono mostrati errori, l'operazione è terminata con successo. Per verificarlo, impartiamo nuovamente ip addr e leggiamo l'indirizzo IP assegnato alla scheda di rete: deve essere quello che abbiamo scelto e indicato nel file

Guida Ubuntu Server 20.04: come impostare manualmente indirizzo rete ( quando /etc/network/interfaces non funziona)

Passo 6: Verifiche finali e risoluzione dei problemi

Verificate ora che tutto funzioni correttamente: l'accesso ad Internet, i servizi erogati dal server eccetera.

Se la connessione non funziona più correttamente, è possibile che sia rimasto dello "sporco" da tentativi di configurazione precedenti. Eliminiamo dunque tutto quanto:

sudo rm -f /etc/netplan/*

Ora ricominciamo la configurazione ripartendo dal Passo 4.

In alternativa: "binding" fra MAC e IP sul router

In questa guida abbiamo visto come impostare staticamente l'indirizzo IP su Ubuntu Server 20.04 tramite il file di configurazione utilizzato dal servizio netplan.

In alternativa, possiamo configurare il router di modo che assegni sempre lo stesso indirizzo IP al nostro server, lasciando la configurazione di quest'ultimo su "automatico". Per la guida:

» Leggi: Indirizzo IP e MAC Binding: Come fare in modo che un PC della rete locale (LAN) ottenga sempre lo stesso IP locale dal modem/router