| PrecedenteRidirezionamento di porta (Port forwarding) | NAT - Traslazione di indirizzi, port forwarding e port triggerin | SeguenteVLAN |
Il meccanismo della traslazione d'indirizzi (in inglese Network Address Translation sigla NAT) è stato messo a punto per rispondere alla penuria di indirizzi IPcon 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 una passerella 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.
Si tratta di realizzare, a livello della passerella, 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 la passerella NAT (precisando l'indirizzo IP della passerella nel campo « Gateway » nei suoi parametri TCP/IP). Quando un terminale di rete effettua una richiesta verso Internet, la passerella effettua la richiesta al suo posto, riceve la risposta, poi la trasmette al terminale che l'ha richiesta.
Dato che la passerella 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 della passerella.
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 :
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 la passerella) 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.
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 « mascherata 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.
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 « ridirezionamento di porta » (in inglese Port Forwarding o Port mapping) che consiste nel configurare la passerella 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 ridirezione della porta sulla passerella, ridirigendo tutti i pacchetti TCP ricevuti sulla sua porta 80 verso il terminale 192.168.1.2.
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, la passerella 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 » (in inglese port triggering), che permette di autorizzare la connessione su certe porte (port forwarding) se si verifica una condizione (richiesta). Si tratta quindi di un ridirezionamento di porta condizionale, che permette di non lasciare aperta una porta in permanenza, ma solo quando un'applicazione ne ha bisogno.
Per ulteriori informazioni si consiglia di fare riferimento a quest'altro articolo, relativo alla traslazione di indirizzo :
Le RFC 1918 e 3022 (in inglese) descrivono dettagliatamente il principio dello spazio di indirizzamento interno e di traslazione di indirizzo :
Articolo scritto da Jean-François PILLOU
Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:51:56.