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
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:
- verificare gli eventuali valori assegnati automaticamente ed impiegati dalla configurazione attuale
- 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
È 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
Ci sono un po' di parametri da personalizzare:
enp0s3
: è il nome della scheda di rete. Sostituitelo con quello scoperto al precedentePasso 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 alPasso 1
oppure chiediamo al sistemistanameservers
e relativoaddresses
: gli indirizzi IP dei server DNS che vogliamo usare (v. seguito)
Per quanto riguarda l'indirizzo IP statico da assegnare, ricordiamo che:
- deve far parte della stessa rete del Gateway (ovvero del modem/router, quando si svolge l'operazione in ambito domestico)
- deve essere univoco all'interno della nostra rete locale - nessun altro PC o dispositivo deve avere il medesimo indirizzo
- in ambito domestico, deve terminare esplicitamente con
/24
, ovvero l'indicazione del numero di byte che identificano la rete
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
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
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: