Считается общий трафик:
rule in {
ipfw = 110.0
info = Incoming traffic
}считается и ограничивается трафик на хосте:
rule 25 {
ipfw = 317
info = firewall_trafic_size
limit 50m {
byte_limit = 50m
info = 50 Mbyte per day
zero_time = +d
reach {
exec = /sbin/ipfw add 139 set 1 deny log ip from any to 192.168.0.25
}
expire {
expire_time = +d
exec = /sbin/ipfw delete 139
}
}
}
По общему счетчику за день заметил, что качают больше чем обычно. По индивидуальным лимитам все в норме. На следующее утро посмотрел статистику sarg - она примерно совпадает с общим счетчиком:
sarg
Всего 888.216.646
#cat /usr/local/ipa/in/2008/11
12/10:27:16-24:00:00 00000000000883587064 (обычно не более 550 мегов)
в то время как статистика сарга по хосту 192.168.0.25 удивила:
192.168.0.25 147.678.357 (150 мегов)
а в ипе:
#cat /usr/local/ipa/25/2008/11
12/10:27:16-24:00:00 00000000000042566558 (43 метра - даже не дошло до лимита отключения).
Получается такая картина:
Общий счетчик считает все правильно, сквид отдает саргу правильную статистику, а вот правило ипы по хосту 192.168.0.25 не срабатывает. По сути, с хоста 25 скачати 150 мегов, хотя по достижении 50 мб должно было сработать блокирующее правило.Но оно не сработало так как ипа увидела трафика только на 43 метра. А сарг все определил верно.
Кстати,сарг сказал что трафик шел практически с одного узла интернета:
Пользователь: 192.168.0.25
militera.lib.ru 139.724.293
Насчет вирусов я проверю, конечно. Но как можно было обойти ipfw?
в конфиге фаера:
${ipfw} add 110 count ip from any to any in via ${inet} # общий трафик
${ipfw} add 110 count ip from any to any out via ${inet}
${ipfw} add 317 count ip from any to 192.168.0.25 out via ${lan} # тот самый хост
${ipfw} add 427 allow tcp from me to any 80 uid squid out via ${inet} # только через сквид
${ipfw} add 428 reset log tcp from any to any 80 via ${lan} out