NetFlow представляет собой продвинутую систему сбора статистики о трафике на интерфейсах оборудования Cisco (эта технология разработана самой Cisco).
Система состоит из http-сервера, работающего по умолчанию на порту TCP 8080 (к нему подсоединяются браузером для просмотра отчётов и администрирования), и сервера для сбора статистики, работающего по умолчанию на порту UDP 9996. Поскольку написаны оба сервера на Java, то требования к памяти сервера довольно высокие - не меньше 1 Gb (у меня beta-версия 5, установленная на w2k Professional отъедала около 700-800 мегабайт вместе с операционной системой). Установка (и, между прочим, удаление) самой системы NetFlow большой проблемы не создаёт, не требуется даже перезагрузка. Лучше на этапе установки поставить галочку "установить NetFlow как сервис", тогда сервером смогут пользоваться все, не нужно будет логиниться и запускать программу.
Для того чтобы сервер смог собирать статистику с оборудования, на каждом из устройств Cisco нужно настроить flow-экспорт данных трафика. Эта процедура состоит из двух шагов.
1. На каждом сетевом интерфейсе, с которого будет осуществляться сбор статистики, нужно прописать следующее (предполагается, что мы уже зашли командами conf t/ interface {interface} {interface_number}):
router(conf-if)#ip route-cache flow router(conf-if)#bandwidth router(conf-if)#exit
Лучше всего сконфигурировать это сразу на двух интерфейсах роутера, тогда ManageEngine NetFlow Analyzer будет корректно показывать и входящий, и исходящий трафик. Команда bandwidth, указывающая пропускную способность в килобитах/сек не обязательна, но желательна - она используется в дальнейшем для построения %-ных отчётов и графиков загрузки канала интерфейса.
2. Настройка для роутера в целом сервера сбора трафика (наш компьютер, на котором вертится NetFlow Analyzer). Для этого в конфигурацию добавляются как минимум следующие команды:
router(config)#ip flow-export destination {hostname|ip_address} 9996
Здесь hostname|ip_address и порт как раз указывают на наш сервер NetFlow Analyzer
router(config)#ip flow-export version 5
Эта команда может иметь подопции (peer-as или origin-as). Их назначение пока непонятно, и я не стал их указывать. Остальные команды шага 2 можно не указывать.
Привожу все команды без изменений в английском варианте.
ip flow-export destination {hostname|ip_address} 9996 Exports the Netflow cache entries to the specified IP address. Use the IP address of the NetFlow Analyzer server and the configured Netflow listener port. The default port is 9996. ip flow-export source {interface} {interface_number} Sets the source IP address of the Netflow exports sent by the device to the specified IP address. NetFlow Analyzer will make SNMP requests of the device on this address. ip flow-export version 5 [peer-as | origin-as] Sets the Netflow export version to version 5. NetFlow Analyzer supports only version 5 and version 7. If your router uses BGP you can specify that either the origin or peer AS is included in exports - it is not possible to include both. ip flow-cache timeout active 1 Breaks up long-lived flows into 1-minute fragments. You can choose any number of minutes between 1 and 60. If you leave it at the default of 30 minutes your traffic reports will have spikes. ip flow-cache timeout inactive 15 Ensures that flows that have finished are periodically exported. The default value is 15 seconds. You can choose any number of seconds between 10 and 600. However, if you choose a value greater than 250 seconds, NetFlow Analyzer may report traffic levels that are too low. snmp-server ifindex persist Enables ifIndex persistence (interface names) globally. This ensures that the ifIndex values are persisted during device reboots. Пример: Шаг 1. ip route-cache flow bandwidth 2000 bandwidth 100000 Шаг 2. no ip flow-export destination aaa.bbb.cc1.dd1 9996 no ip flow-export destination aaa.bbb.cc2.dd2 9996 ip flow-export destination aaa.bbb.cc3.dd3 9996 ip flow-export destination aaa.bbb.cc4.dd4 9996 ip flow-export version 5 router(config)#interface FastEthernet0/0 router(config-if)#ip route-cache flow router(config-if)#bandwidth 100000 router(config-if)#exit router(config)#interface Serial0/0:1 router(config-if)#ip route-cache flow router(config-if)#bandwidth 2000 router(config-if)#exit router(config)#ip flow-export destination aaa.bbb.cc3.dd3 9996 router(config)#ip flow-export destination aaa.bbb.cc4.dd4 9996 router(config)#ip flow-export version 5 router(config)#exit router#write Выпущена новая версия коллектора NetFlow статистики ndsad для маршрутизаторов под FreeBSD, Linux и Windows http://www.linux.org.ru/view-message.jsp?msgid=1174055 ndsad позволяет собирать статистику трафика с интерфейса PC (на Windows, Linux, FreeBSD) и отсылать на выбранный сервер NetFlow v. 5.
Установка под Windows:
1. Скачиваем с http://downloads.sourceforge.net/ndsad/NDSAD_setup_1_33.exe?modtime=1140543154&big_mirror=0, файл NDSAD_setup_1_33.exe.
2. Устанавливаем, появляется служба Netup NDSAD Service ("C:\Program Files\NetUP_UTM5_ndsad\ndsad.exe" --service), а также служба Remote Packet Capture Protocol v.0 (experimental) ("C:\Program Files\WinPcap\rpcapd.exe" -d -f "C:\Program Files\WinPcap\rpcapd.ini").
3. Запускаем службу Remote Packet Capture Protocol v.0 (experimental), удостоверяемся, что состояние запуска в "Automatic".
4. Правим файл C:\WINNT\system32\notepad.exe C:\Program Files\NetUP_UTM5_ndsad\ndsad.conf
- ip a.b.100.77 (адрес сервера, который принимает статистику NetFlow) - port 9996 (порт сервера, принимающего статистику) - force 10.50.9.152 (указываем IP адаптера, который будет предоставлять статистику своего трафика) другие варианты: force eth force \Device\NPF_{96BC9281-6886-4D42-B353-367B4DCA9AF4}
Примечание: Параметр \Device\NPF_{96BC9281-6886-4D42-B353-367B4DCA9AF4} можно выудить из реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\1 параметр ServiceName, значение {96BC9281-6886-4D42-B353-367B4DCA9AF4} или из реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{96BC9281-6886-4D42-B353-367B4DCA9AF4} или из ndsad.log, где это выглядит как \Device\NPF_{96BC9281-6886-4D42-B353-367B4DCA9AF4} - log ndsad.log (лог будет писаться в файл C:\Program Files\NetUP_UTM5_ndsad\ndsad.log)
5. Изменяем свойства службы Netup NDSAD Service - Start parameters: меняем на -c "C:\Program Files\NetUP_UTM5_ndsad\ndsad.conf" (прописываем полный путь до конфига). или на -c ndsad.conf Запускаем службу, удостоверяемся, что состояние запуска в "Automatic".
Когда статистика роутера появляется в NetFlow, то она привязана к интерфейсам роутера. Эти интерфейсы видны под странными именами IfIndexN, где N-цифра. Какой реально это интерфейс на роутере, сразу непонятно:
Прояснить ситуацию может команда show snmp mib ifmib ifindex:
router#show snmp mib ifmib ifindex FastEthernet0: Ifindex = 1 Null0: Ifindex = 6 FastEthernet1: Ifindex = 2 Vlan1: Ifindex = 7 FastEthernet2: Ifindex = 3 FastEthernet3: Ifindex = 4 FastEthernet4: Ifindex = 5 Tunnel160: Ifindex = 8 |