Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Программа сбора статистики для последующей ее обработки биллингом.

Table of Contents

flow-tools

Установка flow-tools

ipcad

Установка на FreeBSD и Debian

Запуск скрипта обработки статистики
/etc/crontab

Code Block
languagebash
 */510 * * * * root /usr/abills/libexec/traffic2sql 8 flowdir=/usr/abills/var/log/ipn/

Если у Вас несколько NAS-серверов (коллекторов трафика), то для каждого нужно создать отдельную папку для логов.

Cisco

(aka kir)

Code Block
languagebash
no ip rcmd domain-lookup
ip rcmd rsh-enable
ip rcmd remote-host firewall 192.168.0.1  root enable
!
ip flow-export source FastEthernet0/1
ip flow-export version 5
ip flow-export destination 192.168.0.1 9996
!
access-list 100 permit 172.19.80.0 0.0.0.255 192.168.0.1
- Разрешаем прохождение пакетов на сервер статистики
access-list 100 dynamic ABILS permit IP any any
- Динамические правила будут добавляться тут
access-list 100 deny ip any any
Если правила нет, доступ пользователю по умолчанию закрыт!
!
interface FastEthernet0/1.21
 ip address 192.168.0.1 255.255.255.0
 ip access-group 100 in
Не забываем привязать группу правил к интерфейсу!
!

192.168.0.1 - Адрес коллектора для потока Netflow (flow-tools)

Для блокировки и открытия доступа можно использовать скрипт

Code Block
languagebash
/usr/abills/misc/cisco_access
   ACTION - Allow/Deny
   IP     - Client IP
   debug  - Make debug log

/usr/local/etc/sudoers

Code Block
languagebash
www   ALL = NOPASSWD: /usr/abills/misc/cisco_access


traffic2sql

ABillS IPN Traffic collector
Анализатор трафика для модуля IPN

Так как программа анализирует пришедшие за 5 миунт пакеты, и потом складывает их в базу при использовании динамических адресов система может не успеть внести трафик последних 5 минут перед разрывом сессии.


Запуск скрипта обработки статистики /etc/crontab

Code Block
languagebash
*/5 * * * * root /usr/abills/libexec/traffic2sql [NAS_IDS] flowdir=/usr/abills/var/log/ipn/

Параметры:

Code Block
languagebash
traffic2sql [NAS_IDS] [Options]

Пример вызова для серверов с ID 1,2,3:

Code Block
languagebash
/usr/abills/libexec/traffic2sql 1,2,3 flowdir=/usr/abills/var/log/ipn/

Опции:

NAS_IDSID (NAS) серверов доступа. Формат: 1,2,3 или 1-100
logРасположение файла трафика для trafd
INTERFACEИнтерфейс для trafd
flowdirКаталог, в который складываются файлы работы flow-capture
FLOWTOOLS_IP_AGGREGATIONАгрегация потоков по IP адресам. Поднимает скорость анализа.
FLOWTOOLS_FT_BACKUP=dirПереносить проанализированные файлы в бекапный каталог. Используется для отладки
DEBUGРежим отладки (1..6) режим 5 и 6 В БАЗУ ДАННЫЕ НЕ ВНОСИТ
DETAIL_ONLYСкладывать в базу только детализацию для активных клиентов (присутствующих в /Monitoring), сам подсчет трафика и ведение сессий не производится
UNKNOWN_IP_LOGВключить учёт адресов, не относящихся к активным пользователям
TCOLLECTORРежим глобального коллектора. Складывать весь трафик, полученный от коллектора
AMON_ALIVEИнтервал получения подтверждения активности от AMon. Интервал задаётся в секундах (Значение по умолчанию 120). Если на протяжении 3 интервалов не пришло ни одного пакета активности система закрывает соединение.
daemonРежим демона (пока в разработке)
FLOW_CATМестоположение Flow tools flow-cat
FLOW_PRINTМестоположение Flow tools flow-print
PREPAID_STOREИспользования отдельной таблицы для хранения значений предоплаченного трафика. Поднимает скорость анализа.
VIRUS_ALERT=1000Опция разрешает отслеживать заражённые хосты, которые рассылаю вирусы. В данной опции указывается количество мелких пакетов размером до 150 байт за единицу времени, при котором хост попадает в чёрный список
LOG_FILE='…'Файл ведения лога работы анализатора
TRANSACTION=1Вносить все данные одной транзакцией (ускоряет работу)