Bof le débat n´a pas lieu d´être pf défonce carrément ip filter ! :o)
Franchement je trouve les règles ipf complètement obscures, ça passe encore quand tu veux faire du filtrage simple (fermeture, redirection de ports, ...) mais dès que tu te lances dans des trucs un peu plus élaborés (filtrage stateful, nat ou autre) il faut prévoir la boite d´Efferalgan !
Les règles pf sont limpides elles parlent d´lles même et j´aurais vachement de mal à reppaser sur ipf.
En plus pf propose nativement tout un tas de trucs sympathiques comme la notion de tables.
Un petit exemple pour illustrer mon propos, j´avais eu à monter un hotspot et mon choix s´était d´abord porté sur une solution Linux.
Je me renseigne sur comment faire ça proprement et la solution la plus simple fut de mettre en place :
-- une bonne distrib. Linux bien stable (Debian woody)
-- un serveur Radius (Freeradius)
-- Chillispot
-- ipfilter
Bref une solution gourmande en temps et relativement complexe à configurer correctement.
Au hasard d´une discussion j´ai découvert packet filter et cette notion de table et ai décider de remplacer la solution Linux/ipf par une solution OpenBSD/pf :
-- OpenBSD
-- packet filter bien configuré avec une table d´utilisateur autorisé à se connecter.
-- Un script Perl interfacé avec une page web permettant au gens de s´authentifier et en cas de succès ajout, à la volée, de l´utilisateur dans la table des gens autorisés à naviguer.
Bref quelque chose de beaucoup plus flexible et beaucoup moins usine à gaz que la solution Linux.
Sinon tu dis :
pf n´est par normalisé, d´un version à l´autre la syntaxe de vaut règle peuvent merdé
Je ne l´ai pas constaté et je trouve ça super bizarre que les *BSD intègrent à leur système de base un truc non stabilisé, éprouvé et robuste comme un chêne, c´est plutôt la spécialité de Linux ça... (cf. udev vs dvfs)
M´enfin si tu le dis, pourquoi pas... ;)