- En Linux Non esiste un singolo comando universale: la persistenza dipende dalle interfacce, Netplan, ifcfg o NetworkManager.
- Identificare l'interfaccia ed eseguirne il backup prima di modificarla è fondamentale per evitare perdite di connettività.
- Controllare sempre l'indirizzo IP, i percorsi e il ping; se il nome non funziona, controllare le impostazioni DNS.
Configurare un indirizzo IP statico in Linux non è una semplice operazione, ma una serie di tecniche che dipendono dalla distribuzione, dalla versione e dallo stack di rete abilitato; non esiste un singolo comando universale che risolva il problema in tutti i casi e in modo permanente.
Inoltre, esistono due tipi distinti di configurazioni: impostazioni temporanee (che vengono perse al riavvio della rete o del sistema) e impostazioni persistenti (che vengono salvate in file o profili e sopravvivono ai riavvii). Nei sistemi Debian/Ubuntu, è possibile modificare `/etc/network/interfaces` o utilizzare Netplan; in Red Hat/Rocky/AlmaLinux, NetworkManager e `ifcfg` sono i metodi preferiti; in Arch Linux, è possibile utilizzare `netctl` o `systemd-networkd` ; e in tutti questi sistemi, `nmcli`/`nmtui` si distingue come un'alternativa moderna.
Cos'è un IP statico e perché potrebbe interessarti?
Un indirizzo IP statico è un indirizzo che non cambia nel tempo e non dipende da un server DHCP; è fondamentale per server , port forwarding, tunnel, accesso remoto ( SSH , VPN ), NAS e servizi con DDNS.
In ambienti domestici o di laboratorio, un indirizzo IP dinamico (DHCP) è solitamente sufficiente, ma quando si desidera stabilità o si devono pubblicare servizi interni, è consigliabile impostare un indirizzo IP fisso in modo che non cambi; ciò evita "sorprese" come l' assegnazione di un indirizzo diverso da parte del router e il conseguente malfunzionamento del port forwarding.

