Учет трафика выполняется с помощью системы фильтрации пакетов
ipfw. Собственно, подсчитывать трафик - это еще одна задача этой подсистемы.
Все пакеты, которые соответствуют какому-либо правилу автоматически
учитываются системой фильтрации.
Посмотреть, чему равны счетчики для каждого из правил
можно командой ipfw:
# ipfw -a list
65535 4386 844198 allow ip from any to any
Ключ -a команды заставляет ее показывать не только список правил, но и
счетчики каждого из них.
Строка содержит три числа: номер правила (65535), количество пакетов (4386)
и байтов (844198), которые совпали с правилом.
Если все, что нужно сделать с трафиком это подсчитать его
(то есть к нему не нужно применять никаких други действий,
для данного типа трафика у фильтра нет специального правила),
следует использовать действие count.
Например, для того чтобы подсчитать весь трафик, который
направляется из подсети 192.168.15.0 и который проходит через
даный хост, нужно добавить правило:
# ipfw add count ip from 192.168.15.0/24 to any
Это правило не затронет никаких остальных правил фильтрации, которые идут
за ним. Напимер, если далее явным образом явным образом разрешается
прохождение трафика с 192.168.15.1 и запрщается с 192.68.15.2,
они будут работать как и до этого.
![[Tip]](images/tip.gif) |
|
Правила подсчета трафика лучше всего ставить в начало цепочки,
то есть там, где они учтут все пакеты, даже те из них, которые
будут после отброшены.
|