An open API service indexing awesome lists of open source software.

https://github.com/illarionov/rdr2netflow

Cisco SCE RDRv1 to Netflow v5 converter
https://github.com/illarionov/rdr2netflow

Last synced: 7 months ago
JSON representation

Cisco SCE RDRv1 to Netflow v5 converter

Awesome Lists containing this project

README

          

RDR 2 Netflow
==============

Программа принимает поток формата RDRv1 с Cisco SCE - экспортера, преобразует
его в формат Netflow v5 и отправляет на Netflow коллектор.

Установка
==========

Во FreeBSD вместо make нужно использовать gmake (GNU make)

$ git clone git://github.com/littlesavage/rdr2netflow.git
$ cd rdr2netflow
$ make
$ su
# make install

Для конечной установки рекомендуется использовать систему инициализации с
возможностью автоматического перезапуска: Daemontools, Runit, Launchd, Upstart,
либо Supervisor.
При большом трафике также рекомендуется увеличить размер приемного буфера
(ключ -b), предварительно увеличив ограничение ОС - net.core.rmem_max в Linux,
kern.ipc.maxsockbuf во FreeBSD.

Пример запуска из runit:

$ cat /etc/service/rdr2netflow/run
#!/bin/sh
exec 2>&1
exec chpst -u nobody /usr/local/bin/rdr2netflow -s 192.168.1.202 -p 9999 \
-d 127.0.0.1 -P 9995 -V 1 -b 16777216

$ cat /etc/service/rdr2netflow/log/run
#!/bin/sh
exec chpst -u log svlogd -tt /var/log/rrd2netflow

Использование
==============

Usage:
rdr2netflow [-h] [options]

Options:
-s

Address to bind for listening (default any)
-p Specifies the port number to listen (default 10000)
-d
Send netflow to this remote host (default 127.0.0.1)
-P Remote port (default 9995)
-R RDR Repeater: send all incoming packets to this host
-F ip[/net][,...] Comma-separated list of networks to be excluded from the dump
-b Set send buffer size in bytes.
-V Verbose output
-h, --help Help
-v, --version Show version

-s и -p задают IP адрес и порт, на котором будет приниматься RDRv1 поток (TCP).
-d и -P задают адрес и порт Netflow V5 коллектора (UDP).
-V задает уровень подробности логов:
-V 1 - минимальный уровень
-V 10 - дамп всех пакетов RDR TRANSACTION USAGE (TUR) и заголовков остальных RDR.
-V 100 - подробный дамп всех RDR пакетов.

-R host/port - Отправлять принятый RDR поток на заданных узел. Порт назначения
указывается через '/'. Можно указать несколько раз, чтобы отправлять на
несколько хостов одновременно.
-E ip[/net][,...] - IP фильтр. Разделенный запятыми список IP сетей, которые будут
исключены из Netflow дампа.

Пример

Принимать RDR на 192.168.1.202:9999 и отправлять Netflow на 127.0.0.1:9995:

$ rdr2netflow -s 192.168.1.202 -p 9999 -d 127.0.0.1 -P 9995 -V 1

Известные ограничения и недоработки
====================================

Не заполняются поля Netflow: nexthop, input_if, output_if, pkts, tcp_flags,
tos, src_as, dst_as, src_mask, dst_mask. Если вы знаете, где в RDR
значения каких-либо из этих полей, сообщите нам.

Поле Netflow sys_uptime - это не uptime экспортера, а время самого раннего
потока с момента запуска rdr2netflow.

Поле Netflow last (uptime во время приема последнего пакета)
вычисляется из REPORT_TIME RDR. Т.е. это не время последнего пакета и точность
здесь секундная.

rdr2netflow может принимать потоки с нескольких экспортеров, но отправляться
они будут на один коллектор с одним и тем же engineID|engineType.

При включенных RDR interim TUR, в промежуточных TUR'ах счетчики
SESSION_UPSTREAM_VOLUME и SESSION_DOWNSTREAM_VOLUME обнуляются после каждого
отчета, а MILLISEC_DURATION продолжает накапливаться. На данный промежуточные
TUR экспортируются в netflow, но длительность потока вычисляется неверно.

Авторы
=======

Александр Морозов

Алексей Илларионов