Come assegnare un indirizzo IP statico in Linux: una guida completa per distribuzione e strumento

Ultimo aggiornamento: 16/10/2025
Autore: Isaac
  • 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.

IP statico in Linux

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.

Configurare la rete in Linux

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.

Rete statica in Linux

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.

  Esempio: come disattivare la ricerca vocale in Chrome (esempio).

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.

  Il modo per impedire allo schermo dell'iPhone di spegnersi meccanicamente

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.

  Come modificare il layout delle cartelle in Windows 11

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.

Come configurare un IP statico su Debian, Arch, Ubuntu, openSUSE e Fedora
Articolo correlato:
Come configurare un indirizzo IP statico su Debian, Arch, Ubuntu, openSUSE e Fedora