iptables — это широко используемое программное обеспечение брандмауэра в Linux. Использование iptables для блокировки IP — относительно простой способ борьбы с сетевыми атаками. Он также относительно распространен, но в качестве структуры данных использует связанные списки, а эффективность очень низкая.
ipset — предоставляет метод, он заключается в помещении обрабатываемого IP-адреса в набор и установке правила iptables для этого набора. Как и iptable, наборы IP — это элементы ядра Linux, а команда ipset — это инструмент для управления ими.
Таким образом, стратегия запрета состоит из трех шагов: iptables включает правило запрета, обнаруживает плохой IP-адрес и добавляет плохой IP-адрес в правило запрета.
Вы можете использовать эти команды для обобщения процесса блокировки IP-адресов с помощью ipset и iptables.
# Создаем набор список с названием ipban
ipset create ipban hash:ip hashsize 16777216 maxelem 16777216
# Создаем правило запрещающее всему списку ip в наборе ipban доступ
iptables -I INPUT -m set --match-set ipban src -j DROP
# Сохраняем правило
iptables-save
# Проверяем правило
iptables -L --line-numbers | grep ipban
# добавляем ip в список
ipset add ipban 4.5.6.7
ipset add ipban 1.2.3.4
ipset add ipban ...
# Просмотр списка ipban
ipset list ipban
# Удаление ip из списка ipban
ipset del ipban 4.5.6.7