спасибо, я знаю что такое ipfw, ) но как я уже писал, из-за 5 чудаков, а) не хочется фильтровать сотню мегабит через 5 правил б) хочется им внять дать по башке и сказать за что в) хочется чтобы правило само отсохло через N времени и не заморачиваться еще и на удаление бана.
Спасибо, нжинксу и мемкешу - можно сделать блокировку со всеми этими бонусами.
> Ну я раздумываю сделать что-то вроде
>
> set $memcached_key "ban_$remote_addr";
>
> и привет.. Получится? Или это не самый простой способ сделать динамический бан с ограниченным временем жизни?
в ipfw есть таблицы (table) . это список подсетей или ip-шек с
временем, когда они из этой таблицы пропадут. Пишется примерно такое
правило:
deny ip from table(1) to any in via em0
блокировать все входящие ip-пакеты, идущие через em0
Добавление в таблицу делается вот так:
/sbin/ipfw table 1 add 1.2.3.4 1358239012
где 1358239012 - время, когда ip 1.2.3.4 удалится из первой таблицы
удаление срока - вот так:
/sbin/ipfw table 1 delete 1.2.3.4
очистка всей таблицы вот так:
/sbin/ipfw table 1 flush