Учёт сетевого трафика
ARMA Стена предоставляет механизм по сбору статистики и предоставлению отчётов о сетевом трафике как IPv4, так и IPv6. Данные учёта могут быть выведены как локально, так и экспортированы на удалённые сервера сбора и анализа данных.
ARMA Стена поддерживает учёт данных в формате NetFlow (версии 5, 9 и 10/IPFIX) и sFlow.
NetFlow
NetFlow предоставляет администраторам доступ к информации о потоках IP в сети передачи данных. Поток данных определяется как однонаправленная последовательность пакетов с неким общим набором свойств, проходящих через сетевое устройство.
Для сбора информации о трафике по протоколу NetFlow требуются следующие компоненты:
экспортер - собирает статистику по проходящему через него трафику, объединяет пакеты в потоки и экспортирует записи потоков в один или несколько коллекторов (сборщиков) потоков;
коллектор - собирает получаемые от экспортера данные и помещает их в хранилище;
анализатор - анализирует собранные коллектором данные и формирует пригодные для чтения человеком отчёты.
Для сетевых протоколов без установления соединения таких как ICMP и UDP, сетевой поток считается завершенным если в течение указанного интервала ожидания не принят ни один пакет, относящийся к данному потоку.
Включение учёта сетевого трафика осуществляется отдельно для каждого интерфейса. Все пакеты, полученные на интерфейсе, будут учтены и представлены в статистических данных для интерфейса. При этом следует учитывать, что просмотр всех пакетов потребует значительных вычислительных ресурсов. В качестве альтернативы, позволяющей снизить нагрузку на систему, возможно учитывать каждый n-ный пакет (n – частота выборки), и производить оценку на основе выбранных пакетов. Это позволит снизить потребляемые ресурсы по сравнению с учётом всех пакетов, при этом обеспечивая приемлемую точность.
Примечание
Использование технологии NetFlow в ARMA Стена с большим потоком трафика может привести к повышенной нагрузке на центральный процессор, что приводит к снижению производительности устройства. В этой ситуации рекомендуется использовать технологию sFlow.
Команды настройки NetFlow
Указание интерфейса, для которого производится учёт входящего трафика:
set system flow-accounting interface <interface>где <interface> – интерфейс, для которого осуществляется учёт входящего трафика. Интерфейс должен быть заранее настроен. Возможно настроить несколько интерфейсов, которые будут участвовать в учёте входящего трафика.
Включить учёт исходящего трафика:
set system flow-accounting enable-egress
Отключить использование локальной таблицы во внутренней памяти:
set system flow-accounting disable-imtПо умолчанию записанные потоки сохраняются во внутренней памяти и могут быть перечислены с помощью команды CLI.
Увеличить буфер обмена данными между основным процессом и плагином:
set system flow-accounting buffer-size <size>где <size> – размер буфера в мебибайтах. Возможно указать значение в диапазоне от «0» до «4294967295». По умолчанию используется значение «10».
Указание типов сообщений, относящихся к учёту трафика, которые будут регистрироваться в журнале:
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 - все типы источников сообщений.
Указание формата NetFlow, в котором будут экспортированы данные учета:
set system flow-accounting netflow version <version>где <version> – номер версии NetFlow, в формате которой будут экспортированы данные учёта. Возможно указать следующие значения: «5», «9», «10». По умолчанию используется значение «9».
Указание сервера сбора данных об учете трафика (коллектора) для экспорта данных 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».
Указание 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.
Указание идентификатора системы, который будет включен в данные NetFlow:
set system flow-accounting netflow engine-id <id>где <id> – идентификатор системы, который указывается в данных NetFlow, позволяющий идентифицировать маршрутизатор, отправивший отчет. Возможно указать следующие значения:
для NetFlow v5 - возможно указать значение в диапазоне от «0» до «255». Допускается указать множественное значение разделенное знаком «:» (0-255:0-255);
для NetFlow v9/IPFIX - возможно указать значение в диапазоне от «0» до «4294967295».
Указание частоты регистрации событий для NetFlow, с которой сетевые пакеты будут учитываться в статистике:
set system flow-accounting netflow sampling-rate <rate>где <rate> – частота, с которой будут отбираться пакеты. Учитывается каждый n-ный пакет, где n - значение sampling-rate, настроенное для узла. Возможно указать значение в диапазоне от «0» до «4294967295». По умолчанию используется значение «1».
Указание интервала, через который будут отправляться отчеты коллектору данных NetFlow:
set system flow-accounting netflow timeout expiry-interval <interval>где <interval> – интервал времени, в секундах, через который будут отправляться отчеты коллектору NetFlow. Возможно указать значение в диапазоне от «0» до «2147483647». По умолчанию используется значение «60».
Указание таймаута сетевого потока для трафика IP:
set system flow-accounting netflow timeout flow-generic <timeout>где <timeout> – таймаут для сетевого потока, в секундах, для общего трафика IP. Действует для трафика IP за исключением трафика протоколов TCP, UDP и ICMP. Возможно указать значение в диапазоне от «0» до «2147483647».
Указание таймаута сетевого потока для трафика ICMP:
set system flow-accounting netflow timeout flow-generic <timeout>где <timeout> – таймаут сетевого потока, в секундах, для трафика ICMP. Возможно указать значение в диапазоне от «0» до «2147483647».
Указание максимального интервала времени, в течение которого будет учитываться трафик, относящийся к сетевому потоку:
set system flow-accounting netflow timeout max-active-life <interval>где <interval> – интервал времени, в секундах, определяющий максимальное время учета трафика, относящегося к сетевому потоку любого типа. Возможно указать значение в диапазоне от «0» до «2147483647».
Указание таймаута сетевого потока TCP после получения пакета TCP с флагом FIN:
set system flow-accounting netflow timeout tcp-fin <timeout>где <timeout> – таймаут сетевого потока, в секундах, после получения пакета TCP с флагом FIN. Возможно указать значение в диапазоне от «0» до «2147483647».
Указание таймаута сетевого потока TCP:
set system flow-accounting netflow timeout tcp-generic <timeout>где <timeout> – таймаут для потока TCP, в секундах. Возможно указать значение в диапазоне от «0» до «2147483647».
Указание таймаута сетевого потока TCP после получения пакета TCP с флагом RST:
set system flow-accounting netflow timeout tcp-rst <timeout>где <timeout> – таймаут сетевого потока, в секундах, после получения пакета TCP RST. Возможно указать значение в диапазоне от «0» до «2147483647».
Указание таймаута сетевого потока для трафика UDP:
set system flow-accounting netflow timeout udp <timeout>где <timeout> – таймаут сетевого потока для трафика UDP, в секундах. Возможно указать значение в диапазоне от «0» до «2147483647».
Указание максимального количества потоков, отслеживаемых одновременно:
set system flow-accounting netflow max-flows <number>где <number> – задает максимальное количество потоков системы NetFlow. Возможно указать значение в диапазоне от «0» до «4294967295».
Вывести информацию об учёте потока для данного интерфейса:
admin@ngfwos:~$ show flow-accounting interface <ethN>где <ethN> – имя интерфейса.
Вывести информацию об учёте потока для данного интерфейса только для определённого хоста:
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
Указание IP-адреса агента sFlow:
set system flow-accounting sflow agent-address <address>где <address> – IP-адрес агента sFlow, который будет указан в пакетах, отправляемых коллектору sFlow. Возможно указать следующие значения:
auto - автоматически выбирается IP-адрес одного из настроенных интерфейсов;
<x.x.x.x> - IPv4-адрес.
Указание частоты выборки для статистики sFlow:
set system flow-accounting sflow sampling-rate <rate>где <rate> – частота, с которой будут отбираться пакеты. Учитывается каждый n-ный пакет, где n - значение sampling-rate, настроенное для узла. Возможно указать значение в диапазоне от «0» до «4294967295».
Указание адреса коллектора 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».
Указание исходного 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-адрес, который используется для пинга адреса назначения.