pf: adressen sind src-tracked ohne state

KobRheTilla

used register
Hi,

ich hab hier ein Problem mit pf und source tracking. Die Sache ist, dass es etliche Adressen gibt, die in der Source-Tracking-Tabelle sind obwohl sie keinen state mehr besitzen. Sie bleiben dort einfach drin, ist muss sie mit einem Skript regelmäßig löschen, sonst läuft die Tabelle über.

Hat jemand dieses Verhalten schonmal beobachtet?
Code:
~# pfctl -ss | grep <adresse>
~#
~# pfctl -sS | grep <adresse>
<adresse> -> <rdr-ziel> ( states 2, connections 0, rate 0.0/0s )

Die Adressen, die das betrifft, werden über eine rdr-Regel auf einen Pool von Servern umgeleitet.

Rob
 
hi

wie sieht den deine regel aus mit dem source tracking parametern.

ich vermute mal du nutzt das irgendwo overload , sonst kann ich mir ein "überlauf" der table nicht
erklären.

i.d. sind die src tracking options falsch gesetzt.

im übrigen würde ich nicht eine rdr regel zum load balancen nehmen sondern
relayd ;)

holger
 
ich vermute mal du nutzt das irgendwo overload , sonst kann ich mir ein "überlauf" der table nicht
erklären.
Nein, nutze ich nicht. Desweiteren lassen sich mit overload die Source Tracking-Einträge gar nicht manipulieren.
Die Optionen der Regel sind:
Code:
( source-track rule, max 10000, max-src-states 148, \
          tcp.closing 20, tcp.finwait 15 )

Das ist auch irrelevant, da der Zustand eigentlich gar nicht eintreten darf. Ein Source Tracking-Eintrag muss nach src.track Sekunden (in meinem Fall 0) verschwinden, wenn der letzte State der Adresse weg ist.

Rob
 
hi

also bei deinem options eachtests du nur die timings bei session abbau .( status closing soll 29 sek bleiben , finwait 15. )

wie lange die session lebt bis er überhaupt den abbau begin steht nicht ( siehe timeout src.track in man pf.conf )
der rest besagt nur das die rule max 10000 verbindungen haben darf.
von einer srource addresse 148

ein src.track von 0 ist wenig sinnvoll weil die session quasi bei erstellung schon nicht mehr valide ist.

pf arbeitet ,per default, stateful , wenn du bei einer regel das verhindern will dann siehe man pf.conf option "no state"



Holger
 
ein src.track von 0 ist wenig sinnvoll weil die session quasi bei erstellung schon nicht mehr valide ist.
Das ist doch Quatsch, src.track 0 ist default (globale Optionen). Das besagt, dass ein Source-Tracking-Eintrag genau dann invalidiert wird, wenn es keinen State mehr hinsichtlich der IP-Adresse gibt.

Aber was solls, du hast das Problem nicht verstanden.

Rob
 
Zurück
Oben