Newsgroup: it.comp.reti.ip-admin
Titolo: Funzionamento Router NAT

Problema:
Ho una piccola rete lan con indirizzi privati 192.168.1.x
Tutte le macchine sono configurate con subnetmask 255.255.255.0,
cioč tutti gli ip al difuori dal range stabilito vengono inoltrati al
gateway,
che in questo caso č un router isdn ovvero un tintoretto lan della
digicom,
che con con bel nat dinamico mi connette ad internet.
Mi sono chiesto come funziona il nat e cosi' mi sono documentato e mi
sembra di aver afferrato l'essenziale.
Ma quello che non riesco a spiegarmi e che se sniffo i pacchetti, quando
faccio un ping o qualsiasi altra operazione che mi dirotti verso il gw,
nei pacchetti sniffati non c'e'traccia dell'indirizzo del gw.
Dunque andando per logica un gw č un uscita.
Quindi i pacchetti che invio a 
tin.it
 filtrati dalla maschera di
sottorete dovrebbero essere dirottati al gw che conseguentemente li
inoltra verso il destino finale.
Ma non c'e'traccia dell'ip del router nei pachetti  cioe se pingo
195.31.193.x vedo i miei pacchetti con ip 192.168.1.1. puntare
direttamente a 195.31.193.x., e il router??????
Il router li inoltra senza tante storie.
Ho pensato allora che questo si comporti come un bridge, ma non e
possibile,
perche se elimino il gw dalla conf del tcp, non navigo.....cioč se non
punto il gw non esco.
Se non sbaglio un bridge analizza tutti i pachetti e quelli che
corrispondono ai filtri impostati li tragetta in un altro segmento di
rete, ma credo che non sia il mio caso.
Come diavolo fa il gw a inoltrare i pachetti.
Secondo me dovrebbe funzionare cosi'
Client netscape 192.168.1.1:1256----->
194.243.154.15:80
 indirizzo furori
dala subnetmask inviare al gw
dovrebbe esistere un pachetto che dice al router, devi inltrare a
destinazione l'ip 
194.243.154.15:80
 per conto
di 
192.168.1.1:1256
.
Chi mi aiuta a capirci qualcosa, o indicarmi qualche fonte o testo
valido.
Grazie
Murizio Brugnoli

 Murizio Brugnoli
dentro:                                          fuori:
 192.168.1.2 -+                        
              | +--------------------------+
              +-| 192.168.1.1  15.15.15.15 |---- 22.22.22.22
                +--------------------------+
 1: Il ping parte passa attraverso il router
 +-------------+                            +-------------+
 | 192.168.1.2 |  L'Indirizzo di sorgente   | 15.15.15.15 |
 | 22.22.22.22 |  viene tradotto,il router  | 22.22.22.22 |
 +-------------+  si ricorda la traduzione  +-------------+
                  mem router
                  inside                    outside
                  src addr 191.168.1.2  --> 15.15.15.15
                  src prot icmp         --> icmp
                  src port echo         --> echo
                  dst addr 22.22.22.22  --> 22.22.22.22
                  dst prot icmp         --> icmp
                  dst port echo         --> echo
quando la risposta del host remoto arriva il router si ricorda di chi
aveva
chiesto quel servizio (echo icmp a 22.22.22.22) e appena gli arriva
ritraduce
l'indirizzo di ritorno trasformando la destinazione del indirizzo
interno in
quella che ha memorizzata.
                                            src
22.22.22.22:icmp:echo-reply
                                            dst 15.15.15.15:icmp:echo
 src 22.22.22.22:icmp:echo-reply   
 dst 192.168.1.2:icmp:echo
Come mai non gli finisce la memoria?
              Li finisce in alcuni casi...
Come fa a far sicche non accada spesso?
              Mantiene anche un timer per ogni traduzione che alla
scadenza
              viene cancellata (questi timer si dicono TTL Time to
Live).
E se si scorda di una sessione aperta?
              capita... prova a lasciare una sessione telnet aperta per
un
              po di ore senza alcuna attivita' e la sessione si rompe.

 sembra di aver afferrato l'essenziale.
qui trovi un piccolo testo che spiega come funziona il nat ed il masquerade.
http://www.paipai.net/texts/nat.txt
Proprio oggi ho apportato delle piccole correzioni di minore entita'.
ciau ciau
   midori

 nei pacchetti sniffati non c'e'traccia dell'indirizzo del gw.
E non deve esserci. Perlomeno a livello IP. Se guardi l'indirizzo
MAC di destinazione vedrai che il pacchetto Ethernet viene inviato
alla scheda di rete del gw.
Quando provi a fare un ping, il tuo PC fa un controllo sull'indirizzo
IP di destinazione. Se è dentro la tua rete (la netmask serve a questo),
con una chiamata ARP risolve l'indirizzo IP e lo mappa con l'indirizzo
MAC della scheda di rete a cui inviare il pacchetto.
Se è fuori dalla tua rete non può fare altrettanto; allora cerca
l'indirizzo MAC del tuo gw ed invia a quella scheda il pacchetto,
lasciando immutati i campi relativi ad IP.
A quel punto il gw/NAT riceve sulla propria scheda un pacchetto,
lo esamina, e decide cosa fare. Quello che accade poi, lo sai già.
--
Virgilio Lattanzi       HARPAX
Tel: 
+39 0733 816872
    via Fontanella, 55
Fax: +39 0733 819133    62012 Civitanova Marche MC
WWW: 
www.harpax.com
     ITALY

 Murizio Brugnoli
ciao maurizio
allora, quando cerchi di inviare un pacchetto verso l'esterno, grazie alla
maschera di sottorete,
il protocollo ip inserisce al posto dell'  indirizzo del destinatario, l'
indirizzo del def.gateway, mettendo l'informazione
con l'indirizzo ip di destinazione in un pacchetto dati che verrà
scompattato al suo arrivo.
infatti se fai
tracert 195.31.193.x
troverai l'indirizzo del tuo def. gw.
allora, tu chiedi, perche' non lo vedo anche con lo sniffer ?
le risposte possono essere diverse, dipende dalla esatta configurazione
della tua lan.
ad esempio, hai un hub switching o no? in tal caso lo sniffer, per come
lavora uno switch, non ti fornisce informazioni valide;
oppure, stai usando uno sniffer software, lanciandolo da una workstation
della tua lan ?
allora lo sniffer vede che il pacchetto che stai inviando ha come
intestazione l'indirizzo ip di destinazione, e quello ti fa vedere;
forse il tuo sniffer sta guardando il protocollo ip e non il tcp, e dunque
non vede quello che succede nell'instradamento;
se invece hai uno sniffer hardware, e ad esempio lo hai messo tra il gw ed
il modem, ovviamente vede l'indirizzo di destinazione.
un buon testo, in ogni caso e sicuramente meglio dei miei tentativi di
spiegazione, potrebbe essere
tcp/ip
ed. apogeo
di brian komar
69.000 lirette, ma spese bene.
spero di non averti aumentato i dubbi.
ciao
doc
muro...@toglimi.inwind.it
toglimi toglimi se mi vuoi rispondere.