NAT - Traslazione di indirizzi, port forwarding e port triggerin

Luglio 2015

Principio del NAT


Il meccanismo della traslazione d'indirizzi (in inglese Network Address Translation sigla NAT) è stato elaborato per rispondere alla penuria di indirizzi IP con il protocollo IPv4 (il protocollo IPv6 mise fine a questi problemi).

In effetti, nell'indirizzamento IPv4 il numero di indirizzi IP da inserire nel router (quindi unici al mondo) non è sufficiente per permettere a tutti i terminali di essere connessi a internet.

Il principio del NAT consiste quindi nell'utilizzare un gateway di connessione a internet, con almeno un'interfaccia di rete connessa alla rete interna e almeno un'interfaccia di rete connessa ad Internet (con un indirizzo IP per il router), per connettere l'insieme dei terminali di rete.
Gateway NAT


Si tratta di realizzare, a livello del gateway, una traslazione (letteralmente una «traduzione») dei pacchetti provenienti dalla rete interna verso quella esterna.

Così, ogni terminale di rete che ha bisogno di accedere ad Internet è configurato per usare il gateway NAT (precisando l'indirizzo IP del gateway nel campo «Gateway» con i suoi parametri TCP/IP). Quando un terminale di rete effettua una richiesta verso Internet, il gateway effettua la richiesta al suo posto, riceve la risposta, poi la trasmette al terminale che l'ha richiesta.
Principio della translation di indirizzi


Dato che il gateway camuffa completamente l'indirizzamento interno della rete, il meccanismo di traslazione di indirizzi permette di assicurare una funzione di sicurizzazione. In effetti, per un osservatore esterno alla rete, tutte le richieste sembrano provenire dall'indirizzo IP del gateway.

Spazio di indirizzamento


L'organismo che gestisce lo spazio di indirizzamento pubblico (indirizzi IP per i router) è l'Internet Assigned Number Authority (IANA). La RFC 1918 definisce uno spazio di indirizzamento privato che permette ad ogni organizzazione di attribuire degli indirizzi IP ai terminali della sua rete interna senza il rischio di entrare in conflitto con un indirizzo IP pubblico indicato dall'IANA. Questi indirizzi a cui non si può fare rooting corrispondono ai campi di indirizzi seguenti :
  • Classe A : range da 10.0.0.0 a 10.255.255.255 ;
  • Classe B : range da 172.16.0.0 a 172.31.255.255 ;
  • Classe C : range da 192.168.0.0 a 192.168.255.55 ;


Tutti i terminali di una rete interna, connessi a internet attraverso un router e senza indirizzo IP pubblico devono usare un indirizzo contenuto in uno di questi range. Per le piccole reti domestiche, si usa generalmente il range di indirizzi da 192.168.0.1 a 192.168.0.255

Traslazione statica


Il principio del NAT statico consiste nell'associare un indirizzo IP pubblico ad un indirizzo IP privato interno alla rete. Il router (o più esattamente il gateway) permette quindi di associare ad un indirizzo IP privato (ad esempio 192.168.0.1) un indirizzo IP pubblico smistato su internet di fare la traduzione, in un senso come nell'altro, modificando l'indirizzo nel pacchetto IP.

La traslazione di indirizzo statico permette quindi di connettere dei terminali della rete interna a internet in maniera trasparente ma non risolve il problema della penuria di indirizzo nella misura in cui n indirizzi IP smistati sono necessari per connettere n terminali della rete interna.

Traslazione dinamica


La NAT dinamica permette di condividere un indirizzo IP routabile (o un numero ridotto di indirizzi IP smistati) fra più terminali in indirizzamento privato. Così, tutti i terminali della rete interna hanno virtualmente, visti dall'esterno, lo stesso indirizzo IP. Questa è la ragione per cui il termine «maschera IP» (in inglese IP masquerading) è talvolta usato per designare il meccanismo di traslazione di indirizzo dinamico.

Per poter «multiplexare» (condividere) i diversi indirizzi IP su uno o più indirizzi IP smistati il NAT dinamico usa il meccanismo di traslazione della porta (PAT - Port Address Translation), cioè l'attribuzione di una porta sorgente diversa ad ogni richiesta in maniera tale da poter mantenere una corrispondenza tra le richieste provenienti dalla rete interna e le risposte dei terminali su internet, tutte indirizzate all'indirizzo IP del router.

Port Forwarding


La traslazione di indirizzo permette di collegare solo delle richieste che provengono dalla rete interna verso quella esterna, il che significa che è impossibile in quanto tale per un terminale esterno inviare un pacchetto verso un terminale della rete interna. In altri termini, i terminali della rete interna non possono funzionare come server verso l'esterno.

per questa ragione, esiste un'estensione del NAT detta «port forwarding» che consiste nel configurare il gateway per trasmettere ad un terminale specifico della rete interna, tutti i pacchetti ricevuti su una particolare porta. Così, se si vuole accedere ad un server web (porta 80) funzionante su un terminale 192.168.1.2 dall'esterno, sarà necessario definire una regola di forwarding della porta sul gateway, ridirigendo tutti i pacchetti TCP ricevuti sulla sua porta 80 verso il terminale 192.168.1.2.

Port Triggering


La maggior parte delle applicazioni client-server effettuano una richiesta su un host remoto su una data porta e aprono una porta di ritorno per recuperare i dati. Tuttavia, alcune applicazioni usano più di una porta per scambiare i dati con il server, è il caso ad esempio dell' FTP, per cui si stabilisce una connessione con la porta 21, ma i dati sono trasferiti dalla porta 20. Così, con il meccanismo NAT, dopo una richiesta di connessione sulla porta 21 di un server FTP remoto, il gateway aspetta una connessione su una sola porta e rifiuterà la richiesta di connessione alla porta 20 del client.

Esiste un meccanismo derivato del NAT, detto « triggering di porta», che permette di autorizzare la connessione su certe porte (port forwarding) se si verifica una condizione (richiesta). Si tratta quindi di un port forwarding condizionale, che permette di non lasciare aperta una porta in permanenza, ma solo quando un'applicazione ne ha bisogno.

Ulteriori informazioni


Per ulteriori informazioni si consiglia di fare riferimento a quest'altro articolo, relativo alla traslazione di indirizzo :
Le RFC 1918 e 3022 descrivono dettagliatamente il principio dello spazio di indirizzamento interno e di traslazione di indirizzo :

Articolo scritto da Jean-François PILLOU
Per poter consultare questo documento offline, ne potete scaricare gratuitamente una versione in formato PDF:
Nat-traslazione-di-indirizzi-port-forwarding-e-port-triggerin .pdf

Vedi anche


NAT- Network address translation, port forwarding and port trigg
NAT- Network address translation, port forwarding and port trigg
NAT- Conversión de direcciones de red, habilitación de puertos y
NAT- Conversión de direcciones de red, habilitación de puertos y
NAT - Adressenumsetzung, port forwarding und port triggering
NAT - Adressenumsetzung, port forwarding und port triggering
NAT - Translation d'adresses, port forwarding et port triggering
NAT - Translation d'adresses, port forwarding et port triggering
NAT - Network Address Translation, porta e encaminhamento porta
NAT - Network Address Translation, porta e encaminhamento porta
Il documento intitolato « NAT - Traslazione di indirizzi, port forwarding e port triggerin » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.