Prima di toccare qualsiasi cosa: identifica l'interfaccia ed esegui un backup
Il primo passo consiste nel determinare quale interfaccia si sta configurando (cablata: di solito inizia con 'e', ad esempio enp0s3/enp2s0/eth0; Wi-Fi: inizia con 'w', ad esempio wlan0/wlp3s0). Per visualizzare le interfacce con i relativi colori, è possibile utilizzare il comando `ip -c link show` , mentre per visualizzare gli indirizzi è possibile utilizzare il comando `ip -c addr show` . Se si lavora con macchine virtuali , è necessario esaminare i tipi di rete disponibili in VirtualBox e VMware per scegliere la configurazione appropriata.
Se preferisci l'output classico, è valido anche il comando `ifconfig -a` (sulle distribuzioni moderne potrebbe essere necessario installare net-tools); controlla l'interfaccia di destinazione e verifica se è attualmente sotto DHCP o se ha già un indirizzo IP statico.
Prima di modificare i file di sistema, salva una copia di backup: ad esempio, copia /etc/network/interfaces nella tua directory $HOME con la data, in modo da avere un "piano B" nel caso in cui tu commetta un errore.
sudo cp /etc/network/interfaces ~/interfaces.$(date +%Y%m%d).bk
In molte operazioni avrai bisogno dei privilegi di amministratore; puoi accedere come root o aggiungere sudo a ogni comando, il che è essenziale quando si modificano i file di configurazione di rete.
Debian e derivati: metodo classico con /etc/network/interfaces
In Debian 11 e versioni precedenti, è comune gestire la rete tramite il file /etc/network/interfaces ; per prima cosa individua l'interfaccia (ad esempio, eth0 o enp2s0) e modifica il file con il tuo editor preferito.
sudo vim /etc/network/interfaces
# o
sudo nano /etc/network/interfaces
Cerca i blocchi relativi alla tua interfaccia. Se è impostata su DHCP (ad esempio, allow-hotplug eth0 + iface eth0 inet dhcp), cambiala in statica; la sintassi tipica include auto <interfaccia> e un blocco "inet static".
auto eth0
iface eth0 inet static
address 192.168.1.25 # IP del equipo
netmask 255.255.255.0 # Máscara (equivale a /24)
gateway 192.168.1.1 # Puerta de enlace
dns-nameservers 192.168.1.1 1.1.1.1 8.8.8.8
In alcuni scenari vedrai anche campi come rete e broadcast (192.168.1.0 e 192.168.1.255 in /24); non sono sempre necessari, ma puoi includerli se la tua guida o il tuo modello li prevedono; quelli essenziali sono indirizzo, maschera di sottorete, gateway e DNS.
Salva e riavvia il servizio di rete per applicare le modifiche; su una versione standard di Debian, funziona correttamente utilizzare il comando `systemctl restart networking.service` e quindi verificare con `ip addr` che l'indirizzo IP sia ora quello impostato.
sudo systemctl restart networking.service
ip -c addr show eth0
In varianti come Ubuntu è possibile trovare unità ifup specifiche per l'interfaccia (ad esempio, ifup@enp2s0); in caso di dubbi, è possibile tornare al modello generale con networking.service; l'idea è di ricaricare lo stack di rete affinché la modifica abbia effetto.
Server Ubuntu moderno: Netplan passo dopo passo
A partire da Ubuntu 17.10, e soprattutto dalla versione 20.04 LTS in poi, Netplan gestisce la configurazione di rete leggendo i file YAML presenti in /etc/netplan/*.yaml ; la sintassi è sensibile a indentazioni e spazi.
Controlla il file attivo (ad esempio, 00-installer-config.yaml o 50-cloud-init.yaml) e verifica lo stato attuale; di default vedrai qualcosa come dhcp4: true , il che significa che l'indirizzo IP viene ottenuto tramite DHCP.
cat /etc/netplan/00-installer-config.yaml
# Ejemplo típico por defecto:
# network:
# ethernets:
# enp0s3:
# dhcp4: true
# version: 2
Modifica il file YAML e disabilita il DHCP cambiando `dhcp4: true` in `dhcp4: no` (o `false`), aggiungendo gli indirizzi (con maschera in notazione CIDR), `gateway4` e i nameserver; rispetta le indentazioni , perché anche uno spazio in meno può compromettere l'analisi.
sudo nano /etc/netplan/00-installer-config.yaml
network:
ethernets:
enp0s3:
dhcp4: no
addresses:
gateway4: 192.168.1.1
nameservers:
addresses:
version: 2
Se la directory non contiene file (raro, ma può succedere), è possibile rigenerare i file di base con `sudo netplan generate` e quindi applicare; in condizioni normali, è sufficiente eseguire `apply` e verificare.
sudo netplan apply
ip addr
Se le modifiche non vanno a buon fine, Netplan ti avviserà e impedirà che la rete si "interrompa"; rivedi la sintassi YAML ed esegui nuovamente il comando apply quando l'hai completata; il comando "ip a" ti sarà utile per verificare lo stato dopo ogni modifica.
Red Hat, Rocky e AlmaLinux: ifcfg e NetworkManager (nmcli/nmtui)
Nei sistemi basati su RPM, i file ifcfg coesistono ancora in /etc/sysconfig/network-scripts/ con NetworkManager come livello di gestione; è possibile farlo nel modo tradizionale modificando il file ifcfg della propria interfaccia.
sudo nvim /etc/sysconfig/network-scripts/ifcfg-enp0s2
TYPE="Ethernet"
BOOTPROTO="none"
NAME="enp0s2"
ONBOOT="yes"
HWADDR="08:00:27:80:63:19"
IPADDR0="192.168.225.150"
PREFIX0="24"
GATEWAY0="192.168.225.1"
DNS1="8.8.8.8"
Assicurati di impostare BOOTPROTO="none" per indicare che non stai utilizzando DHCP e ONBOOT="yes" per attivare l'interfaccia; salva e riavvia il servizio di rete e verifica con ip addr che l'indirizzo IP venga visualizzato; in questo modo sarà permanente . Se hai bisogno di maggiori informazioni sull'indirizzo MAC e sulla subnet mask , consulta la relativa documentazione.
sudo systemctl restart network
ip a s enp0s2
Con NetworkManager, puoi preferire nmcli, che è comodo e dichiarativo; modificare il profilo di connessione (non sempre corrisponde al nome dell'interfaccia) specificando ip4, gw4 e DNS, quindi attivare il profilo.
nmcli connection show
sudo nmcli connection modify "eth0" ip4 192.168.1.20/24 gw4 192.168.1.101 ipv4.dns 8.8.8.8
sudo nmcli connection up "eth0"
Se desideri una modalità terminale semi-grafica , installa NetworkManager TUI e utilizza la sua procedura guidata; è utile per assicurarsi di non tralasciare alcun campo; quindi riavvia NetworkManager se necessario.
sudo dnf install NetworkManager-tui
nmtui
sudo systemctl restart NetworkManager
Arch Linux: netctl o systemd-networkd
In Arch Linux esistono due approcci comunemente utilizzati: netctl (profili ispirati a systemd) o l'utilizzo "puro" di systemd-networkd ; entrambi sono validi e la scelta dipende dal proprio ambiente.
Utilizzando netctl, copia il profilo ethernet-static di esempio in /etc/netctl/ con il nome della tua interfaccia, modifica l'indirizzo, la maschera (in CIDR) , il gateway e il DNS; quindi abilita e avvia il profilo.
sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/enp2s0
sudo nvim /etc/netctl/enp2s0
Description='A basic static ethernet connection'
Interface=enp2s0
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway=('192.168.1.1')
DNS=('8.8.8.8' '8.8.4.4')
sudo netctl enable enp2s0
sudo netctl start enp2s0
Se avevi un client DHCP in esecuzione (come dhcpcd), arrestalo e disabilita le sue unità in modo che non sovrascrivano le tue impostazioni statiche; evitare conflitti in questo caso è fondamentale.
sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd
Utilizzando systemd-networkd, crea un file .network corrispondente alla tua interfaccia in /etc/systemd/network/ , specifica l'indirizzo IP, il gateway e il DNS e abilita il servizio; dopo il riavvio, verifica con ip addr.
sudo nvim /etc/systemd/network/enp2s0.network
Name=enp2s0
Address=192.168.1.102/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4
sudo systemctl disable [email protected] # si venías de netctl
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
Prima di chiuderlo, verifica che non siano rimasti profili o servizi in conflitto; il comando systemctl list-unit-files ti aiuta a rilevare unità netctl o client DHCP residui.
GUI e alternative sui desktop Linux
Se ti trovi in un ambiente con interfaccia grafica (GNOME, KDE, ecc.), puoi aprire "Connessioni di rete" e, per la connessione cablata o wireless, scegliere il metodo "Manuale" (IPv4), inserendo Indirizzo, Maschera e Gateway; puoi anche definire il DNS nella stessa schermata.
Questo approccio è comodo per i team di utenti e funziona con NetworkManager; tuttavia, è comunque utile conoscere i metodi da console per server e amministrazioni remote , dove l'interfaccia grafica non è sempre disponibile o consigliata.
Applica modifiche: riavvio del servizio e del sistema
Dopo la modifica, di solito è sufficiente riavviare il demone di rete: in Debian/Ubuntu classico, systemctl restart networking.service ; in Netplan, netplan apply; in NetworkManager, systemctl restart NetworkManager oppure disabilitare/abilitare il profilo con nmcli.
# Debian/Ubuntu tradicional
sudo systemctl restart networking.service
# Netplan
sudo netplan apply
# NetworkManager
sudo systemctl restart NetworkManager
Nelle distribuzioni con il vecchio ifcfg, utilizzare systemctl restart network ; in Arch con netctl, utilizzare netctl restart <profilo> oppure stop/start; se il servizio di riavvio non è disponibile, è possibile riavviare il computer con systemctl reboot o spegnerlo con systemctl poweroff.
sudo systemctl restart network
sudo netctl restart enp2s0
# Alternativas de control del sistema
sudo systemctl reboot
sudo systemctl poweroff
Verifica e test della connettività
Verifica che l'indirizzo sia stato assegnato correttamente con il comando `ip -c addr show <interfaccia>` e che la rotta predefinita punti al gateway che hai definito; se tutto corrisponde, procedi al test di connettività.
Inizia eseguendo un ping al gateway (ad esempio, 192.168.1.1) e poi a un dominio ( google.com ) per verificare anche la risoluzione DNS; se il ping tramite IP funziona ma non tramite nome, controlla i tuoi server DNS.
ip -c addr show enp0s3
ping -c 4 192.168.1.1
ping -c 4 google.com
In caso di problemi, tornare alla fonte: controllare il file modificato (/etc/network/interfaces o il file YAML di Netplan), verificare che non vi siano client DHCP attivi che sovrascrivano le impostazioni e ripetere il ciclo di applicazione e verifica.
Esiste un singolo "comando magico" per correggere l'IP in Linux?
No, ed ecco il punto cruciale: in Linux ci sono diversi modi per assegnare un indirizzo IP statico, e dipendono dal gestore di rete e dalla distribuzione; ciò che esiste è un comando generico per assegnare un indirizzo IP temporaneamente, ad esempio con ip addr add.
# Asignación temporal (no persiste tras reiniciar red/sistema)
sudo ip addr add 192.168.1.50/24 dev enp0s3
sudo ip route add default via 192.168.1.1
Quella configurazione non è permanente; per far sì che sopravviva ai riavvii è necessario modificare i file (interfacce, ifcfg, Netplan) o utilizzare strumenti di profilazione come nmcli/nmtui; ecco perché gli insegnanti di solito chiedono il metodo specifico della propria distribuzione, non un "singolo comando".
Note utili e sfumature da ricordare
Nel mondo RPM, BOOTPROTO="none" indica l'IP manuale e BOOTPROTO="dhcp" attiva l'acquisizione automatica dell'IP; i campi IPADDR0/PREFIX0/GATEWAY0/DNS1 consentono l'inserimento di più voci con i suffissi 0, 1, 2 se necessario.
Nella Debian classica, la chiave è usare "inet static" e non dimenticare gateway e server DNS; in Netplan, fai attenzione all'indentazione e ricorda che le maschere sono in formato CIDR negli indirizzi (ad esempio, /24 per 255.255.255.0).
Se lavorate con dispositivi particolari o in laboratori "vintage", potreste avere versioni obsolete (come Debian 11 su schede Pine A64) e il metodo classico con l'interfaccia risolverà il vostro problema; adattate il metodo a ciò che effettivamente funziona stabilmente sulla vostra macchina.
Infine, se dopo aver applicato modifiche alla rete qualcosa smette di rispondere da remoto, attendete il ricaricamento del servizio e verificate i percorsi dalla console locale; un backup del file originale vi eviterà spiacevoli sorprese in caso di ripristino rapido.
Con tutto quanto sopra, ora hai una mappa completa per famiglie e strumenti: metodo classico in Debian/Ubuntu, YAML con Netplan per i server moderni, ifcfg e NetworkManager in Red Hat/Rocky/Alma e netctl o profili systemd-networkd in Arch; scegli il percorso più adatto alla tua distribuzione e al tuo contesto, ricorda di verificare con ip addr e ping e non dimenticare il DNS se non riesci a risolvere i nomi.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.
Indice
- 1 Cos'è un IP statico e perché potrebbe interessarti?
- 2 Prima di toccare qualsiasi cosa: identifica l'interfaccia ed esegui un backup
- 3 Debian e derivati: metodo classico con /etc/network/interfaces
- 4 Server Ubuntu moderno: Netplan passo dopo passo
- 5 Red Hat, Rocky e AlmaLinux: ifcfg e NetworkManager (nmcli/nmtui)
- 6 Arch Linux: netctl o systemd-networkd
- 7 GUI e alternative sui desktop Linux
- 8 Applica modifiche: riavvio del servizio e del sistema
- 9 Verifica e test della connettività
- 10 Esiste un singolo "comando magico" per correggere l'IP in Linux?
- 11 Note utili e sfumature da ricordare
