Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Regles PF et max-src-states

1 view
Skip to first unread message

Paul Gaborit

unread,
Sep 4, 2009, 7:50:37 AM9/4/09
to

Je g�re plusieurs sites miroir (ctan, cpan...) sur une machine
FreeBSD.

Certains utilisateurs distants "ind�licats" utilisent des
acc�l�rateurs de download qui cr�ent de multiples connexions sur le
serveur pour capter un maximum de bande passante. Pour bloquer ces
petits malins, j'ai configur� mon pf pour qu'il n'autorise que 4
connexions maximum depuis une m�me adresse IP vers le serveur
(source-track rule, max-src-states 4). �a marche bien puisque �a ne
bloque pas les pseudo-acc�l�rateurs tout en les emp�chant de bouffer
toute la bande passante.

Ce matin, j'ai utilis� un installeur (celui de TeXLive) qui va
chercher tout un tas de petits fichiers d'archives sur le
miroir. L'installeur les rapatrie un par un en faisant appel � 'wget'
� chaque fois. Le d�bit �tait catastrophique (56 heures pour tout
installer !).

En regardant avec 'pftop', je me suis aper�u que pf conservait quatre
connexions dans l'�tat 'FIN_WAIT_2:FIN_WAIT_2' et qu'il attendait un
timeout de 1m30s avant qu'elles disparaissent.

Comment puis-je faire pour que la r�gle 'max-src-states' ne
comptabilise pas comme �tant actives les connexions qui sont dans
l'�tat 'FIN_WAIT_2:FIN_WAIT_2' ?

Mais peut-�tre y a-t-il un autre moyen de g�rer ce probl�me...

Merci pour vos r�ponses.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>

Paul Gaborit

unread,
Sep 14, 2009, 12:29:43 PM9/14/09
to

� (at) Fri, 04 Sep 2009 13:50:37 +0200,
Paul Gaborit <Paul.G...@invalid.invalid> �crivait (wrote):

Personne pour m'�clairer ou au moins me donner une piste o� chercher ?

Gabriel Linder

unread,
Sep 19, 2009, 4:58:40 AM9/19/09
to
On Mon, 14 Sep 2009 18:29:43 +0200, Paul Gaborit wrote:

>> En regardant avec 'pftop', je me suis aperçu que pf conservait quatre
>> connexions dans l'état 'FIN_WAIT_2:FIN_WAIT_2' et qu'il attendait un


>> timeout de 1m30s avant qu'elles disparaissent.
>>

>> Comment puis-je faire pour que la règle 'max-src-states' ne
>> comptabilise pas comme étant actives les connexions qui sont dans
>> l'état 'FIN_WAIT_2:FIN_WAIT_2' ?

Dans pf.conf(5) on trouve diverses informations sur ce genre de timeout
dans la section OPTIONS, notamment tcp.closing et tcp.finwait.

--
. Cordialement,
..: Gabriel Linder

Paul Gaborit

unread,
Sep 19, 2009, 8:18:14 AM9/19/09
to

� (at) 19 Sep 2009 08:58:40 GMT,
Gabriel Linder <g.li...@laposte.net> �crivait (wrote):

> On Mon, 14 Sep 2009 18:29:43 +0200, Paul Gaborit wrote:
>
>>> En regardant avec 'pftop', je me suis aper�u que pf conservait quatre
>>> connexions dans l'�tat 'FIN_WAIT_2:FIN_WAIT_2' et qu'il attendait un

>>> timeout de 1m30s avant qu'elles disparaissent.
>>>
>>> Comment puis-je faire pour que la r�gle 'max-src-states' ne
>>> comptabilise pas comme �tant actives les connexions qui sont dans
>>> l'�tat 'FIN_WAIT_2:FIN_WAIT_2' ?

>
> Dans pf.conf(5) on trouve diverses informations sur ce genre de timeout
> dans la section OPTIONS, notamment tcp.closing et tcp.finwait.

Merci pour cette r�ponse.

Effectivement, cela devrait pouvoir m'aider pour r�gler mon
souci. Mais je m'interroge tout de m�me :

tcp.finwait
The state after both FINs have been exchanged and the connec-
tion is closed. Some hosts (notably web servers on Solaris)
send TCP packets even after closing the connection. Increas-
ing tcp.finwait (and possibly tcp.closing) can prevent block-
ing of such packets.

Quels sont les risques (de dysfonctionnement) si je diminue cette
valeur ?

Autre question : o� puis-je trouver les valeurs par d�faut de ce genre
de param�tres ?

Gabriel Linder

unread,
Sep 19, 2009, 9:15:28 PM9/19/09
to
On Sat, 19 Sep 2009 14:18:14 +0200, Paul Gaborit wrote:

> tcp.finwait
> The state after both FINs have been exchanged and the connec-
> tion is closed. Some hosts (notably web servers on Solaris) send
> TCP packets even after closing the connection. Increas- ing
> tcp.finwait (and possibly tcp.closing) can prevent block- ing of
> such packets.
>
> Quels sont les risques (de dysfonctionnement) si je diminue cette valeur
> ?

À peu près nuls, on n'est pas censé envoyer de données après un FIN
normalement :)

> Autre question : où puis-je trouver les valeurs par défaut de ce genre
> de paramètres ?

D'après pfctl(8) : pfctl -s timeouts

Paul Gaborit

unread,
Sep 20, 2009, 5:12:30 AM9/20/09
to

� (at) 20 Sep 2009 01:15:28 GMT,

Gabriel Linder <g.li...@laposte.net> �crivait (wrote):
> On Sat, 19 Sep 2009 14:18:14 +0200, Paul Gaborit wrote:
>
>> tcp.finwait
>> The state after both FINs have been exchanged and the connec-
>> tion is closed. Some hosts (notably web servers on Solaris) send
>> TCP packets even after closing the connection. Increas- ing
>> tcp.finwait (and possibly tcp.closing) can prevent block- ing of
>> such packets.
>>
>> Quels sont les risques (de dysfonctionnement) si je diminue cette valeur
>> ?
> � peu pr�s nuls, on n'est pas cens� envoyer de donn�es apr�s un FIN
> normalement :)

Ok. ;-)

>> Autre question : o� puis-je trouver les valeurs par d�faut de ce genre
>> de param�tres ?
>

> D'apr�s pfctl(8) : pfctl -s timeouts

Merci. Avec �a je vais pouvoir peaufiner mes r�glages.

0 new messages