[linux-l] iptables "dynamische regeln"

Christoph Biedl cbiedl at gmx.de
Fr Dez 5 14:42:39 CET 2003


Gregor Laemmel wrote...

> hab da ein Problem mit iptables und dynamischen hinzufügen von Regeln.
> 
> Problem:
> addiere/lösche folgende Regeln:
> 
>  iptables -t nat -D PREROUTING -p tcp --dport XXX -i eth0 -s XXX.XXX.XXX.XXX -j DNA \
>  T --to YYY.YYY.YYY.YYY:YY 
>  iptables -A INPUT -i eth0 -s XXX.XXX.XXX.XXX -j REJECT 
> 
>  klar funktioniert auch so weit aber erst wenn XXX.XXX.XXX.XXX eine
>  neu Verbindung aufbauen will.

Sicher? Die Regeln werden grundsätzlich für alle Pakete abgearbeitet;
oder hast Du established und related schon vorher abgefischt und
bearbeitet?

>  Mein Wunsch ist aber auch die bereits bestehende Verbindung zu beenden
>  unzwar mit einem REJECT an beide Seiten.
>  Geht das mit iptables?

Wenn die bestehenden Verbindungen weiter traffic machen, ja.
Übrigens solltest Du tcp-Verbindungen ein "-j REJECT --reject-with
tcp-reset" geben, dieser Zaunpfahl wirkt erheblich besser.

Wenn die Verbindungen einfach nur da sind, hast Du ein Problem.
Es gibt verbindungslose Protokolle wie udp, wo es zu obigem keine
Alternative gibt, weil ein Packet "Verbindung abbauen" ja im Widerspruch
zu "verbindungslos" steht. Trotzdem kannst Du sie im "connection tracking"
sehen (/proc/net/ip_conntrack), aber dort rauswerfen weiß ich nicht ob
geht; klingt auch nicht sehr sinnvoll. Dort die tcp-Verbindungen
herauszusuchen und den Partnern ein tcp-reset zuwerfen könnte gehen, aber
nicht mit iptables.

Aber warum das alles überhaupt?

	Christoph




Mehr Informationen über die Mailingliste linux-l