O bloqueio com o iptables é lento?

1

Eu tenho bloqueado todos os nós Tor com o seguinte comando:

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

Acredito que existam cerca de 1.700 blocos de IPs como este.

Eu li que o bloqueio usando este comando pode ser lento. Isso é verdade e, em caso afirmativo, qual é a melhor alternativa?

    
por Kohjah Breese 16.02.2017 / 23:23

2 respostas

3

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
    
por 17.02.2017 / 01:36
2

É lento, pode estar bem no seu hardware para o seu conjunto de regras. A melhor alternativa seria usar uma regra ipset e uma regra iptables que referencia o conjunto. O Ipsets armazena endereços e redes em uma estrutura de dados eficiente que é muito mais rápida de procurar por uma correspondência em comparação com o processamento do netfilter básico. / p>     

por 17.02.2017 / 01:15

Tags