iptables -> bestimmte ip's sperren

Gast #2225235
Lesenswert?

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 ;-)  ?
Gast #2225501
Lesenswert?

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...
Gast #2225511
Lesenswert?

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.
Gast #2226505
Lesenswert?

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!
Gast #2226509
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren