Подсчет трафика с помощью pf

11.10.2006 20:14 Администратор
Печать

Подсчет трафика с помощью pf
Автор: fr33man
Оригинал: http://www.lissyara.su/articles/freebsd/traffic_count/pfctl/


Решил считать трафик на внешнем интерфейсе. Сначала хотел считать с помощью trafd, но подумал, что лишняя программа в памяти не есть гуд. Второй моей мыслью был snmp, но нагружать машинку еще и snmp запросами я не решился. И тут я вспомнил, что это роутер, на котором стоит packet filter. Считать решил именно pf.

Итак, приступим. Я предполагаю, что pf у Вас уже настроен и работает. Добавляем в pf.conf следующую строку:

set loginterface ng0

Теперь проверяем работоспособность конфига:

shield@/usr/ports/net> pfctl -nf /etc/pf.conf

shield@/usr/ports/net>





И подгружаем правила:

shield@/usr/ports/net> pfctl -f /etc/pf.conf

shield@/usr/ports/net>

Вот и все. Давайте посмотрим, сколько трафика набежало:

shield@/usr/ports/net> pfctl -s info

Status: Enabled for 1 days 23:43:24 Debug: Urgent



Hostid: 0x153793d2



Interface Stats for ng0 IPv4 IPv6

Bytes In 41872728 0

Bytes Out 90656050 0

Packets In

Passed 547083 0

Blocked 29 0

Packets Out

Passed 556623 0

Blocked 2 0



State Table Total Rate

current entries 4

searches 6146672 35.8/s

inserts 3730 0.0/s

removals 3726 0.0/s

Counters

match 3946799 23.0/s

bad-offset 0 0.0/s

fragment 0 0.0/s

short 0 0.0/s

normalize 0 0.0/s

memory 0 0.0/s

bad-timestamp 0 0.0/s

congestion 0 0.0/s

ip-option 0 0.0/s

proto-cksum 0 0.0/s

state-mismatch 0 0.0/s

state-insert 0 0.0/s

state-limit 0 0.0/s

src-limit 0 0.0/s

synproxy 0 0.0/s

shield@/usr/ports/net>





В самом верху видно, сколько байт принято и сколько отправлено.



Могу только добавить, чтобы очистить счетчик можно воспользоваться командой pfctl:



shield@/usr/ports/net> pfctl -F info

pf: statistics cleared

shield@/usr/ports/net>


Я не стал писать полный конфиг pf, так как я сейчас пишу статью про Policy Based Routing и pf. ))

Обновлено 28.05.2010 12:18