ipcad – утилита для экспорта сведений о проходящем трафике. Сведения о
трафике отдаются в 2-х форматах. В виде Cisco accounting через rsh и
генерируя Cisco NetFlow. Съем сведений о трафике осуществляется преводом
интерфейса в promisc режим, или, только под Linuxом, используя
интерфейс ulog IPTables. Cisco accounting удобно использовать для
подсчета трафика в системах, где нужен оперативный учет, то есть там,
где по условиям работы требуется в реальном времени отключать абонентов.
NetFlow более удобен для накопления данных и последующего анализа,
построение графиков и тп. Связано это с тем, что NetFlow отдает сведения
о трафике не по запросу биллинга, а по истечению таймаута накопления.
Хотя и тот и другой метод можно использовать для построения биллинга.
Ставим ipcad из портов:
cd/usr/ports/net-mgmt/ipcad/ makeinstall clean
Установка не задает никаких дополнительных вопросов и после сборки,
приступаем к настройке. ipcad позволяет одновременно использовать оба
метода и более того, использовать сразу несколько коллекторов netgraph.
Файл настроек ipcad /usr/local/etc/ipcad.conf выглядит так:
capture-ports disable; #Снимаем трафик с интерфейса em0 interface em0; #Запрещаем агрегировать адреса в подсети aggregate 0.0.0.0/0strip32; #Указываем адрес и порт коллектора netflow netflow export destination 89.252.34.107 8787; netflow export version 5; # используем версию 5 netflow netflow timeout active 30; # Timeout when flow is active, in minutes netflow timeout inactive 15; netflow engine-type 73; netflow engine-id 1; # Для каждого сервера отливающего netflow желательно ставить уникальный номер #Включаем rsh сервер на адресе 89.252.34.110 rshenable at 89.252.34.110; #Разрешаем соединяться с админскими правами пользователю root с адреса 89.252.34.107 rsh root@89.252.34.107 admin; #Временный файл в который сохраеняются сведения, которые не успел ipcad отдать dumpfile = /tmp/ipcad.dump; pidfile = /var/run/ipcad.pid; memory_limit = 1m;
Теперь остается разрешить запуск и стартануть ipcad.
echo'ipcad_enable="YES"'>>/etc/rc.conf
и запустим ipcad:
/usr/local/etc/rc.d/ipcad start
Настройку мы закончили, остается теперь снимать сведения о трафике.
Для работы с rsh нам ничего особо не потребуется. rsh входим в базовую
поставку FreeBSD и с его помощью можно получить информацию. Для этого с
хоста 89.252.34.107 мы выполняем такую команду:
rsh 89.252.34.107 clear ip accounting
Это мы переместили информацию от трафике в checkpoint. Следующим
делом получаем информацию из checkpoint(новая статистика уже
накапливается):
rsh 89.252.34.107 show ip accounting checkpoint
И теперь после того, как мы посчитаем или запишем в базу сведения по
трафику, можно очистить checkpoint:
rsh 89.252.34.107 clear ip accounting checkpoint
И теперь операцию по снятию информации можно повторить. В общем
написать скрипт который будет в цикле снимать показания не сложно.
Теперь к вопросу о NetFlow, как я уже говорил netflow собирается
коллектором, а потом анализируется и обрабатывается. В качестве
коллектора может выступать flow-tools или ehnt или любой другой
анализатор. Я работаю с flow-tools и в одной из ближайших статей
расскажу о его возможностях.
Буду рад комментариям, постараюсь ответить на вопросы. Заходите на сайт http://www.hilik.org.ua/