tach, ich steh irgendwie gerade auf dem schlauch. habe ein forwarding auf einen internen webserver: $IPT -t nat -A PREROUTING -i $DEV_INET -p tcp --sport $UNPRIVPORTS -d $IP_INET --dport 80 -j DNAT --to-destination 192.168.0.1 $IPT -A FORWARD -i $DEV_INET -o $DEV_LAN -p tcp --sport $UNPRIVPORTS -d 192.168.0.1 --dport 80 -m state --state NEW,ESTABLISH so und nun möchte ich aber bestimmte IP's davon bzw. generell ausschliessen. ein simples: $IPT -A INPUT -s $BADIP -j DROP funktioniert jedoch nicht. Da habe ich noch mal in das iptables blockdiagramm geschaut und nun bin ich verwirt. prerouting------>forward------->postrouting | | | | input->local->output weia da jemand was ;-) ?
Falls das forward nicht die anderen Regeln aufhebt, versuch mal: $IPT -I INPUT -s $BADIP -j DROP das fügt die Regel am Anfang der Regeln ein. http://www.netadmintools.com/art216.html
nee, funktioniert auch nicht. kann auch nicht, da mit prerouting schon entschieden ist was mit dem paket passiert -> es erreicht die INPUT-chain gar nicht erst. <-laut handbuch gewinnt der erste treffer. d.h. auch, das das 'FORWARD' das '-I INPUT' nicht aufheben kann...
eine möglichkeit wäre, die $BADIP auf dem webserver zu filtern aber ich wollte das eigentlich auf der firewall regeln...
mike schrieb: > nee, funktioniert auch nicht. kann auch nicht, da mit prerouting schon > entschieden ist was mit dem paket passiert -> es erreicht die > INPUT-chain gar nicht erst. nein, jedes externe Packet muss durch die Input chain. Es ist unabhängig ob es im NAT teil schon bearbeitet wurden ist. Zum testen kann du ja einfach mal iptable -I INPUT -j DROP machen - dann geht nichts mehr von aussen.
peter du hast unrecht aber mich auf etwas gebracht. ohne es bis jetzt getestet zu haben, aber ich glaub ich weis die lösung: das paket kommt an und landet in der prerouting chain. dort wird festgestellt, das es in ein anderes netz geht. und da liegt der hund begraben! es muss lauten: $IPT -A FORWARD -s $BADIP -j DROP $IPT -A FORWARD -i $DEV_INET -o $DEV_LAN -p tcp --sport $UNPRIVPORTS -d 192.168.0.1 --dport 80 -m state --state NEW,ESTABLISH @PETER: ..deswegen erreicht es die INPUT chain nicht. mein blockdiagramm ist vielleicht etwas unglücklich, dieses ist besser: http://1.bp.blogspot.com/_VN8zHqq8Ns8/SLepX1xMFkI/AAAAAAAABPM/V7-gN94R70U/s1600-h/fire_tables.png werde ich gleich mal testen!
mike schrieb: > @PETER: > ..deswegen erreicht es die INPUT chain nicht. > mein blockdiagramm ist vielleicht etwas unglücklich, dieses ist besser: stimmt, ich war noch beim vorgänger von iptables. Bei iptables muss ein externen Packet nur durch FORWARD. sorry
jo, so gehts! dank euch trozdem. ist immer wieder hilfreich hier vorbei zu schauen... :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.