to Mam(0)n: Да возможно и так, действительно не понял вашей идеи, но то что вы сейчас (в последнем посте) предложили пока еще для меня слишком сложно. (с вырезанием из строк всяких кусочков и регулярными выражениями - это просто труба!)
А по существу еще хочу сказать вот что: Есть такой критерий connbytes, так вот он позволяет реализовать идею с обрезанием потока (соеденения) по критерию, количества скаченного (а не по времени) буквально в одно правило (просто и элегантно). Пример:
# Соединения, по которым передано более 1 Мб, дропаем
iptables -t filter -A INPUT -m connbytes --connbytes 1024000: --connbytes-dir both --connbytes-mode bytes -j DROP
iptables -t filter -A FORWARD -m connbytes --connbytes 1024000: --connbytes-dir both --connbytes-mode bytes -j DROP
iptables -t filter -A OUTPUT -m connbytes --connbytes 1024000: --connbytes-dir both --connbytes-mode bytes -j DROP
Более, того в этой же статье я нашел частичное описание критерия recent, который, судя по описанию может запоминать в том числе и время поступления пакета. Как он работает я еще не разобрался (несмотря на примеры), штука довольно тонкая и хитрая. НО МНОГООБЕЩАЮЩАЯ!
P.S.: Очень важное замечание, все это я прочел в статье на википедии
http://ru.wikipedia.org/wiki/Iptables. Давно очень знал об этой статье, но всегда избегал, так-как читал о ней много нелестных отзывов. А сейчас читаю и не могу оторваться
. Наверное это лучшее, что я читал по iptables (уж покрайней мере лучше руководства 1.1.19). Может быть это правда лишь только эмоции, но все-же
...