Action reject dans pfilter
-
Bonjour à tous,
J'ai un pfsense 1.2-RC1 embedded qui tourne sur une WRAP 1E2 et je n'arrive pas à avoir de règle avec action "reject" dans le firewall.
Quand je crée une règle en "reject", il me la transforme en "block" et effectivement il drop les paquets.Quelqu'un a-t-il une explication ?
Suis-je le seul à avoir ce comportement ?Merci de vos retours…
PS : je ne sais pas pourquoi "block" ne s'appelle pas "drop", terme habituel, parce qu'un rejet est aussi un blocage...
-
PS : je ne sais pas pourquoi "block" ne s'appelle pas "drop", terme habituel, parce qu'un rejet est aussi un blocage…
Non pas vraiment, DROP signifie ne pas faire passer le traffic, REJECT signifie rejetter le traffic (en envoyant un flag TCP RST). Comme dans tous les filtres IP il existe ces deux méthodes, la première consiste a ne pas laisser passer sans permettre à l'émetteur de connaitre l'existence d'un filtre…. dans le deuxieme cas, l'émetteur sait qu'il est bloqué car il reçoit une réponse (le TCP RST).
-
… on est bien d'accord :
Reject est un rejet par l'envoi d'un TCP RST
Block est un blocage sans réponse, donc un drop.Mais pourquoi je ne peux pas créer de règles en reject sur mon pfsense ?
Pourquoi me transforme-t-il les rejects en blocks et ne répond-il en effet pas avec un TCP RST ?
Telle est ma question... -
La règle en question est-elle une règle portant sur le protocol TCP, car seul TCP peut générer des RST, UDP étant un mode déconnecté. De mon coté un règle de reject (le port 113 (ident) fonctionne très bien).
-
Hello!
Problème résolu.
Merci, tu m'as mis sur la bonne piste… :)En fait, il fallait juste savoir lire, et les vacances aident à revenir à ce genre de considérations simples... ;)
Hint: the difference between block and reject is that with reject, a packet (TCP RST or ICMP port unreachable for UDP) is returned to the sender, whereas with block the packet is dropped silently. In either case, the original packet is discarded. Reject only works when the protocol is set to either TCP or UDP (but not "TCP/UDP") below.
Donc le reject ne marche que pour des règles en protocole TCP ou UDP mais pas any ou TCP/UDP.
Bon, il y a malheureusement quand même pas mal de limitations un peu partout dans le firewall / NAT… :(