netflow скриптик
Вдруг кому будет полезен для общего развития или для использования: /tinybsd/usr/local/etc/rc.d/netgraph
Скрипт реализует создание netgraph структуры для сбора и экспорта netflow статистики и маркировку входящего траффика tos пакетами.
Сбор netflow на интерфейсе идёт в обе стороны (таким образом например на роутере сбор необходимо делать только на внешних интерфейсах). Кстати как оказалось при этом всё-равно сохраняется информация о входящем и исходящем интерфейсе. Возможно создание нескольких netflow нод, каждая из которых будет собирать информацию с разных интерфейсов (сбор несколькими нодами информации с одного интерфейса пока не реализован).
Маркировка делается нодой ng_settos, исходники которой были когда-то найдены в просторах интернета. Допустимо делать маркировку как на интерфейсах, которые будут подключены к netflow, так и на не подключенных к netflow интерфейсах.
Скрипт ложить в /usr/local/etc/rc.d/ и включать строчкой
netgraph_enable=”YES”
Другие опции:
tos_ifaces=”vlan18:8 vlan22:8 vlan26:8″ # каким tos маркировать на каком интерфейсе
netflow_names=”netflow extif” # netflow ноды с какими именами создавать . По умолчанию создаётся только нода с именем netflow
netflow_ifaces=”vlan14 vlan300 vlan5 vlan6 vlan192″ # с каких интерфейсов снимать информацию ноде netflow
extif_ifaces=”vlan18 vlan22 vlan26″ # аналогично для ноды extif
netflow_bind=”10.0.0.1:3520″ # забиндиться ksocket ноде, используемой для экспорта данных с netflow, на этот адрес и порт. Это полезно дла избежания ситуации если у роутера динамический роутинг и в зависимости от него исходящие пакеты будут иметь разный src ip
extif_bind=”10.0.0.1:8787″ # аналогично для ноды extif
netflow_connect=”10.0.0.10:3520″ # куда слать flow с ноды netflow
extif_connect=”10.0.0.20:8787″ # аналогично для ноды extif