GuideNetworking.it

Approfondimenti, tutorial ed esperienze sulle reti informatiche

NAT: cosa significa e come funziona.

NAT: cosa significa e come funziona.

Una tecnica praticamente indispensabile per il networking: NAT, vediamo cosa significa e come funziona.

Prima di addentrarci nel funzionamento di questa utilizzatissima tecnica vediamo cosa significa l’acronimo: NAT – Network Address Translation. Se vogliamo tradurre in italiano possiamo scrivere: “traduzione indirizzi di rete”. Come spesso accade, tradurre un acronimo in italiano nel settore informatico con ci aiuta moltissimo a capire il significato.

Come leggerai nel seguito di questo articolo l’operazione fatta dal NAT non è proprio una traduzione, forse, più giusto sarebbe parlare di sostituzione di indirizzi. Tuttavia non ci fermiamo sulle definizioni, andiamo avanti e cerchiamo di capire di cosa parliamo.

Come più volte detto in queste pagine cercherò di privilegiare la semplicità per chiarire i concetti e non la formalità che sarebbe indicata per questa tipologia di argomenti. Ti invito subito a segnalarmi se qualcosa non ti sembra corretto.

Se hai letto la mia guida all’installazione di una rete LAN avrai chiaro il significato di rete LAN – Local Area Network.  In pratica abbiamo una LAN in un ufficio o azienda quando ci sono più computer collegati “in rete” fra di loro. Come già scritto questi computer sono collegati fra di loro tramite uno o più switch ed infine al router, che provvede al “collegamento internet”.

Se tutto questo non è chiaro, due articoli che potrebbero essere utili a chiarire oltre a quello specificato appena sopra,  sono:

Se invece è tutto chiaro, andiamo avanti. Prima di capire il significato del NAT è necessario  fare un passo indietro per chiarire alcuni concetti fondamentali per comprendere meglio.

Come scritto negli articoli segnalati, per configurare una rete LAN dobbiamo assegnare ad ogni dispositivo di cui è composta la nostra rete un indirizzo IP. Questo indirizzo è necessario perchè il dispositivo (PC, stampante, ecc..) sia raggiungibile in rete.

In realtà questo è un principio fondamentale del protocollo TCP/IP: ogni dispositivo è identificato da un indirizzo IP. Questo rende “rintracciabile” il dispositivo all’interno della rete.

Abbiamo definito la rete INTERNET come una “rete di reti” basata sul protocollo TCP/IP dunque devono “rispettare” lo stesso principio: tutti i PC all’interno di Internet sono identificati da un indirizzo IP. Di questo parleremo più approfonditamente in un’altro articolo. Per ora ci basta aver chiaro questo concetto.

E’ chiaro che questi indirizzi devono essere conosciuti all’interno della rete altrimenti sarebbe impossibile raggiungerli. Infatti tutti i PC pubblici su internet, o se vogliamo i “servizi pubblici”, devono essere raggiungibili tramite indirizzi IP PUBBLICI.

Questo non è vero per le LAN. I PC all’interno della LAN non è necessario che abbia un indirizzo IP PUBBLICO perchè non offrono un servizio pubblico e non è necessario che siano raggiungibili dall’esterno. Infatti un PC di una LAN è sufficiente che sia raggiungibile “solo” da tutti gli altri dispositivi all’interno della LAN privata. Per questo parliamo di indirizzi IP PRIVATI.

Dunque ricapitoliamo:

  • all’interno della LAN abbiamo indirizzi IP PRIVATI.
  • all’interno della rete Internet avremo indirizzi IP PUBBLICI.

Una LAN con tanti PC identificati dai rispettivi indirizzi IP PRIVATI, collegati tramite uno switch possono scambiare dati fra di loro perchè “fra di loro si conoscono”. Tutti i PC della rete LAN possono anche “navigare su INTERNET” perchè ogni PC (o, se vogliamo, server) sulla rete Internet è identificato da un Indirizzo IP PUBBLICO, dunque tutti i PC della LAN sanno come raggiungerli.

Immaginiamo ora il nostro PC che utilizza un servizio su Intenet. Possiamo raggiungere i server che forniscono il servizio perchè, come detto, hanno un indirizzo IP PUBBLICO. Ma per ricevere una risposta, anche i server che interroghiamo devono sapere come rintracciare il nostro PC. Ma il nostro PC ha indirizzo IP PRIVATO, dunque non conosciuto da tutti.

Dunque, come funziona?

Per far funzionare tutto, anche il PC dovrebbe avere un indirizzo IP PUBBLICO. Ma immaginate la difficoltà di questa cosa, tutti i PC del mondo dovrebbero avere un indirizzo IP PUBBLICO, quanti indirizzi servirebbero Ma il problema non è solo questo, il problema forse più importante è che avendo tutti i PC indirizzi pubblici potrebbero essere rintracciati da tutti. Immagina il PC che usi a casa con le tue foto personali, o il PC del tuo ufficio, che sia raggiungibile da tutti i PC del mondo collegati ad Internet. Ci sarebbero anche problemi gravi di sicurezza.

