2 votes

Le blocage avec iptables est-il lent ?

J'ai bloqué tous les noeuds Tor avec la commande suivante :

sudo iptables -A INPUT -s $ip -j DROP

Je crois qu'il y a environ 1 700 IP qui bloquent comme ça.

J'ai lu que le blocage à l'aide de cette commande peut être lent. Est-ce vrai et si oui, quelle est une meilleure alternative ?

3voto

Alex Points 962

C'est un peu lent, mais cela peut convenir à votre matériel pour votre ensemble de règles. La meilleure alternative serait d'utiliser un ipset et une règle iptables qui fait référence à cet ensemble. Ipsets stocke les adresses et les réseaux dans une structure de données efficace qui est beaucoup plus rapide à rechercher une correspondance par rapport au traitement de base de netfilter.

3voto

Alex Points 6039

Selon à Jan Engelhardt (une des personnes actives dans le packaging du noyau dans la communauté OpenSUSE) :

La limite supérieure théorique du nombre maximal de règles pour un système 32-bit serait d'environ 38 millions

mais le vrai goulot d'étranglement avec des règles énormes c'est la mémoire. Vous devez surveiller la mémoire /proc/vmalloc lorsque vous appliquez ces règles pour éviter le swapping qui ralentit beaucoup l'ordinateur.

Comme cela a déjà été mentionné IPSet est un bon moyen de gérer ces règles de blocage excessives. Vous pouvez attribuer de nouvelles règles et supprimer les règles précédemment attribuées de manière efficace :

# Create the new set and add the entries to it
ipset -N new-set ....
ipset -A new-set ....
...
# Swap the old and new sets
ipset -W old-set new-set
# Get rid of the old set, which is now under new-set
ipset -X new-set

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X