URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 63663
[ Назад ]

Исходное сообщение
"ng_netflow. Не вся статистика снимается"

Отправлено drone , 25-Янв-06 18:15 
Ситуация следующая. Через один интерфейс сервера ходят несколько
подсетей в инет. НАТа нет. То есть трафик на интерфейсе выглядит так:

10.129.1.129    -->     212.45.0.3
10.129.1.129    -->     195.14.50.1
82.233.4.123    -->     10.130.1.53
10.130.1.53     -->     221.224.129.140
10.130.1.53     -->     85.230.49.253

Настроил ng_netflow на этом сервере. Пакеты шлет в больших количествах.
Но не вся информация в них содержится! Потерь нетфло пакетов нет,
проверяю по порядковому номеру. ng_netflow не всю статистику снимает
почемуто. Запускаю tcpdump на вышеуказанном интерфейсе и вижу все
свои пакеты. А по нетфло приходит только часть. Ничего не понимаю.
Вот мой скрипт, запускающий netflow на роутере:

#!/bin/sh
kldload ng_netflow
kldload ng_ether
kldload ng_tee
kldload ng_one2many

ngctl -f- <<-SEQ
        mkpeer int0: tee lower left
        connect int0: int0:lower upper right
        mkpeer int0:lower one2many left2right many0
        connect int0:lower.left2right int0:lower many1 right2left
        name int0:lower.right2left o2m
        mkpeer o2m: netflow one iface0
        name o2m:one netflow
        mkpeer netflow: ksocket export inet/dgram/udp
        msg netflow:export connect inet/10.ххх.хх.хх:4444

Заранее спасибо.



Содержание

Сообщения в этом обсуждении
"ng_netflow. Не вся статистика снимается"
Отправлено drone , 25-Янв-06 19:08 
Кажется, немного разобрался. Походу инфа, которая не доходит до меня,
лежит в кеше. Возникает другой вопрос: как заставить ng_netflow сразу
сбрасывать все, не держа в кеше?

"ng_netflow. Не вся статистика снимается"
Отправлено Андрей , 25-Янв-06 19:49 
>Кажется, немного разобрался. Походу инфа, которая не доходит до меня,
>лежит в кеше. Возникает другой вопрос: как заставить ng_netflow сразу
>сбрасывать все, не держа в кеше?

оно - всё, не в кеше, netflow экспортит только завершённые потоки или если они живут более 30 минут (по умолчанию), а если данные в каком соединении продолжают течь, то этот поток остаётся в таблице. Как только поток пакетов завершится, тот попадёт на коллектор в следующем-же пакете. Если ты не хочешь ждать пока этот поток завершится то установи active timeout меньше чем 1800.

http://freebsd.ru.ac.za/cgi-bin/man.cgi?topic=ng_netflow&sec...


"ng_netflow. Не вся статистика снимается"
Отправлено drone , 25-Янв-06 20:22 
я набираю:
  flowctl netflow show
и вижу пакеты в _кэше_. Пускаю пинг и опять смотрю кэш.
Там пакетов ICMP от моего компа стало больше. Какие потоки могут быть у
ICMP?? Через некоторое время (довольно большое ~20-30 мин) все
сбрасывается нормально. Это мне никак не подходит. Может, из-за
большой нагрузки сервер складивает все в кэш?
Мне обязательно надо, чтобы тнформация _сразу_ доходила.


"ng_netflow. Не вся статистика снимается"
Отправлено idle , 25-Янв-06 21:24 
>я набираю:
>  flowctl netflow show
>и вижу пакеты в _кэше_. Пускаю пинг и опять смотрю кэш.
>Там пакетов ICMP от моего компа стало больше. Какие потоки могут быть

>ICMP??
В нетфлоу у icmp есть 'потоки'. И не только там.

"ng_netflow. Не вся статистика снимается"
Отправлено nimb , 25-Янв-06 23:45 
> name o2m:one netflow

  msg netflow: settimeouts { inactive=30 active=600 }

> mkpeer netflow: ksocket export inet/dgram/udp


"ng_netflow. Не вся статистика снимается"
Отправлено drone , 26-Янв-06 01:40 
>> name o2m:one netflow
>
>  msg netflow: settimeouts { inactive=30 active=600 }
>
>> mkpeer netflow: ksocket export inet/dgram/udp


а если сделать msg netflow: settimeouts { inactive=10 active=10 }
это сильно нагрузить систему? Мне чем быстрее получить инфу тем лучше.



"ng_netflow. Не вся статистика снимается"
Отправлено funkblaster , 26-Янв-06 09:55 
А если в netlow висит поток и в это время машину выключить, то поток просто потеряется или как?



"ng_netflow. Не вся статистика снимается"
Отправлено funkblaster , 26-Янв-06 12:18 
Кстати, если кто хорошо знаком с netlow может мне пояснит такую вещь. Есть фильтрующий мост на FreeBSD 6.0 if_bridge. Куча правил ipfw как разрешающих так и запрещающих. На нём же же стоит ng_netflow+flow-capture висит на одном из интерфейсов и считает трафик в одну сторону. Так вот смотрю отчёт с помощью flow-stat и вижу всего из миллиона потоков примерно 90000 есть lost flows. Сервер абсолютно не загружен. Куда оно девается-то? И как это отражается на количестве трафика?