--- categories: openbsd network firewall title: Howto PacketFilter --- ## Tips & Astuces ### Général Activer PacketFilter : > Note : Attention, comme les règles qui seront activées n'auront pas d'état, pf va couper **toutes** les connexions. ~~~ # pfctl -e ~~~ Désactiver PacketFilter : ~~~ # pfctl -d ~~~ Vérifier la configuration sans la charger : ~~~ # pfctl -nf /etc/pf.conf ~~~ Recharger la configuration : ~~~ # pfctl -f /etc/pf.conf ~~~ ### Utilisation détaillée #### Observation Voir la QoS en temps réel : ~~~ # systat queue # pfctl -s queue -vv ~~~ Voir toutes les règles actuellement en place : ~~~ # pfctl -sr ~~~ Voir toutes les règles actuellement en place, avec les statistiques : ~~~ # pfctl -vsr ~~~ Obtenir la règle numéro 42 : ~~~ # pfctl -sr -R42 ~~~ Liste des états : ~~~ # pfctl -s states | less ~~~ Liste des états avec statistiques, notamment l'âge et l'expiration de l'état : ~~~ # pfctl -vs states | less ~~~ Obtenir le nombre d'états : ~~~ # pfctl -si | grep curr ~~~ Toutes les infos sur PF : ~~~ # pfctl -sa | less ~~~ #### Action Flush des états : ~~~ # pfctl -F states ~~~ Gestion des tables : ~~~ # pfctl -t -T show/flush/kill/add/delete ~~~ #### Logs Voir les logs : ~~~ # tcpdump -n -e -ttt -r /var/log/pflog ~~~ Voir les vieux logs : ~~~ # zcat /var/log/pflog.0.gz |tcpdump -ne -ttt -r - ~~~ Voir les logs en temps réel : ~~~ # tcpdump -n -e -ttt -i pflog0 ~~~ ## FAQ ### pfctl: warning: namespace collision with \ global table. Il faut a priori effacer la table avec ~~~ # pfctl -t
-T kill ~~~ ### Valeurs des timeout D'après le man : ~~~ set optimization environment Optimize state timeouts for one of the following network environments: aggressive Aggressively expire connections. This can greatly reduce the memory usage of the firewall at the cost of dropping idle connections early. conservative Extremely conservative settings. Avoid dropping legitimate connections at the expense of greater memory utilization (possibly much greater on a busy network) and slightly increased processor utilization. high-latency A high-latency environment (such as a satellite connection). normal A normal network environment. Suitable for almost all networks. satellite Alias for high-latency. ~~~ Comparaison des valeurs des modes *aggressif* et *normal* ~~~ Agressive Normal tcp.first 30s 120s tcp.opening 5s 30s tcp.established 18000s 86400s tcp.closing 60s 900s tcp.finwait 30s 45s tcp.closed 30s 90s tcp.tsdiff 10s 30s udp.first 60s 60s udp.single 30s 30s udp.multiple 60s 60s icmp.first 20s 20s icmp.error 10s 10s other.first 60s 60s other.single 30s 30s other.multiple 60s 60s frag 60s 60s interval 10s 10s adaptive.start 6000 states 6000 states adaptive.end 12000 states 12000 states src.track 0s 0s ~~~ À titre d'indication, en mode *satellite* ~~~ tcp.first 180s tcp.opening 35s tcp.established 86400s tcp.closing 905s tcp.finwait 50s tcp.closed 95s tcp.tsdiff 60s udp.first 60s udp.single 30s udp.multiple 60s icmp.first 20s icmp.error 10s other.first 60s other.single 30s other.multiple 60s frag 60s interval 10s adaptive.start 6000 states adaptive.end 12000 states src.track 0s ~~~