>Сделал небольшую биллинговую систему с помощью fprobe-ulog + flow-tools + PHP (web-интерфейс). > > >Сбор информации о трафике идёт так: >Chain FORWARD (policy DROP) >target prot opt source > destination > >REJECT all -- !192.168.0.0/24 > 0.0.0.0/0 >REJECT all -- 0.0.0.0/0 > !192.168.0.0/24 >ULOG all -- 0.0.0.0/0 > >0.0.0.0/0 >ACCEPT all -- 0.0.0.0/0 > 192.168.0.0/24 >ACCEPT tcp -- 192.168.0.0/24 > 194.1.1.1 >tcp dpt:110 >ACCEPT tcp -- 192.168.0.0/24 > 194.1.1.1 >tcp dpt:25 >*на самом деле аналогичных правил чуть больше, но для примера подойдёт* > >Всё считается, всё работает, но есть одна проблема: >считается "лишний" трафик, который после прохождения через ULOG блокируется policy DROP! >Тоесть получается так, что пакет в интернет не ушёл, но посчитался. >Ситуация такая, что на одной из локальных машин Windows Update отчаяно долбилась >напрямую (через шлюз) в инет, шлюз ни один из этих пакетов >не пропустил, но ULOG их посчитал. > >Как проще всего сделать так, чтобы в ULOG попадали только те пакеты, >которые реально уйдут в интернет, а то, что будет заблокировано - >не считалось? >Дублировать каждое разрешающее правило с -j ULOG? Попробуй следующее. Создай цепочку netflow, в которой будет правило ULOG. То, что разрешено (твои ACCEPT-ы) замени на перенаправление в пользовательскую цепочку netflow, остальное DROP как политика по умолчанию. А в твоей схеме пакеты сначала попадают под действие ULOG, а потом дропаются, соответственно они считаются. PS: по другой теме netflow спрашивали по ICQ: 459-164-160.
|