{ patterns: { ip: { // IPv4 et IPv6, et masque des ipv6. type: 'ip', ipv6mask: 64, ignore: [ // Ne pas bannir les ip des sysadmins et sur le local // Ne pas oublier la virgule après chaque ip, pour l'énumération ;) '127.0.0.1', '::1', // Sous-réseau d'une box '192.168.1.0/24', // Sous-réseau proxmox ? //'10.0.0.0/8', // Ip fixes de sysadmins et/ou des bastions à ajouter. ], }, ipmask: { // Uniquement utilisé pour les filtres les plus aggressifs, risque de trop ban sinon ! type: 'ip', // ipv4 : 24 = tout le dernier bit, soit toute ip du type a.b.c.* (tout est dans le joker). ipv4mask: 24, // ipv6 : 48 = ban des datacenters. 56 est un peu moins excessif. 64 est une norme de particulier. ipv6mask: 56, ignore: [ '127.0.0.1', '::1', '192.168.1.0/24', '82.65.53.240', '2a01:e0a:26f:e650:aaa1:59ff:fe82:5187', ], }, }, // nftables est directement paramétré avec des tables/sets pour Reaction, histoire que ce soit au bon endroit dans la chaine. start: [], // Je flush le set au stop, quand même. Car Reaction les renvoie au redémarrage ; évite les doublons. stop: [ ['nft', 'flush', 'set', 'inet', 'firewall', 'reaction_v4'], ['nft', 'flush', 'set', 'inet', 'firewall', 'reaction_v6'], ], }