Alnitawk   SecurFAQ /
NAT
SearchWiki
SecurFAQ.RecentChanges
Edit Page
Page Revisions

NAT: Network Address Translation

Ovvero: traduzione degli indirizzi di rete.

Un host in una rete privata (ad esempio, indirizzo ip 10.0.0.16) vuole collegarsi con un host in internet (ad esempio, www.google.com). Se il pacchetto inviato dal client fosse passato dal router della rete privata al server senza alcuna manipolazione, il server invierebbe le proprie risposte ad un indirizzo che, essendo privato, non sarebbe raggiungibile: la connessione risulterebbe impossibile. Per questo si usa il NAT, Network Address Translation. Con il NAT sono resi possibili i collegamenti dalla rete privata all'internet ma anche il viceversa, cioe' rende raggiungibili dall'internet i server che sono posti in una rete privata. Il meccanismo funziona in questo modo.

- Il client invia il pacchetto al gateway predefinito con il proprio indirizzo IP sorgente, mettiamo 10.0.0.16. Esso vuole comunicare con google.com, che ha indirizzo ip 66.102.9.99. Il gateway e' 10.0.0.254.

- Il gateway riceve il pacchetto destinato a google, decide su quale interfaccia deve inviarlo (routing). A questo punto entra in azione il NAT.

- L'interfaccia collegata all'internet ha un proprio indirizzo IP che e' pubblico, sia ad esempio, 151.32.230.21.

- Il NAT sostituisce l'indirizzo sorgente del pacchetto ricevuto con il proprio indirizzo sorgente sull'interfaccia pubblica. Questo pacchetto viene quindi instradato in questa interfaccia.

- il server riceve il pacchetto proveniente da 151.32.230.21, risponde accettando la comunicazione e inviando la risposta all'indirizzo pubblico.

- il gateway ottiene la risposta dal server. Sulla base dei parametri del pacchetto (sorgente, destinazione, porte coinvolte, Sequence Number e Ack Sequence Number) riconosce il pacchetto come facente parte della connessione tra 10.0.0.16 e 66.102.9.99, una connessione attiva. Cambia l'indirizzo di destinazione da 151.32.230.21 a 10.0.0.16 e lo invia sulla interfaccia interna.

- il client, 10.0.0.16, riceve il pacchetto proveniente da 66.102.9.99 come se il proprio indirizzo fosse raggiungibile. Merito del NAT!

Esistono in realta' due tipi di NAT, Source NAT e Destination NAT, a seconda che l'host nella rete privata sia originante le connessioni (client) oppure ricevente le connessioni (server).

In ambiente linux, se l'indirizzo ip pubblico e' dinamicamente assegnato, si parla di Masquerading?.

HC.


Edit Page - Page Revisions - WikiHelp - SearchWiki - RecentChanges
Page last modified on April 28, 2004, at 03:01 PM