ipcad. Установка и настройка.
ipcad – утилита для экспорта сведений о проходящем трафике. Сведения о трафике отдаются в 2-х форматах. В виде Cisco accounting через rsh и генерируя Cisco NetFlow. Съем сведений о трафике осуществляется преводом интерфейса в promisc режим, или, только под Linuxом, используя интерфейс ulog IPTables. Cisco accounting удобно использовать для подсчета трафика в системах, где нужен оперативный учет, то есть там, где по условиям работы требуется в реальном времени отключать абонентов. NetFlow более удобен для накопления данных и последующего анализа, построение графиков и тп. Связано это с тем, что NetFlow отдает сведения о трафике не по запросу биллинга, а по истечению таймаута накопления. Хотя и тот и другой метод можно использовать для построения биллинга.
Ставим ipcad из портов:
cd /usr/ports/net-mgmt/ipcad/ make install clean
Установка не задает никаких дополнительных вопросов и после сборки, приступаем к настройке. ipcad позволяет одновременно использовать оба метода и более того, использовать сразу несколько коллекторов netgraph.
Файл настроек ipcad /usr/local/etc/ipcad.conf выглядит так:
capture-ports disable; #Снимаем трафик с интерфейса em0 interface em0; #Запрещаем агрегировать адреса в подсети aggregate 0.0.0.0/0 strip 32; #Указываем адрес и порт коллектора 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 rsh enable 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 и в одной из ближайших статей расскажу о его возможностях.



