Il nat serve per 'mascherare' gli indirizzi della rete locale. In poche parole si ha un solo pc connesso in rete e quindi con indirizzo ip pubblico e 'n' pc della rete lan con indirizzi ip privati del tipo 192.168.x.x. A questo punto se sui computer della lan viene impostato come gateway il pc server che ha l'accesso a internet anche i pc della lan possono navigare e verranno visti con l'indirizzo ip del server, che infatti non fa altro che modificare l'indirizzo ip dai pacchetti provenienti dalla lan, sostituendo l'ip degli altri pc col suo e poi effettua la richiesta. La risposta ovviamente arriverà al server gateway che inoltra il pacchetto al computer della lan che ne ha fatto richiesta.

in questo modo i pc della lan vengono mascherati e da internet sembra che tutte le richieste provengano da un solo pc.

Tutto questo per mascherare i pc della lan. Quindi tu puoi fare richieste solo al server gateway perchè tu non vedi gli altri pc. Se tu da internet vuoi connetterti direttamente ad una porta di un pc con indirizzo privato nascosto dal server gateway devi settare delle regole precise di nat sul server. Così facendo puoi fare in modo che interrogando una determinata porta sul server (perchè tu solo questo puoi fare) il server faccia richiesta ad un pc interno.

Ad esempio se tu hai un web server sulla porta 80 di un pc della LAN, questo può esser raggiunto anche da internet impostando determinate regole di nat. Così facendo basta interrogare la porta 80 del server che questa reindirizza le richiesta al pc della lan che ha il web server attivo.

Spero di essere spiegato.

Cmq vai su google e cerca degli howto sul nat... ne trovi molti e che spiegano molto bene...