Entra

View Full Version : iptable e port forwarding


jventure
09-05-2008, 10:17
ciao a tutti, c'è una cosuccia che non so come risolvere, anzi due :D

premessa
la topologia della lan è questa:
http://img231.imageshack.us/img231/8393/mialanoe2.th.jpg (http://img231.imageshack.us/my.php?image=mialanoe2.jpg)

domanda1
il frontend ha iptables con nat per la rete privata e la dmz, vorrei fare un mapping delle porte per dei servizi presenti sul server in dmz
una cosa tipo così:
iptables -t nat -A PREROUTING -p tcp --dport 33 -i eth0 -j DNAT --to-destination 12.0.0.10:22
ma non mi funziona
mentre se faccio:
iptables -t nat -A PREROUTING -p tcp --dport 22 -i eth0 -j DNAT --to-destination 12.0.0.10:22
funziona perfettamente

domanda2
voglio impedire a 12.0.0.10 di pingare e quindi accedere alla rete 10.0.0.0/24 ma essendo il server di frontend impostato come gateway non so come fare
ho provato ad inserire una condizione così:

iptables -A OUTPUT -i eth1 -o eth2 -j DROP
con eth1 interfaccia della rete 12.0.0.0/24 e eth2 interfaccia della rete 10.0.0.0/24 ma nulla continua a pingare i pc in lan

se serve posto iptables --list ma è lunghetto

W.S.
09-05-2008, 11:03
ciao :)

risposta 1:
Fai anche un SNAT per le risposte? Potrebbe non funzionare perché il client si vede recapitare pacchetti di ritorno provenienti da una porta diversa da quella richiesta.

risposta 2:
ma 12.0.0.10 è il firewall stesso o una macchina in dmz?
Se è il firewall è giusto usare OUTPUT ma sbagliato usare -i, son pacchetti generati dall'host e quindi senza interfaccia di entrata. per impedire il ping:
iptables -t filter -I OUTPUT -p icmp -o eth2 -j DROP
per impedire le connessioni in generale:
iptables -t filter -I OUTPUT -m state --state NEW -o eth2 -j DROP

se invece 12.0.0.10 non è il firewall va usato FORWARD al posto di OUTPUT e possiamo usare l'interfaccia di entrata:
iptables -t filter -I FORWARD -p icmp -i eth1 -o eth2 -j DROP
iptables -t filter -I FORWARD -m state --state NEW -i eth1 -o eth2 -j DROP

P.S.: ma le policy di default sono ACCEPT? Se le imposti a DROP e abiliti solo quello che vuoi far passare potresti semplificarti la vita.

jventure
09-05-2008, 11:22
risposta 1:
Fai anche un SNAT per le risposte? Potrebbe non funzionare perché il client si vede recapitare pacchetti di ritorno provenienti da una porta diversa da quella richiesta.


questo non lo sapevo ... indagherò dopo la pausa pranzo


risposta 2:

se invece 12.0.0.10 non è il firewall va usato FORWARD al posto di OUTPUT e possiamo usare l'interfaccia di entrata:
iptables -t filter -I FORWARD -p icmp -i eth1 -o eth2 -j DROP
iptables -t filter -I FORWARD -m state --state NEW -i eth1 -o eth2 -j DROP

proverò così sempre dopo la pausa pranzo


P.S.: ma le policy di default sono ACCEPT? Se le imposti a DROP e abiliti solo quello che vuoi far passare potresti semplificarti la vita.

no le policy a default sono in drop

grazie 1000 davvero

HexDEF6
09-05-2008, 12:23
magari trovi qualcosa di utile nella mia firma... anche se avrebbe bisogno di qualche correzione (compito lasciato allo studente :O )

Ciao!