Архив рубрики «module-assistant»

debian: добавляем в iptables поддержку ip sets (ipset)

27.10.2009

IP Sets – расширение пакетного фильтра ядра iptables, которое позволяет комфортно работать с большими наборами адресов/сетей. При написании правил iptables при этом мы оперируем именованными списками.

Это, пожалуй, единственный на сегодняшний день доступный способ писать правила для большого количества хостов/сетей, не перечисляя каждый из них в отдельном правиле. Если ваш сайт, работающий под linux, подвергается DDOS, вы наверняка уже знаете про IP Sets. Если нет - http://ipset.netfilter.org/.

Утилита ipset живет в одноименном пакете, а все необходимые патчи ядра входят в состав пакета netfilter-extensions-source, который собирается и устанавливается при помощи утилиты module-assistant (которая для удобства имеет более короткое имя: m-a).

Примерный сценарий установки ip sets выглядит так:

  1. $ sudo apt-get install ipset
  2. $ sudo apt-get install netfilter-extensions-source
  3. $ uname -a
  4. Linux host.domain.tld 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686 GNU/Linux
  5. # версия пакета linux-headers должна совпадать с версией ядра, для которого собирается netfilter-extensions
  6. $ sudo apt-get install linux-headers-2.6.26-1-686
  7. $ sudo m-a build netfilter-extensions
  8. $ sudo m-a update && m-a a-i netfilter-extensions

Версия пакета заголовков ядра должна точно соответствовать версии активного ядра, для которого собирается ipset.