CodeGym /Corsi /Docker SELF /Configurazione delle route: comandi `ip route`, `netstat`...

Configurazione delle route: comandi `ip route`, `netstat`, `ss`

Docker SELF
Livello 4 , Lezione 1
Disponibile

1. Concetto di routing

Oggi ci immergiamo ancora più a fondo: configureremo i percorsi, analizzeremo le connessioni di rete e impareremo a gestire le porte. È qui che inizia la vera magia dell'amministrazione di rete: capiremo dove e come corrono i pacchetti, e perché è importante essere il "capo dei percorsi".

Il routing non è solo qualcosa che suona complicato, è la base delle basi della rete moderna. Immagina: il tuo computer è un turista che vuole arrivare a un altro computer (un hotel), e i percorsi sono le strade e i segnali stradali. Se non ci sono percorsi, il turista vagherà, chiederà indicazioni ai passanti (che potrebbero essere server DNS, ma non ne parliamo ora) o magari resterà a casa.

Perché servono i percorsi

Ogni dispositivo nella rete deve sapere come raggiungere gli altri dispositivi. Per esempio, se il tuo computer vuole inviare una richiesta al sito example.com, deve sapere:

  1. Dove inviare i pacchetti.
  2. Attraverso quale gateway o interfaccia farlo.

I percorsi si dividono in due tipi:

  • Percorsi locali: istruzioni per i dispositivi nella tua sottorete (ad esempio, il tuo computer e la stampante).
  • Percorsi esterni: istruzioni per i dispositivi al di fuori della tua sottorete (ad esempio, per una risorsa su Internet).

2. Tabella di routing

La tabella di routing è una tabella con regole che determinano dove inviare i pacchetti in base agli indirizzi IP. È come Google Maps per il tuo computer: "Se vuoi andare lì, passa per questo gateway".

Prova a visualizzare la tua tabella di rotte:

ip route show

Esempio di output:

default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100

Cosa significa:

  • default via 192.168.1.1: se al pacchetto non è specificato dove deve andare, invialo tramite il gateway con l'indirizzo 192.168.1.1.
  • dev eth0: usiamo l'interfaccia eth0.
  • 192.168.1.0/24: questa è una rotta per l'intera sottorete 192.168.1.0/24. I pacchetti restano "a casa" nella rete locale.
  • proto e metric – parametri aggiuntivi, ne parleremo tra poco.

3. Comando ip route

Visualizzare i percorsi

Per vedere la tabella di routing abbiamo già utilizzato ip route show. Puoi aggiungere dei filtri, ad esempio, per determinare il percorso solo per la rete locale:

ip route show match 192.168.1.0/24

Aggiungere percorsi

Puoi aggiungere un percorso statico – è come mettere un cartello stradale da solo. Per esempio, per reindirizzare tutte le richieste alla subnet 10.0.0.0/24 attraverso un determinato gateway:

sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0

Spieghiamo:

  • 10.0.0.0/24 – subnet di destinazione.
  • via 192.168.1.1 – gateway attraverso il quale i pacchetti vengono inviati.
  • dev eth0 – interfaccia attraverso la quale i pacchetti passano.

Eliminare percorsi

Se non vuoi più che un percorso esista, lo elimini con il comando:

sudo ip route del 10.0.0.0/24

4. Pratica: Configurazione di una rotta statica

  1. Assicurati di avere accesso a un'altra sottorete.
  2. Aggiungi una rotta:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
  1. Verifica la tabella delle rotte:
ip route show
  1. Elimina la rotta, se non serve più.

5. Comando netstat

Quando si tratta di analizzare le connessioni attuali, netstat è un vecchio e affidabile amico degli amministratori di sistema (anche se ora c'è un'alternativa più moderna – ss, di cui parleremo dopo).

Verifica delle connessioni attive

netstat -tun

Che significa:

  • -t – mostra connessioni TCP.
  • -u – mostra connessioni UDP.
  • -n – usa indirizzi numerici (invece dei nomi host).

Esempio di output:

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 192.168.1.100:22        192.168.1.50:50240      ESTABLISHED

Che significa:

  • Indirizzo locale 192.168.1.100:22 – il tuo computer sta ascoltando sulla porta 22 (SSH).
  • Indirizzo remoto 192.168.1.50:50240 – è l'host remoto collegato alla tua porta.
  • ESTABLISHED – connessione attiva, dati in trasferimento.

Porte in ascolto

Per vedere quali porte stanno "ascoltando" sul tuo computer:

netstat -ltn

Il flag -l mostra solo le porte in ascolto, e -t e -n li abbiamo già discussi.


6. Comando ss

Se netstat è un dinosauro, allora ss è come una DeLorean del futuro: è più veloce e fornisce più informazioni.

Controllare le connessioni attive

ss -tun

L'output è simile a netstat, ma con maggiore velocità e più dettagli.

Ascoltare le porte

ss -tln

Tutto come con netstat, ma lavorare con ss è più comodo e moderno.


7. Monitoraggio delle connessioni

  1. Usa netstat o ss per vedere quali porte sta ascoltando il tuo computer.
  2. Apri una connessione SSH su un altro dispositivo e verifica se appare nell'elenco delle connessioni.
  3. Prova a interpretare l'output dei comandi.

Ci siamo immersi nel mondo del routing e del monitoraggio delle connessioni: ora puoi usare ip route per gestire la tabella delle rotte, e netstat/ss per analizzare le connessioni di rete. Questi strumenti sono il tuo coltellino svizzero per risolvere i problemi di rete più intricati. Vuoi aiutare un amico che si lamenta perché "internet non funziona"? Sfodera le tue nuove abilità e fai vedere di cosa sei capace!

La prossima lezione sarà ancora più interessante: esploreremo il DNS e la sua magia. Nel frattempo, esercitati con ip route e dai un'occhiata a come i pacchetti trovano la strada di casa.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION