Il NAT (Network Address Translation) serve, come dici tu, per consentire di trasformare indirizzi. Tipicamente, serve quando hai IP privati (10.x.x.x, da 172.16.0.0 a 172.31.255.255 e 192.168.x.x). Questi indirizzi, che sono definiti dal documento RFC 1918, non consentono la navigazione in internet e sono normalmente usati in modo privato (in casa o in una azienda). Quando un PC deve accedere ad internet il router tiene traccia del traffico dal PC domestico al server esterno e trasla l’indirizzo privato (es. <10.3.2.2 --> 130.192.256.2>) così come hai descritto, in indirizzo pubblico. Quando arriva la risposta dal server esterno, il router riesce a capire, (attraverso il tipo di traffico -TCP/UDP porta sorgente e destinatario-) ad inviare il traffico verso il PC interno.
Il problema si pone quando il servizio di trova un server interno che deve essere raggiunto dall’esterno, ad esempio metti un server web in casa e deve essere raggiunto da qualcuno che sta nel mondo, in internet. In questo caso, come abbinare l’IP pubblico con l’IP privato, specie se nella tua rete hai più nodi?.
La prima idea è di fornire al router una tabella che abbina ad un IP pubblico il corrispondente privato. Ad esempio abbinare l’indirizzo 1.1.1.1 al 192.168.1.22. In questo modo l’indirizzo pubblico 1.1.1.1 è abbinato al privato 192.168.1.22 e riservato solo a questo. Se, come nelle ADSL domestiche, hai un solo IP, solo il 192.168.1.22 può navigare. Anche se disponi di più indirizzi IP pubblici, è in genere uno spreco un abbinamento uno a uno. Conviene discriminare ulteriormente. Ad esempio, se hai due server interni, un web con indirizzo 192.168.1.22 e in server di posta, 192.168.1.33 puoi abbinare l’IP pubblico non solo con l’IP privato, ma anche con il servizio offerto.
Il server web sarà contattato alla porta 80 e 443, mentre il server di posta alla porta 25 e 110. Allora al router viene indicato che una richiesta esterna con indirizzo pubblico 1.1.1.1 e porta TCP 80 o TCP 443 viene inoltrata a 192.168.1.22, mentre una richiesta esterna con IP pubblico 1.1.1.1 e porta TCP 25 o 110 viene inviata al server 192.168.1.33.
Sono poi possibili altri giochi, come la possibilità di traslare non solo l’IP ma anche la porta. Ad esempio una chiamata esterna verso 1.1.1.1 sulla porta 80 (si può scrivere 1.1.1.1:80) può essere traslata verso l’host interno 192.168.1.11, ma sulla porta 8080 (192.168.1.11:8080)
Questo in modo un po’ semplificato.
Il problema è che questi meccanismi prendono nomi differenti, NAT, PAT (Porta Adderess Traslation), NAPT, vitrual host, ecc.. Quindi leggi bene il manuale del router e pensa al meccanismo che vuoi implementare.
Sparo di essere stato utile.