{{tag>netadmin sysadmin linux nft firewall netfilter}} :TODO_DOCUPDATE: ====== nft : gestion des compteurs ====== Lors de la création d'une règle, on peut associer un compteur (anonymous counter) qui permettra d'évaluer l'usage de la règle: # création une règle dans la chaîne "output" de la table "filter" avec # un compteur anonymes Les compteurs anonymes ne peuvent pas être réinitialisés. Pour réinitialiser les compteurs il faudra alors: - Sauvegarder les règles (l'état courant); - Éditer le fichier pour mettre remettre à zéro les valeurs "packets" et "bytes" sur la ou les règles utilisant un compteur anonyme; - Recharger le fichier édité. #sauvegarde l’état courant nft list ruleset > save_current_state.nft # éditer le fichier save_current_state.nft pour RAZ des compteurs # Réinitialise et recharge les règles nft flush ruleset nft -f save_current_state.nft Pour gérer individuellement les compteurs et **pouvoir les réinitialiser**, il faudra utiliser les **compteurs nommés** (named counters) qui sont référencés dans la documentation officielle dans la partie "Stateful objects". Le compteur est lié à une table, lors de sa création on peut optionnellement lui définir des valeurs ''packets'' et ''bytes'' non nulles: # Création d'un compteur nommé "trafic_rejected" pour la table "filter" nft add counter ip filter traffic_rejected packets 10 bytes 1100 Pour lister l' ensemble des compteurs nommés: nft list counters Pour lister un compteur nommé: nft list counter aTable aCounterName Le compteur nommé peut maintenant être utilisé dans une règle: Réinitialiser le compteur via la commande nft reset: # nft reset counter aTable aCounterName nft reset filter output_rejected ===== Références ===== * https://serverfault.com/questions/971633/how-to-reset-nftable-counter * https://wiki.nftables.org/wiki-nftables/index.php/Element_timeouts