Использование Ipset
Создание списка(ов)
ipset -N badips iphash
badips – имя списка
iphash – тип списка(только для единичных адресов)
nethash – тип списка (только для подсетей адресов)
(man ipset для подробностей)
Добавление адресов в этот список
ipset -A badips 99.88.77.66
Создание правила в iptables для использования списка:
iptables -A INPUT -m set —set badips src -j DROP
-m set указывает на использование модуля ipset, —set badips указывает список IP-адресов, src указывает на то, что сверять нужно только IP-источника. Таким образом, будут отбрасываться все пакеты с IP-адресов, указанных в списке badips.
Аналогично,если необходимо, и для подсетей адресов
ipset -N badnets nethash
ipset -A badnets 192.168.10.0/24
iptables -A INPUT -m set —set badnets src -j DROP
Просмотр
Просмотр всех списков
ipset –L
Просмотр конкретного списка
ipset –L badips
Проверить,если ли этот адрес в конкретном списке ipset
ipset test badips 99.88.77.66
Удаление
Удалить адрес из конкретного списка
ipset -D badips 99.88.77.66
Удалить конкретный список
ipset -x badips
Удалить все списки(если в списке есть хоть один адрес, тогда этот список удален не будет)
ipset -x
Очистка
Очистка всех записей в конкретном списке
iptables flush badips
Очистка всех записей во всех списках
iptables flush
Переименование
Переименовать список
ipset –e badips newbadips
Сохранение
Сохранение списка
ipset save badips
либо в файл
ipset -S > /etc/firewall/ipset-save
Восстановление
Добавление ipset в автозагрузку
nano /etc/rc.local
cat /etc/firewall/ipset-save | /usr/sbin/ipset –R
Либо восстановление настроек
ipset restore