The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

NG_NETFLOW - Руководство по интерфейсам ядра FreeBSD (netflow traffic freebsd netgraph)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: netflow, traffic, freebsd, netgraph,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-12 10:38:44 Subject: NG_NETFLOW - Руководство по интерфейсам ядра FreeBSD

Имя

ng_netflow -- реализация протокола Cisco NetFlow

Применение

Описание

Нода ng_netflow реализует протокол Cisco NetFlow на маршрутизаторах, работающих под управлением FreeBSD. Нода ng_netflow прослушивает входящий трафик и идентифицирует в нем уникальные потоки. Потоки идентифицируются по IP адресам конечных точек, портам TCP/UDP, ToS и индексу входного интерфейса. Потоки экспортируются из ноды в формате NetFlow version 5. Причиной экспорта могут быть следущие события:

Крючки (HOOKS)

Эта нода поддерживает максимальное число крючков, равное NG_NETFLOW_MAXIFACES. Они обозначаются iface0, iface1 и т.д. В добавок существует еще один крючок, называемый export. Нода читает данные из крючков iface* и посылает данные на крючок export. Крючок export подсоединяется к крючкам inet/dgram/udp ng_ksocket(4).

Управляющие сообщения

Нода поддерживает стандартные управляющие сообщения. Дополнительные команды:

NGM_NETFLOW_INFO

Возвращает статистику работы ноды и значения таймаутов в struct ng_netflow_info.

NGM_NETFLOW_IFINFO

Возвращает информацию о крючке ifaceN. В качестве аргумента принимает номер крючка.

NGM_NETFLOW_SETDLT

Устанавливает тип данных на крючке ifaceN. В настоящее время поддерживаются raw IP datagrams и Ethernet. В качестве аргумента используется struct ng_netflow_setdlt: Запрашиваемый крючок ifaceN должен быть присоединен, в противном случае возвращается сообщение об ошибке.

NGM_NETFLOW_SETIFINDEX

В некоторых случаях ng_netflow не способен определить входящий интерфейс пакета. Это может случиться, если трафик попадает в ноду ng_netflow перед тем, как попасть в очередь интерфейса. Для примера, это может случиться при отслеживании трафика между синхронной линией и ng_iface(4). В этом случае, входящий индекс связывается с этим крючком. Индекс интерфейса может быть определен через if_nametoindex(3) из пользовательского окружения. В качестве аргумента принимается struct ng_netflow_setifindex: Запрашиваемый крючок ifaceN должен быть присоединен, в противном случае возвращается сообщение об ошибке.

NGM_NETFLOW_SETTIMEOUTS

Устанавливает значение таймаутов в секундах. В качестве аргумента требует struct ng_netflow_settimeouts :

NGM_NETFLOW_SHOW

Это управляющее сообщение указывает ноде сформировать дамп записей кэша потока. Оно вызывается из flowctl(8), в отличии от остальных, вызываемых из ngctl(8).

Управляющие сообщения ASCII

У бинарных управляющих сообщений есть ASCII аналоги. Поддерживаемыми ASCII командами являются:

Отключение

Ноду можно отключить, послав управляющее сообщение NGM_SHUTDOWN. Отключение так же происходит при отсутствии подключенных крючков(hook).

Примеры

Самая простая из возможных - конфигурация с одним интерфейсом Ethernet, где и осуществляется прослушивание потока. Рассмотрим более сложный пример. Маршрутизатор с двумя интерфейсами: fxp0 и ng0, на которых включена поддержка NetFlow. Обратите внимание, что нода ng0, в этом примере, подсоединена к ng_tee(4).

Смотри также

netgraph(4), ng_ksocket(4), ng_tee(4), ngctl(8), http://www.cisco.com/warp/public/cc/pd/iosw/ioft/neflct/tech/napps_wp.htm.

Авторы

Нода ng_netflow была написана Глебом Смирновым <glebius@FreeBSD.org> , и базируется на ng_ipacct Романа Палагина <romanp@unshadow.net> .

Ошибки

Нода ng_netflow не показывает информацию о номере AS. Это происходит из-за недостатка информации в таблице маршрутизации ядра. Однако, эта информация может быть введена в ядро от демона маршрутизации типа GNU Zebra. Возможно, эти функциональные возможности будут доступны в следующих релизах.

Перевод: Сгибнев Михаил

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру