Учёт сетевого трафика

ARMA Стена предоставляет механизм по сбору статистики и предоставлению отчётов о сетевом трафике как IPv4, так и IPv6. Данные учёта могут быть выведены как локально, так и экспортированы на удалённые сервера сбора и анализа данных.

ARMA Стена поддерживает учёт данных в формате NetFlow (версии 5, 9 и 10/IPFIX) и sFlow.

NetFlow

NetFlow предоставляет администраторам доступ к информации о потоках IP в сети передачи данных. Поток данных определяется как однонаправленная последовательность пакетов с неким общим набором свойств, проходящих через сетевое устройство.

Для сбора информации о трафике по протоколу NetFlow требуются следующие компоненты:

экспортер - собирает статистику по проходящему через него трафику, объединяет пакеты в потоки и экспортирует записи потоков в один или несколько коллекторов (сборщиков) потоков;

коллектор - собирает получаемые от экспортера данные и помещает их в хранилище;

анализатор - анализирует собранные коллектором данные и формирует пригодные для чтения человеком отчёты.

Для сетевых протоколов без установления соединения таких как ICMP и UDP, сетевой поток считается завершенным если в течение указанного интервала ожидания не принят ни один пакет, относящийся к данному потоку.

Включение учёта сетевого трафика осуществляется отдельно для каждого интерфейса. Все пакеты, полученные на интерфейсе, будут учтены и представлены в статистических данных для интерфейса. При этом следует учитывать, что просмотр всех пакетов потребует значительных вычислительных ресурсов. В качестве альтернативы, позволяющей снизить нагрузку на систему, возможно учитывать каждый n-ный пакет (n – частота выборки), и производить оценку на основе выбранных пакетов. Это позволит снизить потребляемые ресурсы по сравнению с учётом всех пакетов, при этом обеспечивая приемлемую точность.

Примечание

Использование технологии NetFlow в ARMA Стена с большим потоком трафика может привести к повышенной нагрузке на центральный процессор, что приводит к снижению производительности устройства. В этой ситуации рекомендуется использовать технологию sFlow.

Команды настройки NetFlow

  1. Указание интерфейса, для которого производится учёт входящего трафика:

set system flow-accounting interface <interface>

где <interface> – интерфейс, для которого осуществляется учёт входящего трафика. Интерфейс должен быть заранее настроен. Возможно настроить несколько интерфейсов, которые будут участвовать в учёте входящего трафика.

  1. Включить учёт исходящего трафика:

set system flow-accounting enable-egress
  1. Отключить использование локальной таблицы во внутренней памяти:

set system flow-accounting disable-imt

По умолчанию записанные потоки сохраняются во внутренней памяти и могут быть перечислены с помощью команды CLI.

  1. Увеличить буфер обмена данными между основным процессом и плагином:

set system flow-accounting buffer-size <size>

где <size> – размер буфера в мебибайтах. Возможно указать значение в диапазоне от «0» до «4294967295». По умолчанию используется значение «10».

  1. Указание типов сообщений, относящихся к учёту трафика, которые будут регистрироваться в журнале:

set system flow-accounting syslog-facility <facility>

где <facility> – источник сообщений, от имени которого сообщения, связанные с учётом трафика, будут регистрироваться в журнале. Возможно указать следующие значения:

  • auth - проверка подлинности и авторизация;

  • authpriv - несистемная авторизация;

  • cron - служба cron;

  • daemon - системные службы;

  • kern - ядро;

  • lpr - буфер построчного принтера;

  • mail - подсистема электронной почты;

  • mark - сообщения mark;

  • news - подсистема USENET;

  • protocols - протоколы маршрутизации (local7);

  • security - подсистема безопасности;

  • syslog - системная регистрация;

  • user - прикладные процессы;

  • uucp - подсистема UUCPP;

  • local0 - локальный сервис 0;

  • local1 - локальный сервис 1;

  • local2 - локальный сервис 2;

  • local3 - локальный сервис 3;

  • local4 - локальный сервис 4;

  • local5 - локальный сервис 5;

  • local6 - локальный сервис 6;

  • local7 - локальный сервис 7;

  • all - все типы источников сообщений.

  1. Указание формата NetFlow, в котором будут экспортированы данные учета:

set system flow-accounting netflow version <version>

где <version> – номер версии NetFlow, в формате которой будут экспортированы данные учёта. Возможно указать следующие значения: «5», «9», «10». По умолчанию используется значение «9».

  1. Указание сервера сбора данных об учете трафика (коллектора) для экспорта данных NetFlow:

set system flow-accounting netflow server <address> port <number>

где:

  • <address> – IP-адреса коллектора для экспорта данных NetFlow. Формат ввода IP-адреса: <x.x.x.x> - для IPv4, <h:h:h:h:h:h:h:h> - для IPv6;

  • <number> – порт, на котором коллектор NetFlow принимает отчёты. Возможно указать значение в диапазоне от «1025» до «65535».

  1. Указание IP-адреса источника пакетов NetFlow:

set system flow-accounting netflow source-ip <address>

где <address> – IP-адреса источника пакетов NetFlow. Формат ввода IP-адреса: <x.x.x.x> - для IPv4, <h:h:h:h:h:h:h:h> - для IPv6.

  1. Указание идентификатора системы, который будет включен в данные NetFlow:

set system flow-accounting netflow engine-id <id>

где <id> – идентификатор системы, который указывается в данных NetFlow, позволяющий идентифицировать маршрутизатор, отправивший отчет. Возможно указать следующие значения:

  • для NetFlow v5 - возможно указать значение в диапазоне от «0» до «255». Допускается указать множественное значение разделенное знаком «:» (0-255:0-255);

  • для NetFlow v9/IPFIX - возможно указать значение в диапазоне от «0» до «4294967295».

  1. Указание частоты регистрации событий для NetFlow, с которой сетевые пакеты будут учитываться в статистике:

set system flow-accounting netflow sampling-rate <rate>

где <rate> – частота, с которой будут отбираться пакеты. Учитывается каждый n-ный пакет, где n - значение sampling-rate, настроенное для узла. Возможно указать значение в диапазоне от «0» до «4294967295». По умолчанию используется значение «1».

  1. Указание интервала, через который будут отправляться отчеты коллектору данных NetFlow:

set system flow-accounting netflow timeout expiry-interval <interval>

где <interval> – интервал времени, в секундах, через который будут отправляться отчеты коллектору NetFlow. Возможно указать значение в диапазоне от «0» до «2147483647». По умолчанию используется значение «60».

  1. Указание таймаута сетевого потока для трафика IP:

set system flow-accounting netflow timeout flow-generic <timeout>

где <timeout> – таймаут для сетевого потока, в секундах, для общего трафика IP. Действует для трафика IP за исключением трафика протоколов TCP, UDP и ICMP. Возможно указать значение в диапазоне от «0» до «2147483647».

  1. Указание таймаута сетевого потока для трафика ICMP:

set system flow-accounting netflow timeout flow-generic <timeout>

где <timeout> – таймаут сетевого потока, в секундах, для трафика ICMP. Возможно указать значение в диапазоне от «0» до «2147483647».

  1. Указание максимального интервала времени, в течение которого будет учитываться трафик, относящийся к сетевому потоку:

set system flow-accounting netflow timeout max-active-life <interval>

где <interval> – интервал времени, в секундах, определяющий максимальное время учета трафика, относящегося к сетевому потоку любого типа. Возможно указать значение в диапазоне от «0» до «2147483647».

  1. Указание таймаута сетевого потока TCP после получения пакета TCP с флагом FIN:

set system flow-accounting netflow timeout tcp-fin <timeout>

где <timeout> – таймаут сетевого потока, в секундах, после получения пакета TCP с флагом FIN. Возможно указать значение в диапазоне от «0» до «2147483647».

  1. Указание таймаута сетевого потока TCP:

set system flow-accounting netflow timeout tcp-generic <timeout>

где <timeout> – таймаут для потока TCP, в секундах. Возможно указать значение в диапазоне от «0» до «2147483647».

  1. Указание таймаута сетевого потока TCP после получения пакета TCP с флагом RST:

set system flow-accounting netflow timeout tcp-rst <timeout>

где <timeout> – таймаут сетевого потока, в секундах, после получения пакета TCP RST. Возможно указать значение в диапазоне от «0» до «2147483647».

  1. Указание таймаута сетевого потока для трафика UDP:

set system flow-accounting netflow timeout udp <timeout>

где <timeout> – таймаут сетевого потока для трафика UDP, в секундах. Возможно указать значение в диапазоне от «0» до «2147483647».

  1. Указание максимального количества потоков, отслеживаемых одновременно:

set system flow-accounting netflow max-flows <number>

где <number> – задает максимальное количество потоков системы NetFlow. Возможно указать значение в диапазоне от «0» до «4294967295».

  1. Вывести информацию об учёте потока для данного интерфейса:

admin@ngfwos:~$ show flow-accounting interface <ethN>

где <ethN> – имя интерфейса.

  1. Вывести информацию об учёте потока для данного интерфейса только для определённого хоста:

admin@ngfwos:~$ show flow-accounting interface <ethN> host <address>

где <address> – IP-адреса в формате: <x.x.x.x> - для IPv4, <h:h:h:h:h:h:h:h> - для IPv6.

sFlow

Система мониторинга sFlow включает следующие компоненты:

агент — обеспечивает интерфейс для настройки измерительного процесса, связанного с источником данных на устройстве, отвечает за поддержку сеансов измерения с коллекторами sFlow, собирает учётные данные в дейтаграммы sFlow для передачи коллекторам;

коллектор — получает дейтаграммы sFlow от одного или множества агентов sFlow.

Команды настройки sFlow

  1. Указание IP-адреса агента sFlow:

set system flow-accounting sflow agent-address <address>

где <address> – IP-адрес агента sFlow, который будет указан в пакетах, отправляемых коллектору sFlow. Возможно указать следующие значения:

  • auto - автоматически выбирается IP-адрес одного из настроенных интерфейсов;

  • <x.x.x.x> - IPv4-адрес.

  1. Указание частоты выборки для статистики sFlow:

set system flow-accounting sflow sampling-rate <rate>

где <rate> – частота, с которой будут отбираться пакеты. Учитывается каждый n-ный пакет, где n - значение sampling-rate, настроенное для узла. Возможно указать значение в диапазоне от «0» до «4294967295».

  1. Указание адреса коллектора sFlow для экспорта данных учета:

set system flow-accounting sflow server <address> port <number>

где:

  • <address> – IP-адреса коллектора для экспорта данных sFlow. Формат ввода IP-адреса: <x.x.x.x> - для IPv4, <h:h:h:h:h:h:h:h> - для IPv6;

  • <number> – порт, на котором коллектор sFlow принимает отчеты. Возможно указать значение в диапазоне от «1025» до «65535».

  1. Указание исходного IP-адреса выходных пакетов sFlow:

set system flow-accounting sflow source-address <address>

где <address> – исходный IP-адрес отправленных sFlow пакетов. Формат ввода IP-адреса: <x.x.x.x> - для IPv4, <h:h:h:h:h:h:h:h> - для IPv6. По умолчанию исходный адрес выходных sFlow пакетов — это локальный IP-адрес, который используется для пинга адреса назначения.