[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

NAT "trasparente"



Ciao gente. Oggi devo fare un NAT "trasparente", ovvero: ho una LAN con il
suo bravo router, voglio infilare la mia linux-box fra lo switch della LAN
ed il router, senza riconfigurare l'indirizzo del gateway su tutta la LAN
(non c'è DHCP) e senza configurare alcunché del router, perché non è mio e
non posso toccarlo.
La Linux box è Sarge con kernel 2.4, ma, se serve, posso mettere il 2.6.

LAN-->SWITCH-->LINUX-->ROUTER

La lan è 192.168.1.0/24, il router è 192.168.1.254 .

La prima idea è stata quella di mettere due schede ethernet nella linuxbox,
eth0 verso la LAN ed eth1 verso il router, seguito da:

1 - Comando per "ingannare" i compupters in lan che continuano a puntare al
solito gateway, che ora però è la mia linux box:
# ifconfig eth0 192.168.1.254 netmask 255.255.255.0 up

2 - Comando per configurare la scheda ethernet verso il router, in modo che
veda più solo la linux box come facente parte della rete locale
# ifconfig eth1 192.168.1.222 netmask 255.255.255.0 up

3 - Comandi per attivare il NAT
# iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.1.222
# echo 1 > /proc/sys/net/ipv4/ip_forward

4 - Comando per dire al kernel dove quale sia il default gateway
# route add default gw 192.168.1.254

Ora è chiaro anche a me che il comando route è ambiguo, perché io vorrei
dire, con quel comando, che il default gateway è il router attaccato
all'altro capo di eth1, ma l'indirizzo del router coincide con l'indirizzo
di eth0. Credo che sia questo il motivo per cui, a prove fatte, il tutto
non funziona.

Esiste un modo per farlo funzionare? Magari qualche parola magica al comando
route, o qualche regola nuova nella tabella FORWARD? 



Reply to: