max wrote:
mi hanno chiesto di fare un firewall trasparente che faccia anche NAT, ovvero che non richieda nessuna riconfigurazione nella LAN.

Se fà NAT allora non è trasparente! :)
Il firewall trasparente ha le interfacce di rete senza IP address, quindi non è lui che fà nat, al limite il NAT lo fà o il firewall esterno o un router.

Per fare questo ho pensato di mettere su un firewall con 2 interfacce di rete nello stesso rango di IP e collegarle tra il router adsl e la LAN. Il problema è che non funziona (come mi aspettavo). Mi chiedevo se la cosa fosse possibile con linux, e soprattutto se fosse sicura.

Hai le idee un pò confuse, il transparent firewall si frappone *FISICAMENTE* tra il tuo GW e la tua LAN in modo che possa filtrare in maniera *trasparente* tutto il traffico, uno schema ipotetico potrebbe essere questo:


192.168.1.x             0.0.0.0    0.0.0.0     192.168.1.254 PUB
PC/Server<-->Switch<-->Transparent Firewall<-->Router/NAT<-->Internet

Per fare questo devi in prima istanza tirare su le interfacce Ethernet senza assegnare alcun IP e poi devi configurare il bridging. Fatto questo usi le IPTABLES specificando per ogni regola IP sorgente ed IP destinazione es:

ifconfig eth0 0.0.0.0   <-Configuri eth0
ifconfig eth1 0.0.0.0   <-Configuri eth1
modprobe bridge         <-Carichi il modulo di bridging
brctl addbr br0         <-Crei il tuo bridge
brctl addif br0 eth0    <-Inserisci le due interfacce
brctl addif br0 eth1    <-Ethernet che devi "bridggiare" ;)
brctl stp off           <-Disabiliti lo Spanning Tree (a volte aiuta)

Da non dimenticare il forwarding dell'IP:
echo "0" > /proc/sys/net/ipv4/ip_forward

Fatto questo hai creato un bridge sulla tua lan, ora devi impostare le IPTABLES per filtrare il traffico ad es:

iptables -I FORWARD -p tcp -s 0.0.0.0/0 -d 192.168.1.5 --dport 1433 -j DROP

Così dovrebbe poter funzionare, calcola che una cosa del genere l'ho implementata un paio di anni fà e quindi se non sono stato preciso perdonami, ma la memoria non è più quella di una volta!!!! :)

Ciao.

        Fabio.


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Rispondere a