Re: nat e kernel
Fabio ha scritto lo scorso 14/02/2006 16:51:
[...]
> ----------------
> host1 -----------------| Firewall/ |ip pubblico
> host2------------------|Router |----------------- INTERNET
> ----------------
>
> il router fa il nat tra gli ip della lan e l'ip pubblico (SNAT).
>
> se host1 e host2 fanno una "connessione" UDP verso un host esterno
> contemporaneamente, il router riceverà pacchetti udp di risposta con: ip
> mittente = ip host esterno, e ip destinatario = ip pubblico (del router).
> come fa a discriminare i pacchetti da inviare a host1 e host2? (cioè il
> De-SNAT)?
>
> Per le connessioni TCP, visto che il protocollo è connection-oriented, è
> possibile identificare l'appartenenza di un pacchetto ad una connessione
> aperta. ma per UDP?
?
Non ti lasciar fuorviare; anche nel caso del tcp è uno degli host (1 o
2) che per primo "chiede" una connessione ad un server pubblico; il NAT
traccia questa connessione (da host1/2 a server pubblico) e ne tiene
memoria per i successivi instradamenti; la stessa cosa può essere fatta
anche per un pacchetto udp, *ma* deve essere il NAT a farsi carico di
ciò - con il vincolo addizionale che non deve rimappare le porte
utilizzate in origine (e comunque, host1/2 deve iniziare una connessione
verso un server pubblico).
Tutto questo ovviamente e assolutamente AFAIK.
Reply to: