IP Sets – расширение пакетного фильтра ядра iptables, которое позволяет комфортно работать с большими наборами адресов/сетей. При написании правил iptables при этом мы оперируем именованными списками.
Это, пожалуй, единственный на сегодняшний день доступный способ писать правила для большого количества хостов/сетей, не перечисляя каждый из них в отдельном правиле. Если ваш сайт, работающий под linux, подвергается DDOS, вы наверняка уже знаете про IP Sets. Если нет - http://ipset.netfilter.org/.
Утилита ipset живет в одноименном пакете, а все необходимые патчи ядра входят в состав пакета netfilter-extensions-source, который собирается и устанавливается при помощи утилиты module-assistant (которая для удобства имеет более короткое имя: m-a).
Примерный сценарий установки ip sets выглядит так:
$ sudo apt-get install ipset $ sudo apt-get install netfilter-extensions-source $ uname -a Linux host.domain.tld 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686 GNU/Linux # версия пакета linux-headers должна совпадать с версией ядра, для которого собирается netfilter-extensions $ sudo apt-get install linux-headers-2.6.26-1-686 $ sudo m-a build netfilter-extensions $ sudo m-a update && m-a a-i netfilter-extensions
Версия пакета заголовков ядра должна точно соответствовать версии активного ядра, для которого собирается ipset.