Se la configurazione IP statico in Linux non funziona, il problema può derivare da errori di configurazione, servizi di rete non funzionanti, conflitti DHCP, o firewall che bloccano la connessione.
Ecco una guida dettagliata per risolvere il problema.
Per risolvere l’errore di configurazione IP statico su Ubuntu, puoi seguire questo schema:
- Chi: L’errore si verifica generalmente per gli utenti che utilizzano una configurazione di rete manuale con un indirizzo IP statico su Ubuntu.
- Dove: Il problema può presentarsi in varie situazioni:
- Su un sistema Ubuntu Desktop o Server
- Nella configurazione della rete (file
/etc/netplan/*.yaml
su Ubuntu 18.04 e versioni successive) - Durante il tentativo di connessione a una rete con un IP statico configurato tramite NetworkManager o netplan
- Quando: L’errore si manifesta quando si tenta di impostare un IP statico sulla rete, ma il sistema non riesce a mantenere la connessione o non ottiene un indirizzo valido, spesso dopo un riavvio o dopo la modifica della configurazione di rete.
- Perché:
- File di configurazione errati: Il file di configurazione (
/etc/netplan/*.yaml
) potrebbe contenere errori di sintassi o mancare di parametri essenziali. - Servizio di rete non riavviato correttamente: Dopo aver modificato la configurazione, il servizio di rete potrebbe non essere stato riavviato correttamente, impedendo l’applicazione delle nuove impostazioni.
- Conflitti con altri strumenti di gestione della rete: Se NetworkManager è in conflitto con netplan (che è utilizzato di default in Ubuntu 18.04 e versioni successive), potrebbe impedire l’assegnazione corretta dell’IP statico.
- Indirizzo IP già in uso: L’IP statico potrebbe essere già assegnato a un altro dispositivo nella rete, causando conflitti.
- File di configurazione errati: Il file di configurazione (
Soluzioni:
- Verifica il file di configurazione di netplan, ad esempio: bashCopia codice
sudo nano /etc/netplan/00-installer-config.yaml
E assicurati che sia configurato correttamente. Ecco un esempio di configurazione: yamlCopia codicenetwork: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4
- Dopo aver modificato il file, esegui: bashCopia codice
sudo netplan apply
Oppure, se hai bisogno di riavviare la rete: bashCopia codicesudo systemctl restart systemd-networkd
- Se stai usando NetworkManager, disabilitalo per utilizzare solo netplan: bashCopia codice
sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager
- Assicurati che l’IP statico che stai cercando di configurare non sia già in uso da un altro dispositivo nella rete.
🔍 1. Controllare la Configurazione Attuale
Prima di procedere con le modifiche, verifica la configurazione attuale con:
bash ip a
oppure
bash ifconfig -a
Per controllare le impostazioni di rete attuali:
bash nmcli connection show
Se hai impostato un IP statico, ma il sistema continua a usare DHCP, significa che la configurazione non è stata applicata correttamente.
2. Configurare IP Statico con Netplan (Ubuntu e Debian 20+)
Se usi Ubuntu 18.04+ o Debian 20+, la configurazione di rete si gestisce con Netplan.
- Modifica il file di configurazione (può essere diverso a seconda della versione):bash
sudo nano /etc/netplan/01-netcfg.yaml
- Imposta una configurazione IP statica (sostituisci
enp0s3
con l’interfaccia corretta):yamlnetwork: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4
- Applica la configurazione:bash
sudo netplan apply
- Controlla se la configurazione è stata applicata:bash
ip a | grep inet
⚠️ Se la connessione non funziona, prova:
bash sudo netplan apply --debug
3. Configurare IP Statico con /etc/network/interfaces
(Debian 9 e Ubuntu 16)
Se il tuo sistema non usa Netplan, configura manualmente l’IP statico in /etc/network/interfaces
.
- Apri il file di configurazione:bash
sudo nano /etc/network/interfaces
- Aggiungi o modifica la configurazione della scheda di rete (ad esempio
eth0
):plaintextauto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4
- Riavvia il servizio di rete:bash
sudo systemctl restart networking
- Controlla se l’IP è stato assegnato correttamente:bashCopia codice
ip a
4. Configurare IP Statico con nmcli
(NetworkManager – Fedora, Ubuntu, Debian)
Se stai usando NetworkManager, puoi impostare un IP statico con nmcli
.
- Verifica il nome della connessione:bash
nmcli connection show
- Imposta l’IP statico (sostituisci
Wired connection 1
con il nome corretto):bashnmcli con mod "Wired connection 1" ipv4.addresses 192.168.1.100/24 nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1 nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4" nmcli con mod "Wired connection 1" ipv4.method manual
- Applica la modifica:bash
nmcli con up "Wired connection 1"
- Verifica la configurazione:bash
nmcli device show eth0
5. Controllare il Conflitto con il DHCP
Se la configurazione IP statico non funziona, potrebbe esserci un conflitto con il server DHCP.
- Controlla se il DHCP è attivo sulla tua scheda di rete:bash
cat /etc/network/interfaces | grep dhcp
oppurebashnmcli con show "Wired connection 1" | grep ipv4.method
- Se trovi
dhcp
, disabilitalo e impostamanual
come mostrato nei passaggi precedenti.
6. Controllare il Firewall (iptables e UFW)
Un firewall mal configurato potrebbe bloccare il traffico di rete.
- Controlla se UFW è attivo:bash
sudo ufw status
Se attivo, prova a disabilitarlo temporaneamente:bashsudo ufw disable
- Controlla le regole di iptables:bash
sudo iptables -L -v -n
Se ci sono regole sospette, prova a resettare iptables:bashsudo iptables -F
7. Testare la Connettività
Dopo aver impostato l’IP statico, verifica la connessione con:
- Ping verso il gateway (per vedere se sei connesso alla rete locale): bash
ping -c 4 192.168.1.1
- Ping verso un DNS pubblico (per vedere se c’è accesso a Internet): bash
ping -c 4 8.8.8.8
- Ping verso un sito web (per verificare la risoluzione DNS) :bash
ping -c 4 google.com
Se il ping verso 8.8.8.8 funziona, ma quello verso google.com no, allora c’è un problema con i DNS.
8. Controllare i Log di Sistema
Se l’IP statico non viene applicato, controlla i log:
bash journalctl -u NetworkManager --no-pager | tail -50
oppure
bash dmesg | grep -i network
Se trovi errori, incollali qui e vediamo come risolverli.
9. Riavviare la Macchina
Se tutto sembra a posto, ma l’IP statico non viene applicato dopo il riavvio, prova:
bash sudo reboot
Se il problema persiste, può essere un bug o un’interferenza con altri servizi.
Conclusione
Se la configurazione IP statico non funziona in Linux, segui questi passi:
–Verifica la configurazione attuale con ip a
–Imposta l’IP statico con Netplan o /etc/network/interfaces
–Usa nmcli
per NetworkManager
–Disattiva il DHCP se in conflitto
–Controlla il firewall (ufw
e iptables
)
–Testa la connessione con ping
–Controlla i log di sistema con journalctl