Перейти к содержимому
Калькуляторы

Подсчет трафика с помощью netflow между vlan

Добрый день!

 

Есть сервер с FreeBSD 8.2 c 2-мя сетевыми интерфейсами igb0 и igb1, на первом (igb0) затерминированы пользователи в vlan 1 - vlan N (около 250), на втором (igb1) 2 аплинка (vlan 1000, vlan 2000).

Шейпинг построен на связке ipfw + dummynet c использованием таблиц.

 

Сети из первого аплинка vlan 1000 приезжают по BGP, во втором vlan 2000 находится default gateway.

 

Хочется снимать статистику сколько трафика с каждого из пользовательских vlan уехало в vlan 2000 для построения графиков.

 

Можно ли реализовать это с помощью ng_netflow? Как это можно сделать (хоть в общих чертах т.к. только изучаю netflow)?

Есть ли альтернативный вариант подсчета?

Изменено пользователем allan_sundry

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Счётчики с влан интерфейсов

 

В счетчиках будет общий трафик с vlan интерфейса?

Как сделать выборку для построения графика по направлению к конкретному аплинку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Судя по структуре netflow пакета 5-й версии

 

0-3, srcaddr, Source IP address

4-7, dstaddr, Destination IP address

8-11, nexthop, IP address of next hop router

12-13, input, SNMP index of input interface

14-15, output, SNMP index of output interface

16-19, dPkts, Packets in the flow

20-23, dOctets, Total number of Layer 3 bytes in the packets of the flow

24-27, First, SysUptime at start of flow

28-31, Last, SysUptime at the time the last packet of the flow was received

32-33, srcport, TCP/UDP source port number or equivalent

34-35, dstport, TCP/UDP destination port number or equivalent

36, pad1, Unused (zero) bytes

37, tcp_flags, Cumulative OR of TCP flags

38, prot, IP protocol type - например TCP=6, UDP=17

39, tos, IP type of service (ToS)

40-41, src_as, Autonomous system number of the source, either origin or peer

42-43, dst_as, Autonomous system number of the destination, either origin or peer

44, src_mask, Source address prefix mask bits

45, dst_mask, Destination address prefix mask bits

46-47, pad2, Unused (zero) bytes

 

там присутствуют интересующие

 

12-13, input, SNMP index of input interface

14-15, output, SNMP index of output interface

 

Как можно отфильтровать данные на основании значений входящего и исходящего интерфейсов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Счётчики с влан интерфейсов

 

В счетчиках будет общий трафик с vlan интерфейса?

Как сделать выборку для построения графика по направлению к конкретному аплинку?

 

В смысле не физ интерфейс а влан интерфейс.

 

 

netstat -idb
Name    Mtu Network   	Address              Ipkts Ierrs Idrop 	Ibytes    Opkts Oerrs 	Obytes  Coll Drop
re0    1500 <Link#1>      00:24:1d:e8:bc:a7 214243164 	0 	0 90146159863 301849896 	0 301397575734 	0    0 
re0    1500 192.168.3.0   192.168.3.254 	34591308 	- 	- 36017951822 102107180 	- 85249464954 	-    - 
re0.1  1500 <Link#4>      00:24:1d:e8:bc:a7  4522921 	0 	0  668510517  6176571 	0 7205724038 	0    0 
re0.1  1500 192.168.254.0 192.168.254.254 	149394 	- 	-   10119348   189134 	-   35127212 	-    -

 

 

 

 

netstat -idbhtW -I re0.1001                                                                                         
Name      Mtu Network       Address              Ipkts Ierrs Idrop     Ibytes    Opkts Oerrs     Obytes  Coll Time Drop
re0.100  1500 <Link#4>      00:24:1d:e8:bc:a7     4.3M     0     0       637M     5.9M     0       6.7G     0    0     0 
re0.100  1500 192.168.254.0 192.168.254.254       145k     -     -       9.7M     184k     -        33M     -    -     - 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно ли реализовать это с помощью ng_netflow? Как это можно сделать (хоть в общих чертах т.к. только изучаю netflow)?

Ищите здесь на форуме "ngctl netgraph netflow ksocket".

Например:

1) подсчёт на интерфейсе - http://forum.nag.ru/forum/index.php?showtopic=64324&view=findpost&p=591375

2) мой вариант через ipfw (старый, без ngtee) - http://forum.nag.ru/forum/index.php?showtopic=56150&view=findpost&p=494846

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для литья нетфлоу набросал :

 

cat /usr/local/etc/rc.d/ngflow

#!/bin/sh

# PROVIDE: NGFLOW

# REQUIRE: NETWORKING

# BEFORE: DAEMON

#

ngflow_default_coll='x.x.x.x:p'

 

. /etc/rc.subr

 

name="ngflow"

rcvar=`set_rcvar`

 

load_rc_config $name

 

[ -z "$ngflow_enable" ] && ngflow_enable="NO"

[ -z "$ngflow_interfaces" ] && ngflow_interfaces=""

[ -z "$ngflow_coll" ] && ngflow_coll=$ngflow_default_coll

 

start_cmd="${name}_start"

stop_cmd="${name}_stop"

 

ngflow_start()

{

n=0

for iface in ${ngflow_interfaces}; do

echo "Started netflow on interface ${iface}"

 

ngctl mkpeer ${iface}: tee lower left

ngctl name ${iface}:lower tee${iface}

ngctl connect ${iface}: tee${iface}: upper right

ngctl mkpeer tee${iface}: one2many left2right many0

ngctl name tee${iface}:left2right one2many${iface}

ngctl connect tee${iface}: one2many${iface}: right2left many1

 

if [ ${n} = 0 ]; then

ngctl mkpeer one2many${iface}: netflow one iface0

ngctl name one2many${iface}:one netflow

ngctl mkpeer netflow: ksocket export inet/dgram/udp

ngctl name netflow:export ksocket

ngctl msg ksocket: connect inet/${ngflow_coll}

else

ngctl connect one2many${iface}: netflow: one iface${n}

fi

n=`expr $n + 1`

done

}

 

ngflow_stop()

{

ngctl shutdown ksocket:

ngctl shutdown netflow:

for iface in $ngflow_interfaces; do

echo "Stop netflow on interface ${iface}"

ngctl shutdown one2many${iface}:

ngctl shutdown tee${iface}:

ngctl shutdown ${iface}:

done

 

}

run_rc_command "$1"

 

Тут правда трафик в обе стороны льется но переделать несложно (убрать one2many), а это просто рабочий скрипт для подсчета клиентов.

 

Ну собственно полученные данные парсим и выбираем как хотим. Маны flow-tools Вам в руки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.