Am Freitag, den 25.09.2009, 19:19 +0200 schrieb Daniel Nitzpon:
> tetzlav schrieb:
> > auch das hier gemacht?
> > 
> > # ipkg update && ipkg install freifunk-iptables-missing \
> >    iptables-mod-extra
> > 
> 
> bin mir 99% sicher, dass ja. habs aber sicherheitshalber nochmal neu 
> drüberinstalliert jetzt.
> 
> > sind die die Regeln vorhanden?
> > 
> > # iptables -nvL FORWARD
> > # iptables -nvL spam-filter
> 
> das spuckt auf jeden fall was aus, mit "spam-filter" eine zeile, mit 
> "FORWARD" eine ganze menge, darunter auch was mit "spam-filter".

dasscheutja schonmal gut aus...


>  > mir fällt grade auf das das -I (insert) die Regeln in der falschen
>  > Reihenfolge anlegt. Entweder die Reihenfolge aller "-I spam-filterb
>  > umkehren oder die Regeln anhängen, also: "-A spam-filter".
> 
> also das "-N" in der ersten zeile durch ein "-A" ersetzen und den rest 
> lassen wie er ist, gleich am anfang der local.fw, ja?

öhm, nein! Das "-N legt eine neue chain (hier: spamfilter) an, das muss
bleiben.

Das "-I FORWARD [...] -j spam-filter" packt die Regel, welche den
gewünschten Traffic in die neu angelegte "spam-filter"-chain leiten soll
an den Anfang der FORWARD-chain, das möchte man auch, weil in den
folgenden Regeln oftmals ein ACCEPT gemacht wird und so evtl. der
Traffic gar nicht bis ans Ende der FORWARD-chain gelangt.

Alles was dann in die neu angelegte "spam-filter"-chain geschrieben wird
(-I spam-filter [...]) sollte dann mit aber mit "-A" angehangen werden.
Das sorgt dafür das sie genau in der Reihenfolge abgearbeitet werden,
denn das ist hier bei Verwendung des Moduls "recent" besonders wichtig.
Es wird sich erst gemerkt wann die letzte Verbindung auftrat, dann
geguckt ob mehr als 3 (--hitcount) in 60 Sekunden und nur dann
aktualisiert und geRETURNt (und worher geloggt)...


Gruß
tetzlav


also so:

# iptables -N spam-filter

# iptables -I FORWARD -o vlan1 \
  -p tcp --dport 25 -m state --state NEW -j spam-filter

# iptables -A spam-filter -m recent --set --name SPAM

# iptables -A spam-filter \
  -m recent --rcheck --seconds 60 --hitcount 3 --rttl --name SPAM \
  -m limit --limit 1/minute -j LOG --log-prefix "SPAM:"

# iptables -A spam-filter \
  -m recent --update --seconds 60 --hitcount 3 --rttl --name SPAM \
  -j REJECT

_______________________________________________
freifunk-leipzig mailing list
[email protected]
https://lists.subsignal.org/mailman/listinfo/freifunk-leipzig

Antwort per Email an