Re: R: Re: ip masquerade
Alle 18:50, martedì 27 marzo 2007, davide.marchiani@tin.it ha scritto:
>
> Questa è una cosa molto interessante.
> Infatti devo dire che le
> istruzioni su iptables -t nat che ho cercato differiscono leggermente
> proprio su questo punto.
> Pensi che possa essere qui il punto?
Ogni volta mi tocca andare a guardare perché me la dimentico:) Comunque
dovrebbe essere qualcosa del genere:
# iptables -t nat -A POSTROUTING -o <porta verso il router> -j
SNAT --to-source <indirizzo macchina intermedia>
La configurazione dovrebbe assomigliare a questa:
Macchina "Host":
eth0 - rete A; es 192.168.1.1
Macchina "Intermedia"
eth0 - rete A es 192.168.1.2
eth1 - rete B es 192.168.0.1
Macchina "Router"
eth0 - rete B es 192.168.0.254
ppp0 - Internet es 150.233.7.12
Ovviamente netmask 255.255.255.0 per entrambe le reti.
Immaginiamo di voler inviare un pacchetto dall'host all'indirizzo
172.145.12.56. Abbiamo quindi una coppia <destinazione, sorgente> tipo
<192.168.1.1, 172.145.12.56>.
Il pacchetto parte dall'host e arriva con l'interfaccia eth0 alla macchina
intermedia. Li verrà analizzato da iptables (con la regola indicata sopra)
che, vedendo che non è la macchina intermedia il destinatario, cambia
l'indirizzo sorgente da quello dell'host a quello associato all'interfaccia
eth1 dell'intermedia, quindi in <192.168.0.1, 172.145.12.56> e lo instrada su
quest'ultima interfaccia. In questo modo il pacchetto arriva al router con un
indirizzo sorgente di una macchina che sta all'interno della sua rete e lo
instrada correttamente verso Internet tramite la sua interfaccia ppp0
ovviamente agendo anche lui da NAT.
Quindi il pacchetto che esce dal router e va in internet sarà del tipo
<150.233.7.12, 172.145.12.56>.
Il pacchetto di risposta fa il percorso contrario contando sul corretto
funzionamento del NAT.
Il target MASQUERADE fa la stessa cosa ma con ip dinamici (quello che fa il
NAT del router quando instrada il pacchetto verso internet! Quelle scatoline
che compriamo che ce le spacciano per router in verità hanno vari dispositivi
all'interno, NAT, server DHCP, modem, switch...), di solito assegnati da una
connessione ad internet e non funziona per ip fissi di una rete interna.
Quello di cui non sono sicuro è invece il fatto che ti serva questo nat visto
che se assegni all'interfaccia eth0 dell'host un indirizzo della stessa rete
del router in teoria ti dovrebbe bastare un ip forwarding e al limite una
regola che semplicemente bypassa i pacchetti dall'host al router.
In caso sperimenta! :)
man iptables oppure ci sono un po' di ebook free in rete su iptables.
>
> Grazie
> CIAO
> davide
fede
Reply to: