1

Я блокировал все узлы Tor с помощью следующей команды:

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

Я считаю, что около 1700 IP-адресов таких блоков.

Я читал, что блокировка с помощью этой команды может быть медленной. Это правда, и если да, то что является лучшей альтернативой.

2 ответа2

3

По словам Яна Энгельгардта (Jan Engelhardt)(одного из активных специалистов по упаковке ядра в сообществе OpenSUSE):

Теоретический верхний предел максимального количества правил для 32-битной среды будет где-то около 38 миллионов

но настоящее узкое место с огромными правилами это память. При применении таких правил необходимо следить за памятью /proc/vmalloc , чтобы избежать перестановок, которые сильно замедляют работу компьютера.

Как уже упоминалось, IPSet хорош для управления такими чрезмерными правилами блокировки, вы можете назначать новые правила и эффективно удалять ранее назначенные, например:

# 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
2

Это медленно, это может быть хорошо на вашем оборудовании для вашего набора правил. Лучшей альтернативой будет использование ipset и правила iptables, которое ссылается на набор. Ipsets хранит адреса и сети в эффективной структуре данных, которая позволяет намного быстрее находить совпадения по сравнению с базовой обработкой сетевого фильтра .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .