Ключевые слова:freebsd, traffic, netflow, statistic, (найти похожие документы)
Date: Tue, 20 Apr 2004 11:28:53 +0600
From: Alexander Kolesnikoff <ak@hvv.uku.com.ru>
Newsgroups: ftn.ru.unix.bsd
Subject: [FreeBSD] Подсчет траффика при помощи ng_netflow
> AK> Глеб, убери сверхестественный интеллект у своего детища и вопрос
> AK> отпадёт сам собой. ng_netflow нормально считает трафик в случае с
> AK> натом и без наворотов с divert.
>
> Hе верю :)
#! /bin/sh
ngctl mkpeer vlan0: tee lower left
ngctl connect vlan0: vlan0:lower upper right
ngctl mkpeer vlan0:lower netflow left2right iface0
ngctl name vlan0:lower.left2right netflow
ngctl msg netflow: setifindex { iface=0 index=4 }
n=1
for i in vlan1 vlan2 vlan3 xl0
do
ngctl mkpeer $i: tee lower left
ngctl connect $i: $i:lower upper right
ngctl connect $i:upper netflow: right2left iface$n
n=`expr $n + 1`
done
ngctl mkpeer netflow: ksocket export inet/dgram/udp
ngctl msg netflow:export connect inet/127.0.0.1:9996
-------
vlan0 - внешний интерфейс на которм висит natd
srcIP dstIP prot srcPort dstPort octets packets
207.46.106.17 IP_vlan0 6 1863 4303 88 2
207.46.106.17 172.27.0.8 6 1863 4303 88 2
62.231.161.11 IP_vlan0 6 80 3905 1611 4
62.231.161.11 172.21.4.4 6 80 3905 1611 4
213.180.199.1 IP_vlan0 6 80 4529 545 4
213.180.199.1 172.21.2.5 6 80 4529 545 4
Обрати внимание на количество packets/octets принятых на внешнем интер-
фейсе и отданных в локальную сеть. Если так нельзя делать хуки, пожалуйста,
объясни - почему?
> AK> То что сейчас ng_netflow агрегирует
> AK> flows с разных интерфейсов - это баг!
>
> Есть такая беда. Сегодня вышлю Вам патч, к Вам просьба протестить.
Да без проблем! Только на "Вы" обращение, я думаю, излишне.
> В моем environment
> не бывает такого, что бы одинаковые flow приходили на разные интерфейсы.
Тем не менее, баги надо фиксить. Тем более такие мелкие. Забыл сказать,
пакеты, посчитанные дважды, в natd не заворачивались вообще, а сразу про-
пускались по правилу ipfw allow.
Так как правильно настроить ng_netflow для nat?
Интерфейс ( rl0) на котором прибинден nat имеет два адреса ( оба публичных и смотрят в inet).Один адрес основной а другой алиасный на котором и сидит natd.