Hai un server Linux e ti ritrovi a digitare ifconfig per vedere l'IP, ma ti dicono che è deprecato. Oppure devi aprire una porta per un’applicazione e iptables sembra un rebus. È uno scenario che vediamo spesso da chi si avvicina alla gestione di server Linux: pochi comandi, tanta confusione. Noi di Meteora Web abbiamo configurato decine di server per clienti in produzione – dall’e-commerce al gestionale – e sappiamo che un errore di rete può costare caro. In questa guida ti portiamo dritto al punto: cosa usare, come farlo e perché.
Qual è la differenza tra ifconfig e ip e perché conviene passare a ip?
ifconfig è stato per decenni lo strumento standard per configurare le interfacce di rete su Linux, ma è considerato deprecato da molte distribuzioni moderne. Il suo successore è il comando ip, parte del pacchetto iproute2. La differenza principale? ip unifica la gestione di interfacce, routing, tunnel e molto altro in un unico strumento, con una sintassi più coerente e funzionalità più avanzate.
Sponsored Protocol
Vantaggi concreti di ip rispetto a ifconfig
- Supporto nativo per IPv6, VLAN, bridge, namespace di rete.
- Output più leggibile e strutturato (colori, JSON con
-json). - Non richiede installazioni aggiuntive su sistemi moderni (Ubuntu, Debian, CentOS lo includono di default).
Noi abbiamo sostituito ifconfig anni fa nei nostri server: meno comandi da ricordare, meno errori. Se ancora lo usi, è ora di cambiare.
Esempio operativo:
# Mostra tutte le interfacce (equivalente di ifconfig -a)
ip addr show
# Mostra solo le interfacce attive
ip link show up
# Visualizza le route di default
ip route show default
Come configurare un indirizzo IP statico con il comando ip?
Supponiamo di dover assegnare un IP statico all’interfaccia eth0 su un server. Con ip il comando è immediato, ma attenzione: le modifiche sono temporanee finché non rendi la configurazione persistente. Vediamo entrambi i passaggi.
Configurazione temporanea con ip
# Assegna IP 192.168.1.100/24 all'interfaccia eth0
sudo ip addr add 192.168.1.100/24 dev eth0
# Attiva l'interfaccia (se down)
sudo ip link set eth0 up
# Aggiungi una route di default (gateway)
sudo ip route add default via 192.168.1.1
# Verifica
ip addr show eth0
ip route show
Configurazione persistente (varia per distribuzione)
Su Ubuntu/Debian con Netplan (yaml):
Sponsored Protocol
# /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Poi applica con sudo netplan apply.
Su CentOS/RHEL con ifcfg:
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
Noi consigliamo di testare prima la configurazione temporanea, poi renderla persistente. Un errore può buttarti giù il server se sei in SSH.
Come gestire le regole del firewall con iptables in modo semplice?
iptables è il firewall storico di Linux. Può sembrare complesso, ma per le operazioni comuni – aprire porte, bloccare IP – bastano poche regole. Attenzione: le regole sono volatili finché non le salvi. Vediamo come fare.
Sponsored Protocol
Regole fondamentali
# Politica di default: blocca tutto in ingresso, permetti tutto in uscita
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# Permetti traffico già stabilito (connessioni già avviate)
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Permetti SSH (porta 22)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Permetti HTTP (80) e HTTPS (443) per un web server
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Blocca un IP specifico
sudo iptables -A INPUT -s 203.0.113.5 -j DROP
# Salva le regole (su Debian/Ubuntu)
sudo apt install iptables-persistent
sudo netfilter-persistent save
Errore comune da evitare: non dimenticare la regola per il traffico già stabilito, altrimenti blocchi anche le risposte delle tue connessioni. E ricorda: dopo aver salvato, riavvia per testare.
Sponsored Protocol
Quali comandi usare per diagnosticare problemi di rete su Linux?
Quando la rete non funziona, non serve subito a configurare. Ecco i comandi che usiamo sempre per diagnosi rapida.
Checklist di troubleshooting
- Verifica interfacce:
ip addr show– controlla che l’interfaccia sia UP e abbia un indirizzo IP. - Testa la connettività locale:
ping -c 4 192.168.1.1(gateway). Se non risponde, problema di link o configurazione IP. - Controlla le route:
ip route show– deve esserci una route di default. - Testa la risoluzione DNS:
nslookup google.comodig google.com. - Controlla i socket in ascolto:
ss -tlnp(mostra porte TCP in ascolto) – utile per vedere se un servizio è in ascolto sulla porta giusta. - Traccia il percorso:
traceroute 8.8.8.8– individua dove si perde il pacchetto.
Un trucco che usiamo spesso: se ping funziona verso il gateway ma non verso l’esterno, quasi sempre è colpa del firewall o del DNS. Se invece non funziona neppure il gateway, il problema è fisico o di configurazione IP.
Sponsored Protocol
Cosa fare adesso
Ecco tre azioni concrete per mettere in pratica quello che hai imparato:
- Sostituisci ifconfig con ip – dai subito
ip addr showper vedere la tua interfaccia. Impara a memoriaip addr add,ip link seteip route add. - Configura un IP statico persistente – scegli la distribuzione che usi (Netplan o ifcfg) e imposta un IP fisso. Testa con un reboot.
- Imposta una regola iptables di base – apri solo la porta del servizio che ti serve e blocca il resto. Salva le regole con
netfilter-persistent save.
Se vuoi approfondire la gestione completa di un server Linux, dai un’occhiata alla nostra guida generale: Linux per sviluppatori e sysadmin. Per i dettagli ufficiali su ip, consulta il manuale di ip.