IPset это утилита командной строки, которая используется для администрирования базы под названием IP и находиться внутри ядра Linux. Набор IP может хранить IP-адрес, номера портов сети (TCP / UDP), MAC – адрес, имена интерфейсов или их комбинации в пути, что обеспечивает скорость молнии при совмещении записи против набора. Это ассоциативное приложение Руководство по iptables: Настройка и оптимизация фаервола Linux для брандмауэра в Linux, который позволяет нам с правилами установок быстро и легко заблокировать набор IP-адреса.
Утилита ipset дает возможность написать правило, только одно, а не использовать много однотипных правил iptables что позволяет ускорить работу iptables.
ipset представляет из себя модуль ядра ip_set, ряд вспомогательных библиотек и утилиту ipset для задания параметров.
# aptitude install ipset
ipset -N dropips iphash
, где dropips — название списка, iphash — тип списка, служит для хранения IP-адресов, хэширования предотвращает добавление в список дублирующих IP-адресов. Существуют типы списков для работы с ip-адресами, подсетями, портами, mac-адресами.
ipset -A dropips 192.168.95.7
или считывать из файла при помощи скрипта
IST="/usr/sbin/ipset" # IPSET $IST -N dropips iphash $CAT $PATH/ipset.txt | ( while read ip; do $IST -A dropips $ip done ); $IPT -A INPUT -m set --match-set dropips src -j DROP # END IPSET
iptables -A INPUT -m set --match-set dropips src -j DROP
-m set указывает на использование модуля ipset, –set dropips указывает список IP-адресов, src указывает на то, что сверять нужно только IP-источника. Таким образом, будут отбрасываться все пакеты с IP-адресов, указанных в списке dropips.
# ipset -L
Устранение ошибки для Debian Wheezy, Ubuntu 11.10. Модуль ядра для ipset нужно установить с помощью module-assistant.
# aptitude install ipset netfilter-extensions-source xtables-addons-source # uname -a Linux spar 3.0.0-1-amd64 #1 SMP Sat Aug 27 16:21:11 UTC 2011 x86_64 GNU/Linux # aptitude install linux-headers-3.0.0-1-all-amd64 # cd /usr/src # tar xjf netfilter-extensions.tar.bz2
Компиляция модуля. m-a a-i сокращение от module-assistant auto-install.
# module-assistant prepare # m-a a-i netfilter-extensions
# module-assistant prepare # module-assistant auto-install xtables-addons-source
# shutdown -r now