Basi del lavoro con la rete: comandi ping
, ip addr
, ifconfig
1. Introduzione ai concetti di rete: un po' di teoria
Nella lezione di oggi daremo un’occhiata alle basi degli strumenti di rete su Linux. Imparerai come controllare la disponibilità dei nodi di rete, analizzare lo stato delle interfacce di rete e la loro configurazione, e lavorare con le impostazioni di rete.
Le reti sono il sistema nervoso del mondo IT. Se ti sei mai chiesto come il tuo browser apre una pagina web, ecco una risposta breve: grazie alla rete. Qualunque sia il ruolo che vorrai ricoprire (sviluppatore, amministratore o ingegnere), capire le basi della rete è una skill fondamentale.
Ma cos'è una rete? È un insieme di computer collegati per scambiare dati. Nel contesto di Linux, l’amministrazione della rete inizia con la comprensione di concetti base:
- Indirizzo IP: è un identificatore univoco del dispositivo nella rete. Immagina che sia l’indirizzo di casa del tuo computer.
- Sottorete: un raggruppamento logico di dispositivi nella rete. È come un quartiere dove vivono case con indirizzi.
- Gateway: è una "porta verso il mondo", attraverso cui i dispositivi nella tua rete locale possono accedere a Internet o connettersi ad altre sottoreti.
Ci sono due tipi di indirizzi IP: IPv4 (ad esempio, 192.168.1.1
) e IPv6 (ad esempio, 2001:0db8:85a3:0000:0000:8a2e:0370:7334
). IPv4 è più semplice, ed è quello con cui lavoreremo in questa lezione. IPv6 è uno standard figo e di lungo termine, ma lo studieremo più avanti.
2. Comando ping
: verifichiamo la disponibilità di un nodo
Cosa fa ping
?
ping
è un'utility che controlla se un altro nodo nella rete è disponibile. Invia una piccola "nota di benvenuto" al server di destinazione (richiesta ICMP) e aspetta una risposta. Se il nodo risponde, tutto è a posto; se no, qualcosa potrebbe essere andato storto (o il server ha deciso di ignorarti, maleducato!).
Come usare ping
?
Proviamo ad usare il comando ping
. Apri il terminale e inserisci il seguente comando:
ping 8.8.8.8
Questo comando invierà richieste al server DNS pubblico di Google. Vedrai qualcosa simile a questo:
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=10.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=10.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=10.3 ms
Ecco cosa significano queste righe:
- icmp_seq: il numero della richiesta inviata.
- ttl: "tempo di vita" del pacchetto (quanti "salti" di rete può fare).
- time: il tempo (in millisecondi) necessario per inviare e ricevere una risposta.
Per limitare il numero di richieste inviate, puoi usare il flag -c
:
ping -c 4 8.8.8.8
Questo comando invierà solo 4 richieste invece di un flusso infinito.
Pratica: controlliamo la connessione con il localhost e internet
Prova ping
con l'indirizzo IP del tuo router (di solito è qualcosa tipo 192.168.1.1
) e con 8.8.8.8
. Questo ti aiuterà a capire se la rete locale funziona e se c'è accesso a internet.
3. Comando ip addr
: verifichiamo le interfacce di rete
Che cos'è un'interfaccia di rete?
Un'interfaccia di rete è ciò attraverso cui il tuo computer "comunica" con la rete. Questo può essere un'interfaccia per Ethernet
(connessione cablata), WLAN
(connessione wireless) o interfacce virtuali create per compiti specifici.
Il comando ip addr
mostra la configurazione corrente delle interfacce di rete. Proviamolo:
ip addr
Il risultato sarà simile a questo:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
inet6 fe80::1a2b:3c4d:5e6f:f7g8/64 scope link
Cosa vediamo qui:
lo
— questa è l'interfaccia locale (localhost). Il suo indirizzo è sempre127.0.0.1
.enp0s3
— questo è il nome dell'interfaccia di rete del tuo adattatore Ethernet.inet
— indirizzo IPv4 dell'interfaccia.inet6
— indirizzo IPv6 dell'interfaccia.
Come configurare temporaneamente un indirizzo IP?
Se hai i diritti di superutente (tramite sudo
), puoi configurare temporaneamente un indirizzo IP:
sudo ip addr add 192.168.1.101/24 dev enp0s3
Questo indirizzo IP sarà attivo fino al riavvio.
4. Comando ifconfig
: un vecchio strumento ancora popolare
In passato per gestire le interfacce di rete si usava ifconfig
. Ora sta pian piano uscendo dall'uso (è stato sostituito da ip addr
), ma a volte lo si trova ancora in vecchie distribuzioni.
Controllo dello stato delle interfacce
Per vedere lo stato delle interfacce con ifconfig
, esegui:
ifconfig
Il risultato sarà simile all'output del comando ip addr
.
Abilitare/disabilitare un’interfaccia
Puoi abilitarla o disabilitarla con:
sudo ifconfig enp0s3 down
sudo ifconfig enp0s3 up
Di nuovo, ricorda che ifconfig
non funziona su tutte le distribuzioni moderne. Se il comando non viene trovato, prova a installare il pacchetto net-tools
, oppure passa direttamente a ip addr
.
5. Esempio: verifichiamo la disponibilità e la rete
Adesso mettiamo insieme le conoscenze acquisite con un piccolo esempio pratico.
Verifica la disponibilità dell'interfaccia locale:
ping 127.0.0.1
Controlla l'indirizzo IP della tua rete:
ip addr
Prova a configurare temporaneamente un nuovo indirizzo IP:
sudo ip addr add 192.168.1.102/24 dev enp0s3 ip addr show enp0s3
Verifica la disponibilità di un nodo pubblico:
ping -c 3 8.8.8.8
Se usi una distribuzione vecchia, prova a riavviare l'interfaccia:
sudo ifconfig enp0s3 down sudo ifconfig enp0s3 up
Ora sei preparato con gli strumenti base per la diagnostica della rete in Linux. I comandi ping
, ip addr
e ifconfig
sono i tuoi primi passi nel mondo dell'amministrazione di rete. E il meglio deve ancora venire!
GO TO FULL VERSION