Настройка NetFlow сенсора на Cisco и коллектора на Debian

В прошлом году, в середине декабря, вышестоящее руководство по моему департаменту запросило суточную статистику в разрезе по IP-адресам по загрузке канала, соединяющего наш филиал с корпоративной сетью. Канал этот с нашей стороны заходит на один из портов маршуртизатора Cisco 2821. Недолго думая я решил прибегнуть к проверенному средству - NetFlow и пакету flow-tools. Может потом когда-нибудь пригодится мне или кому-нибудь ещё.

Для начала настроим NetFlow-сенсор на маршрутизаторе:

ip flow-export version 5
ip flow-export destination 192.168.0.1 9000
ip flow-export source GigabitEthernet 0/0
ip cef

interface GigabitEthernet 0/1
  ip flow ingress
  ip flow egress
  ip route-cache flow
  no ip mroute-cache

Теперь пришёл черёд NetFlow-коллектора. Поставим пакет flow-tools:

# apt-get install flow-tools

И зададим настройки коллектора в файле /etc/flow-tools/flow-capture.conf:

-w /var/flow/cisco2821 -n 24 -N 3 192.168.0.1/192.168.0.2/9000

Обязательно нужно создать каталог для файлов /var/flow/cisco2821/:

# mkdir -p /var/flow/cisco2821/

И можно запускать коллектор:

# /etc/init.d/flow-capture start

С помощью следующей команды нужно убедиться, что коллектор запустился и приступил к работе:

# netstat -4nlp | grep 9000

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

Пока статистика собирается, можно заняться фильтрами. Например, можно создать фильтр, отбирающий статистику только за рабочее время (хотя была запрошена в первую очередь суточная статистика). Например, в файл /etc/flow-tools/cfg/filter.cfg пропишем вот такие правила:

filter-primitive work-time-start
  type time
  permit gt 9:00

filter-primitive work-time-end
  type time
  permit lt 18:00

filter-definition work-time
  match start-time work-time-start
  match end-time work-time-end

Теперь этот фильтр можно использовать в команде flow-nfilter, которую можно включить в конвейер:

$ cd /var/flow/cisco2821/2010/2010-12/2010-12-16/
$ flow-cat ft-v05.2010-12-16.1* \
  | flow-nfilter -f /etc/flow-tools/cfg/filter.cfg -Fwork-time \
  | flow-stat -f10 > stat.txt

Написать автору