Per risolvere questo problema di indirizzi è stato “inventato” il NAT.

Quando facciamo un abbonamento ad un fornitore di connettività (ADSL, VDSL, fibra) il fornitore ci assegna anche un indirizzo IP PUBBLICO.

L’indirizzo IP PUBBLICO fornito dal nostro provider Internet sarà assegnato al nostro router.

Per questo motivo anche il nostro router, sarà raggiungibile da internet tramite l’indirizzo IP PUBBLICO.

Chiaro?

Se non è chiaro segnalamelo subito, cercherò di migliorare.

Ritorniamo al nostro PC, all’interno della LAN, che utilizza un servizio pubblico sulla rete Internet. In realtà all’interno della LAN ci sono tanti PC che utilizzano servizi pubblici su Internet. Ma sulla rete pubblica internet, l’unico dispositivo raggiungibile della nostra LAN è il nostro router a cui è stato assegnato un indirizzo IP pubblico dal provider.

Ci vuole un meccanismo che, data una richiesta pubblica, sia in grado di raggiungere l’indirizzo privato del PC che ha effettuato la richiesta. In pratica un meccanismo che faccia comunicare un IP PRIVATO (il PC della nostra LAN) con un IP PUBBLICO (il servizio su internet che voglio contattare). Questo meccanismo si chiama NAT: Network Address Translation.

In generale, dunque, possiamo affermare che il meccanismo del NAT è una funzionalità presente all’interno del router grazie al quale il router può modificare l’indirizzo IP all’interno del pacchetto di informazione inviato dal PC privato sulla rete pubblica. Molto spesso si chiama anche masquerading.

Grazie alla tecnica del NAT, in pratica, possiamo “consumare” un solo indirizzo IP PUBBLICO per permettere a tutta la LAN di navigare su Internet!

Tipi di NAT

Possiamo distinguere due tipologie di NAT:

source NAT: viene modificato l’indirizzo IP sorgente del pacchetto inviato sulla rete.

Questo è il tipo di NAT che utilizza il router per inviare su Internet i pacchetti inviati da un PC della LAN, modificando l’IP sorgente PRIVATO del PC con l’IP PUBBLICO del router. In questo modo quando il pacchetto arriva a destinazione, la destinazione sa come fare per inviare indietro la risposta (la invia all’indirizzo IP PUBBLICO del router). Quando la risposta arriva al router, lui, sa a quale PC inviarla.

destination NAT: viene modificato l’indirizzo IP di destinazione del pacchetto inviato sulla rete.

Questo tipo di NAT è usato se vogliamo “pubblicare” su internet un servizio offerto da un PC della rete LAN. Possiamo impostare sul router una regola per cui quando arriva una richiesta sull’indirizzo IP PUBBLICO relativa ad un servizio particolare (identificato dalla porta) il router gira la richiesta ad un indirizzo IP PRIVATO del PC che offre quel servizio.

In questo caso parliamo anche di Port-Forwarding.

Il motivo è molto semplice. I servizi forniti da un server (o anche da un PC) nel mondo Internet vengono identificati da un numero chiamato porta. Ogni porta corrisponde ad un servizio. Quando “qualcuno” da internet vuole contattare il servizio del PC privato all’interno della LAN il router deve fare un destination-nat cioè deve redirigere la richiesta che arriva al router porta-del-servizio e IP PUBBLICO in una richiesta fatta al PC della lan con porta-del-servizio-interno e IP PRIVATO.

Prima di concludere, per essere concreti, vediamo come si configura il NAT su un router MikroTik, uno dei migliori router esistenti. Vogliamo configurare il NAT per permettere a tutti i PC della LAN (192.168.1.0/24) di navigare su internet.

La configurazione del NAT all’interno del router MikroTik si trova nel menù: IP->FIREWALL->NAT.

Nella figura qui sotto si vede chiaramente quello che abbiamo detto. Vogliamo impostare un source NAT (srcnat), e vogliamo sostituire tutti gli IP PRIVATI come indirizzi sorgenti dei pacchetti (nel campo Src Address la classe di rete della nostra LAN) dai pacchetti che escono dalla nostra LAN (Out. Interface).

nat cosa significa

Nella scheda “Action” infatti l’unica cosa che specifichiamo è di MASCHERARE l’IP PRIVATO con l’indirizzo IP PUBBLICO che il router conosce:

nat cosa significa

Il meccanismo del NAT è uno dei principi fondamenti per l’utilizzo della rete Internet e dei suoi servizi. Con questo articolo certamente non ho fatto una trattazione completa e dettagliata ma spero di aver reso chiaro il concetto.

Se l’articolo ti è servito ti chiedo di farmelo sapere, se invece no fammi capire quali possono essere i miglioramenti. Senza il tuo riscontro, è molto più difficile per me scrivere di cose utili!!

Grazie ed alla prossima!!

 

 

 

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.