Я знаю, что производительность лучше, чем одна iptables, но, поскольку она является частью ядра, я не смог следить за загрузкой процессора.
Если это одиночные IP-адреса, сначала загрузите cidrmerge, и список, вероятно, будет немного короче.
Я рекомендую iptables с ipset. Использование iptables само по себе снизит производительность.
Каждая группа может обрабатывать 65535 записей.
ipset create ban1 hash:net
ipset create ban2 hash:net
ipset create ban3 hash:net
ipset create ban4 hash:net
ipset create ban5 hash:net
ipset create ban6 hash:net
ipset create ban7 hash:net
сохраняет всю конфигурацию, включая список блоков, в текстовый файл
ipset save> config.txt
восстанавливает конфигурацию из файла
восстановление ipset
iptables -A INPUT -m set -j DROP --match-set ban1 src
iptables -A INPUT -m set -j DROP --match-set ban2 src
iptables -A INPUT -m set -j DROP --match-set ban3 src
iptables -A INPUT -m set -j DROP --match-set ban4 src
iptables -A INPUT -m set -j DROP --match-set ban5 src
iptables -A INPUT -m set -j DROP --match-set ban6 src
iptables -A INPUT -m set -j DROP --match-set ban7 src
**Current list:set is not working properly or you could do this
ipset create banned list:set
ipset add banned ban1
ipset add banned ban2
ipset add banned ban3
ipset add banned ban4
ipset add banned ban5
ipset add banned ban6
ipset add banned ban7
iptables -A INPUT -m set -j DROP --match-set banned src
** end use this when they fix it**
Вы можете создать скрипт для заполнения списка. Вам придется разбить список на группы по 65535.
cat badip1.txt |xargs -n1 ipset add ban1
cat badip2.txt |xargs -n1 ipset add ban2
наконец сохраните конфигурацию.(согласно выше)