De acordo com para Jan Engelhardt (uma pessoa ativa no empacotamento do kernel na comunidade OpenSUSE):
The theoretical upper limit of maximum number of rules for a 32-bit environment would be somewhere around 38 million
mas o gargalo real com regras enormes é a memória. Você precisa monitorar a memória /proc/vmalloc
ao aplicar essas regras para evitar a troca, o que torna o computador muito lento.
Como já foi mencionado IPSet é bom para gerenciar tais regras de bloqueio excessivo, você pode atribuir novas regras e excluir previamente atribuído de forma eficaz como:
# 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