Настройка протокола netflow на оборудовании cisco.

Netflow – протокол, разработанный изначально компанией Cisco для учёта сетевого трафика. В настоящий момент его сфера применения выходит далеко за пределы устройств этой компании, существуют свободные реализации, многие производители добавляют поддержку netflow в свои устройства. Существует несколько версий этого протокола, наиболее распространены версии 5 и 9, при этом функциональные отличия между версиями невелики.

В рамках netflow подразумевается три роли, в которых могут выступать устройства:

  1. Сенсор – устройство, собирающее статистику о трафике и передающее её коллектору. В качестве сенсора может выступать маршрутизатор или коммутатор третьего уровня cisco.
  2. Коллектор – приложение, работающее на сервере, собирающее и сохраняющее статистику, полученную от сенсоров.
  3. Анализатор – приложение, анализирующее и обрабатывающее сохранённую коллектором статистику, предоставляет различные отчёты, графики и т.п.

В статистике, собираемой на коллекторе учитывается не каждый пакет индивидуально – это было бы слишком ресурсоёмко, а потоки. Поток (flow) – это группа пакетов, у которых совпадают:

  • Адрес отправителя;
  • Адрес получателя;
  • Порт источника (для TCP или UDP);
  • Порт получателя (для TCP или UDP);
  • Тип и код сообщения (для ICMP);
  • Протокол, инкапсулированный в IP (поле заголовка IP «protocol»);
  • Значение поля ToS;
  • Интерфейс, на котором появился пакет.

Таким образом, группа пакетов, у которых эти параметры совпали называется потоком, а в пределах потока можно посчитать, сколько в нём передано пакетов, сколько байт информации и другую статистику. Маршрутизатор собирает эту информацию и передаёт её коллектору.

Статистика по потокам отправляется на коллектор и частично может быть просмотрена локально на самом маршрутизаторе. Приведём конкретный перечень того, что отправляется на коллектор:

  • Версия протокола;
  • Порядковый номер записи о потоке;
  • Время начала и окончания потока;
  • Количество байт и пакетов в потоке;
  • Интерфейсы, через которые осуществлялась передача;
  • Адрес получателя и отправителя;
  • Порты получателя и отправителя;
  • Номер протокола, инкапсулированного в IP;
  • Значение ToS;

Настройка протокола netflow достаточно проста. Необходимо выбрать интерфейсы, на которых мы хотим организовать сбор статистики и направление трафика, который мы хотим мониторить (на вход, на выход или оба). Например:

R1(conf)# interface FastEthernet 0/1
R1(config-if)# ip flow ingress
R1(config-if)# ip flow egress

Соответственно, ingress заставляет мониторить входящий на интерфейс Fa0/1 трафик, а egress – исходящий. Второй элемент настройки – указание адреса коллектора и номера UDP порта, на котором он готов получать от нас статистику. Кроме того, можно указать версию протокола netflow, которая будет понятна коллектору. Это ещё две строчки конфига:

R1(config)# ip flow-export destination 192.168.0.100 2055
R1(config)# ip flow-export version 5

Для отладки хорошо использовать две команды: show ip cache flow – выдаёт локальную статистику netflow прямо на маршрутизаторе, без коллектора; show ip flow export – отображает статистику по взаимодействию с коллектором (сколько потоков отправлено, сколько пакетов ушло на коллектор, ошибки при взаимодействии с коллектором и т.п.).

Как видно из данной статьи, настройка протокола Netflow на оборудовании cisco дело достаточно простое, я бы сказал, что сложнее настроить коллектор. Что может выступать в качестве коллектора? Во-первых, многие биллинг-системы работают с этим протоколом. Через него они получают статистику, какой ip адрес сколько скачал из интернета, а через SNMP отправляют на маршрутизатор команды по изменению списков контроля доступа, чтобы запретить выход тем пользователям, кто пересидел свой лимит. Во-вторых, есть платное ПО, которое выступает в качестве коллектора и анализатора, например, Scrutinizer NetFlow Analyzer от Plixer International. В-третьих, есть бесплатные коллекторы. В частности, под Ubuntu и Debian линуксом я пользовался отличным пакетом flow-tools. Минус последнего варианта заключается в том, что анализатор пришлось писать самому.

Относится к теме: 

Комментарии

Здравствуйте. Скажите, сама циска может выступать в роли коллектора или этот функционал иосом не предусмотрен?

Аватар пользователя bacek
На циске можно посмотреть некоторую ограниченную статистику, но полноценным коллектором она выступать не сможет, так как коллектор - 1) это большой объём жёсткого диска чтобы хранить логи 2) подключённая СУБД или скрипты для аналитики собранного. С обоими этими пунктами, как вы понимаете, у маршрутизатора не очень дела обстоят.

Благодарю за ответ. Можете посоветовать netflow коллектор для ОС Solaris 10? Облазил весь инет, нашел много фришных решений, но они либо не собираются на солярке, либо очень старые. Либо и то и другое.

Аватар пользователя bacek
Под солярисом не ставил коллектор. Судя по всему есть платный Cisco NetFlow Collector и solarwind. Под линуксом отлично стабильно работают стандартные flowtools.

Добавить комментарий