Это старая версия документа.
Ipn
Модуль для подсчета трафика в локальной сети.
- Позволяет разделять трафик на 65535 классов.
- Возможно разделение трафика по IP-адресам или по портам.
- Блокировка клиентов с отрицательным депозитом.
- Авторизация клиентов через Web-интерфейс или по 802.1х
- Club Monitor - упрощёный мониторинг для компьютерного клуба. Выдача карточек доступа к сети. Печать чеков.
Схема авторизации
Как работает
Модуль получает данные о трафике от внешних коллекторов (trafd, ipcad, Cisco Netflow).
Получив данные от коллектора, система просматривает таблицу активных сессий (/ Monitoring/ Dialup / VPN/) и для них проводит подсчет трафика в зависимости от тарифного плана клиента. Модуль использует тарифные планы, описанные в модуле Dv (Dialup/VPN). Если данные о трафике не принадлежат ни одной из активных сессий, то они складываются в файл /usr/abills/var/log/ipn/unknown_ip.log
при включённой опции UNKNOWN_IP_LOG.
Для получения данных и их подсчёта и складывания в базу используются следующие программы:
- trafdstats - для получения данных от trafd и последующей их обработкой
traffic2sql
- traffic2sql - для получения данных от других коллекторов (Ipcad, flowtools).
Система периодически запускает их из cron.
Авторизация пользователей: При открытии страницы браузером пользователи автоматически попадают на страницу авторизации и только после успешной авторизации могут пользоваться интернетом.
Настройка Abills
(В качестве примера используется машина под управлением FreeBSD)
# cd /usr/abills/libexec/ # ln -s ../Abills/modules/Ipn/trafdstats trafdstats # ln -s ../Abills/modules/Ipn/traffic2sql traffic2sql
Создать таблицы в базе.
# mysql --default-character-set=utf8 -D abills < db/Ipn.sql
abills/libexec/config.pl
@MODULES = ( 'Ipn' );
Опции:
$conf{IPN_DETAIL}=1; | Вести детальную статистику. на сервере где traffic2sql работает |
---|---|
$conf{IPN_DETAIL_MIN_SIZE}=1024; | Задаёт минимальный размер пакета который будет попадать в детализацию. Данная опция предохраняет от замусоривания |
$conf{IPN_DAILY_LOG_ROTATE}=1; | Ротация детализации и логов статистики каждый день. При включённой опции не работает подсёчет пред оплаченного трафика |
$conf{IPN_STATIC_IP}=1; | Использовать только статические адреса. Система проверяет статические адреса всех имеющихся клиентов и присваивает им траффик. Исключая таким образом потери из за переподключений при использовании динамических адресов авторизации. При даной схеме работы трафик в журнал / Monitoring / Online не попадает он складывается непосредственно в статистику пользователя |
$conf{IPN_FILTER}=«/usr/abills/libexec/ipn_filter.sh»; | Полный путь к программе, которая запустится, если у клиента заполнено поле Filter ID. Данная программа запускается после командіпрописанной в $conf{IPN_FW_START_RULE} и $conf{IPN_FW_STOP_RULE}. Программе передаются следующие аргументы %STATUS (ONLINE_ENABLE,ONLINE_DISABLE,HANGUP) %LOGIN %IP %FILTER_ID %PORT %UID в виде аргументов. Также передаются переменные окружения: NAS_IP_ADDRESS NAS_MNG_USER NAS_MNG_IP_PORT Не забывайте, что при ручной активации пользователя программа может выполняться с правами веб-сервера, поэтому лучше её запускать через sudo. Пример: abills/misc/ipn_filter.sh |
$conf{IPN_DETAIL_CLEAN_PERIOD}=30; | Чистить лог детализации каждых 30 дней |
$conf{IPN_USERMENU}=1; | Включить в пользовательском интерфейсе меню открытия доступа |
$conf{IPN_CLUBMONITOR}=1; | Включить клуб монитор. Упрощённый интерфейс мониторинга активных сессий и меню создания карточек доступа |
$conf{IPN_DEPOSIT_OPERATION}=1; | Снимать деньги модулем IPN. При включении этой опции деньги со счёта снимаются в реальном времени после каждого обновления статистики. |
$conf{IPN_FW_FIRST_RULE}=20000; | Номер первого правила в брандмауэре |
$conf{IPN_FW_START_RULE}=«« | Правила для открытия доступа. Программе всегда передаются следующие параметры: %IP - ип адрес %MASK - битная маска (32,24) %NUM - номер правила ($conf{IPN_FW_FIRST_RULE} + (PORT или последняя цифра IP адреса) ) %LOGIN - Логин Примеры: FreeBSD »/usr/local/bin/sudo /sbin/ipfw -q delete %NUM; /usr/local/bin/sudo /sbin/ipfw -q add %NUM allow ip from %IP to any; /usr/local/bin/sudo /sbin/ipfw -q add %NUM allow ip from any to %IP»; Пример с шейпером $conf{IPN_FW_START_RULE}=«/usr/local/bin/sudo /usr/abills/libexec/linkupdown ipn up fxp1 %LOGIN %IP». ' > /dev/null 2>&1;'. «/usr/local/bin/sudo /sbin/ipfw -q add %NUM allow ip from %IP to any; /usr/local/bin/sudo /sbin/ipfw -q add %NUM allow ip from any to %IP»; Linux «/usr/bin/sudo /sbin/iptables -t nat -I PREROUTING 1 -s %IP/%MASK -j ACCEPT; /usr/bin/sudo iptables -I FORWARD 1 -s %IP -d 0/0 -j ACCEPT; /usr/bin/sudo iptables -I FORWARD 1 -s 0/0 -d %IP -j ACCEPT»; |
$conf{IPN_FW_STOP_RULE}=«« | Правила для закрытия доступа. FreeBSD »/usr/local/bin/sudo /sbin/ipfw -q delete %NUM; /usr/local/bin/sudo /sbin/ipfw -q add %NUM deny ip from %IP to any; /usr/local/bin/sudo /sbin/ipfw -q add %NUM deny ip from any to %IP»; Пример с шейпером $conf{IPN_FW_STOP_RULE}=«/usr/local/bin/sudo /usr/abills/libexec/linkupdown ipn down fxp1 %LOGIN %IP». ' > /dev/null 2>&1;'. «/usr/local/bin/sudo /sbin/ipfw -q delete %NUM»; Linux «/usr/bin/sudo /sbin/iptables -t nat -D PREROUTING -s %IP/%MASK -j ACCEPT; /usr/bin/sudo iptables -D FORWARD -s 0/0 -d %IP -j ACCEPT; /usr/bin/sudo iptables -D FORWARD -s %IP -d 0/0 -j ACCEPT»; |
$conf{IPN_FW_RULE_UID}=1; | Использовать UID (ID пользователя в системе) как префикс для создания правил разрешения доступа. Правила создаются следующим образом $conf{IPN_FW_FIRST_RULE} + UID. По умолчанию система в качестве префикса использует 4 байт IP адреса: для 192.168.10.23 - $conf{IPN_FW_FIRST_RULE} + 23. |
Для ОС FreeBSD обязательно включите следующие опции в ядро:
options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_FORWARD options DUMMYNET options IPFIREWALL_VERBOSE options IPDIVERT
Настройка сервера доступа
/ System configuration/ NAS/
Type | ipcad |
---|
/ System configuration/ NAS/ IP POOLs/
Нужно внести пул адресов, с которых можно авторизоваться.
Тарифные планы
Модуль использует тарифную логику модуля Dv (Internet).
- Заводим классы трафика / System configuration/ Internet/ Traffic Calsses. Глобальный класс трафика должен иметь номер 0.
- Заводим тарифные планы в / System configuration/ Internet/ Tarif plans/ .
- В тарифном плане выбираем Intervals. Заводим интервал времени. После заведения интервала времени заводим тарификацию трафика. В тарификации трафика обязательно указывать сети в противном случае модуль не будет вести подсчёт трафика.
Активизация пользователя администратором
/ Customers/ Logins/ Information/ Services/ IP Net/
IP: | IP адрес клиента |
---|---|
NAS: | Сервер доступа. Автоматически выбирается из списка, если IP адрес клиента находится в пуле адресов NAS |
Traffic Collectors
Программы сбора статистики для последующей ее обработки биллингом
trafd
http://bpft4.sourceforge.net/ Коллектор трафика для FreeBSD
# cd /usr/ports/net-mgmt/trafd/ # make # make install
/etc/rc.conf
trafd_enable="YES" trafd_ifaces="rl0"
/etc/crontab
*/5 * * * * root /usr/abills/libexec/trafdstats 1 rl0
flow-tools
ipcad
Установка на FreeBSD и Debian
Запуск скрипта обработки статистики
/etc/crontab
*/5 * * * * root /usr/abills/libexec/traffic2sql 8 flowdir=/usr/abills/var/log/ipn/
Если у Вас несколько NAS-серверов (коллекторов траффика), то для каждого нужно создать отдельную папку для логов.
Cisco
(aka kir)
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)
Для блокировки и открытия доступа можно использовать скрипт
# /usr/abills/misc/cisco_access ACTION - Allow/Deny IP - Client IP debug - Make debug log
/usr/local/etc/sudoers
www ALL = NOPASSWD: /usr/abills/misc/cisco_access
Контроль доступа и нарезка трафика
При включении сессии выполняется правило указанное в конфигурационном файле (config.pl) $conf{IPN_FW_START_RULE} при завершении $conf{IPN_FW_STOP_RULE}. Система данным командам передаёт следующие атрибуты
%IP | IP адрес клиента |
%MASK | битная маска (32,24) |
%NUM | номер правила ($conf{IPN_FW_FIRST_RULE} + (PORT или последняя цифра IP адреса) ) |
%LOGIN | Логин |
%SPEED_IN | входящая скорость |
%SPEED_OUT | исходящая скорость |
а также переменные окружения
NAS_IP_ADDRESS | IP адрес сервера доступа |
NAS_MNG_USER | Пользователь для управления сервером доступа |
NAS_MNG_IP_PORT | IP:PORT управления сервером доступа |
NAS_ID | Номер сервера доступа |
NAS_TYPE | Тип сервера доступа |
В качестве шейпера удобно использовать /usr/abills/libexec/linkupdown.
- Пример правила открытия доступа
abills/libexec/config.pl
$conf{IPN_FW_START_RULE}='SUDO=/usr/local/bin/sudo; CMD="${SUDO} /usr/abills/libexec/linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&1"; if [ "${NAS_TYPE}" = "mikrotik" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} NAS_ADMIN=${NAS_MNG_USER}"; elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; eval "${CMD}"'; $conf{IPN_FW_STOP_RULE}='SUDO=/usr/local/bin/sudo; CMD="${SUDO} /usr/abills/libexec/linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&1"; if [ "${NAS_TYPE}" = "mikrotik" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} NAS_ADMIN=${NAS_MNG_USER}"; elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; eval "${CMD}"';
Для типа сервера - mikrotik-dhcp:
$conf{IPN_FW_START_RULE}='SUDO=/usr/local/bin/sudo; CMD="${SUDO} /usr/abills/libexec/linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&1"; if [ "${NAS_TYPE}" = "mikrotik_dhcp" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} NAS_ADMIN=${NAS_MNG_USER}"; elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; eval "${CMD}"'; $conf{IPN_FW_STOP_RULE}='SUDO=/usr/local/bin/sudo; CMD="${SUDO} /usr/abills/libexec/linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&1"; if [ "${NAS_TYPE}" = "mikrotik_dhcp" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} NAS_ADMIN=${NAS_MNG_USER}"; elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; eval "${CMD}"';
Также внизу указано настройка дополнительных параметров для разных операционных систем и удалённых серверов доступа
FreeBSD
Управление доступом, шейпером и переинициализация сессий при перезагрузке сервера осуществляется программой /usr/local/etc/rc.d/shaper_start.sh
параметры /etc/rc.conf
abills_shaper_enable=«YES» | Поднятие правил шейпера при перезапуске системы |
---|---|
abills_ipn_nas_id=«Номер IPN наса» | Номер сервера доступа. Обязательный параметр |
abills_ipn_if=«интерфейс к которому подключаются пользователи» | Интерфейс к которому подключаются клиенты |
abills_ipn_allow_ip=«разрешённые ип адреса» | Разрешённые без авторизации IP адреса. Разделяются запятой |
abills_nat=«xx.xx.xx.xx:10.0.0.0/16:interface» | Если нужно использовать NAT |
При использовании шейпера ipfw система по умолчанию использует правила с номера 20000 по 40000. Для изменения номера начального правила можно воспользоваться опцией $conf{IPN_FW_FIRST_RULE}.
sudo
Установка sudo, для запуска правил фаервола от имени пользователя, под которым работает WEB сервер. freebsd:
# cd /usr/ports/security/sudo # make # make install
/usr/local/etc/sudoers
#Allow ABillS shapper www ALL = NOPASSWD: /usr/abills/libexec/linkupdown www ALL = NOPASSWD: /sbin/ipfw
Linux
Скрипт которые подготавливает интерфейс для использования шейпера и устанавливает контроль доступа .
/etc/rc.d/init.d/shaper_start.sh
/etc/rc.conf
abills_shaper_enable="YES" abills_ipn_if="eth0,eth2" abills_nat_enable=":192.168.0.0/24:eth1"
eth0,eth2 | интерфейс в локальную сеть к которому подключены пользователи |
---|---|
eth1 | интерфейс наружу |
192.168.0.1 | локальный IP сервера |
192.168.0.0/255.255.255.0 | локальная сеть |
или альтернативный скрипт
#!/bin/sh # При использовании нескольких интерфейсов указываем их через пробел INTERFACES='eth0 eth2'; TC="/sbin/tc" for INTERFACE in ${INTERFACES}; do TCQA="${TC} qdisc add dev ${INTERFACE}" TCQD="${TC} qdisc del dev ${INTERFACE}" $TCQD root &>/dev/null $TCQD ingress &>/dev/null $TCQA root handle 1: htb $TCQA handle ffff: ingress echo "Shaper UP ${INTERFACE}" done # Доступ к странице авторизации /sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 80 /sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-ports 80 # Закрыть доступ неактивизированым хостам /sbin/iptables -A FORWARD -j DROP
sudo
/etc/sudoers
#Allow ABillS shapper apache ALL = NOPASSWD: /usr/abills/libexec/linkupdown apache ALL = NOPASSWD: /sbin/iptables
Удалённый NAS
Управление удалённым сервером доступа.
Задача: открывать доступ пользователям на удалённом NAS.
При выполнении правил шейпера и фильтра в переменные среды передаются дополнительные параметры:
NAS_IP_ADDRESS | IP адрес сервера доступа |
---|---|
NAS_MNG_IP_PORT | адрес управления сервером доступа |
NAS_MNG_USER | Логин для управления сервером доступа |
NAS_MNG_PASSWORD | Пароль для управления сервером доступа |
NAS_TYPE | Тип сервера доступа |
NAS_ID | Тип сервера доступа |
система автоматически определяет по переменной окрежения NAS_MNG_IP_PORT при старте сесии выполнять данную команду локально или на удалённом сервере
На сервере биллинга
- Создать SSH ключ для выполнения команд на удалённом сервере. Установить право чтения ключа для пользователя под которым работает Веб сервер.
# abills/misc/certs_create.sh ssh abills_admin
На удалённом сервере
- Создать пользователя abills_admin на удалённом сервере.
- Скопировать созданный публичный ключ abills/Certs/id_dsa.abills_admin.pub в /home/abills_admin/.ssh/authorized_keys на удалённом сервере.
- Сделать копию биллинга на удалённом сервере
- Создать правила для выполнения команд с правами суперпользователя на удалённом сервере
/usr/local/etc/sudoers
#Allow ABillS shapper abills_admin ALL = NOPASSWD: /usr/abills/libexec/linkupdown abills_admin ALL = NOPASSWD: /sbin/ipfw
Apache
В конфиг веб-сервера Apache внесите следующие параметры
ErrorDocument 404 “/abills/” DirectoryIndex "/abills" index.cgi
Club Monitor
Упрощёный интерфейс управления траффиком компьютерного клуба.
Для включения.
config.pl
$conf{IPN_CLUBMONITOR}=1;
traffic2sql
ABillS IPN Traffic collector
Анализатор трафика для модуля IPN
Запуск скрипта обработки статистики /etc/crontab
*/5 * * * * root /usr/abills/libexec/traffic2sql [NAS_IDS] flowdir=/usr/abills/var/log/ipn/
Параметры:
traffic2sql [NAS_IDS] [Options]
Опции:
NAS_IDS | ID (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 | Вносить все даные одной транзакцией (ускоряет работу) |
Периодические процессы
# /usr/abills/libexec/periodic monthly MODULES=Ipn
Дополнительные параметры:
IPN_SKIP_SESSION_RESTART=1 | Не переинициализировать сессии при месячном периодике. Данная опция полезна при работе с удалёнными серверами доступа чтобы биллинг не тратил время на переинициализацию сессии. На удалённых серверах стоит сделать /etc/crontab /etc/crontab 1 2 * * * root /usr/abills/libexec/periodic monthly MODULES=Ipn SRESTART=1 NO_ADM_REPORT=1 NAS_IDS=xxx |
---|---|
SRESTART=1 | Переинициализировать активных абонентов |
LOGON_ACTIVE_USERS=1 | Активировать активных пользователей |
NAS_IDS=1,2 | Список серверов доступа |
LOGIN= | Логины |
DEBUG= | Режим отладки |
Переинициализация сессий
В начале каждого месяца происходит автоматическая переинициализация активных сессий клиентов.
Для ручного режима переинициализации сессий используется команда
# /usr/abills/libexec/periodic monthly MODULES=Ipn SRESTART=1 NO_ADM_REPORT=1 NAS_IDS=1
Параметры:
NAS_IDS=1,2 | Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом 'ipcad' |
---|---|
TP_ID=3,6 | Номера тарифных планов для активации. По умолчанию все |
LOGIN=test,test3 | Логины пользователей. По умолчанию все |
GID=1 | Группы пользователей |
IP=xx.xx.xx.xx | IP активной сессии |
Включение активных пользователей
Данная команда автоматически включает всех пользователей с положительным депозитом или правами получать сервис. Активируются только те пользователи у которых прописан IP адрес сервиса Internet. Также обязательно на IPN серверах доступа прописать пулы адресов для таких пользователей чтобы система знала на каких серверах доступа активировать абонентов.
# /usr/abills/libexec/periodic monthly MODULES=Ipn LOGON_ACTIVE_USERS
Параметры:
NAS_IDS=1,2 | Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом 'ipcad' |
---|---|
TP_ID=3,6 | Номера тарифных планов для активации. По умолчанию все |
LOGIN=test,test3 | Логины пользователей. По умолчанию все |
GID=1 | Группы пользователей |
DEBUG=… | Дебаг режимы 1-4 Детализация процесса 5 - Отображать команды на выполнение 6 - Отображать команды но не выполнять |
config.pl
$conf{IPN_DHCP_ACTIVE}=1; | Включать сервис для всех IP адресов прописанных в IP (DHCP) секции абонента. С начало включаются адреса Internet сервиса если они не равны 0.0.0.0, а потом адреса IP сервиса. |
---|
Активация пользователя
Система разрешает пользоваться интернетом только пользователей у которых активизированы сессии. Активизация сесий пользователей может происходить двумя путями: активизация сессии администратором, активизация сессии из пользовательского кабинета.
- Активизация сессии администратором
Таблица внизу отображает активные сессии пользователя
- Активизация сессии пользователям. При активации сессии система автоматически определяет принадлежность пользователя к серверу доступа исходя из IP адреса клиента и пула прикреплённому серверу доступа.
Активация абонента в личном кабинете
Ошибки активации
Отчёты
- Детализация трафика - Детализация трафика абонентов
- FT queue - отчёт обработки файлов трафика
- Неизвестный IP - Лог неучтённого трафика
Детализация трафика на отдельный сервер
В системе предусмотрена возможность ведения детализации трафика и запись его в отдельную базу данных или на отдельный сервер.
для включения это возможности нужно указать переменные доступа к базе детализации
$conf{IPN_DBHOST}='locahost'; $conf{IPN_DBNAME}='abills_details'; $conf{IPN_DBUSER}='abills_details'; $conf{IPN_DBPASSWD}='sqlpassword';
и завести базу детализации
# mysql
вносим параметры доступа и таблицу
GRANT ALL ON abills_details.* TO `abills_details`@localhost IDENTIFIED BY "sqlpassword"; CREATE DATABASE abills_details DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; use abills_details; CREATE TABLE `ipn_traf_detail` ( `src_addr` int(11) unsigned NOT NULL default '0', `dst_addr` int(11) unsigned NOT NULL default '0', `src_port` smallint(5) unsigned NOT NULL default '0', `dst_port` smallint(5) unsigned NOT NULL default '0', `protocol` tinyint(3) unsigned default '0', `size` int(10) unsigned NOT NULL default '0', `f_time` datetime NOT NULL default '0000-00-00 00:00:00', `s_time` datetime NOT NULL default '0000-00-00 00:00:00', `nas_id` smallint(5) unsigned NOT NULL default '0', `uid` int(11) unsigned NOT NULL default '0' ) COMMENT='Ipn detail log traffic class'; quit;