[gull] [Resolu] ksoftirqd congestionne a ~500Ko/s (Ubuntu 22.04)
Marc SCHAEFER
schaefer at alphanet.ch
Sat Sep 28 20:30:28 CEST 2024
Hello,
On Sat, Sep 28, 2024 at 03:52:20PM +0200, Frederic Dumas via gull wrote:
> Il faut maintenant purger les 70K+ drops d'iptable, peut-être exporter
> les IP de fail2ban. Une fois le package ipset ajouté au système, où se
> fait la configuration manuelle pour dire à fail2ban de l'utiliser,
> plutôt que de continuer à écrire des règles iptable ?
En ce qui me concerne, j'utilise la commande ipset directement,
car j'extrais d'une base de données et de diverses sources,
avec une modification (atomique) toutes les 5 minutes.
Peut-être que dans ton cas, utiliser les scripts de persistance de la
distribution est une meilleure idée.
Voici quelques exemples:
# création initiale, 300'000 entrées max, pour stocker des
# entrées CIDR
/usr/sbin/ipset create abuse hash:net maxelem 300000
# ajout manuel
ipset add abuse 192.168.42.128/26
# suppression manuelle
ipset del abuse 192.168.42.128/26
# insertion efficace de multiples entrées
ipset -X toto 2>/dev/null || true
(echo "create toto hash:net family inet hashsize 1024 maxelem 300000"
egrep < big-v4-list '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(/[0-9]+)?$' \
| sed "s|^|add toto |") \
| $ipset restore \
&& $ipset -W toto abuse \
&& $ipset -X toto
Enfin, voici le jump depuis iptables:
function block_all {
iptables $1 $2 -m set --match-set $3 src -j DROP
}
function block_incoming {
$iptables $1 $2 -m state --state NEW -m set --match-set $3 src -j DROP
}
for i in INPUT FORWARD
do
block_all -I $i abuse
#block_incoming -I $i abuse
done
PS: je suis entrain de préparer le passage à nftables sur un nouveau
firewall, j'utilise le script nftfw (qui a un package Debian manuel).
Pour le moment, pour les fonctions de base c'est encourageant (mais
mon fw est très complexe, avec notamment du multi-homing contextuel).
More information about the gull
mailing list