Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:modules:ipn:ru [2016/03/08 16:05] asmodeus [Детализация трафика на отдельный сервер] |
abills:docs:modules:ipn:ru [2017/12/11 15:12] (текущий) anton [traffic2sql] |
||
---|---|---|---|
Строка 108: | Строка 108: | ||
^$conf{IPN_USERMENU}=1; | Включить в пользовательском интерфейсе меню открытия доступа | | ^$conf{IPN_USERMENU}=1; | Включить в пользовательском интерфейсе меню открытия доступа | | ||
^$conf{IPN_CLUBMONITOR}=1; | Включить клуб монитор. Упрощённый интерфейс мониторинга активных сессий и меню создания карточек доступа| | ^$conf{IPN_CLUBMONITOR}=1; | Включить клуб монитор. Упрощённый интерфейс мониторинга активных сессий и меню создания карточек доступа| | ||
+ | ^$conf{IPN_DAILY_RESTART}=1; |Рестартовать сессии каждый день | | ||
^$conf{IPN_DEPOSIT_OPERATION}=1; | Снимать деньги модулем IPN. При включении этой опции деньги со счёта снимаются в реальном времени после каждого обновления статистики.| | ^$conf{IPN_DEPOSIT_OPERATION}=1; | Снимать деньги модулем IPN. При включении этой опции деньги со счёта снимаются в реальном времени после каждого обновления статистики.| | ||
^$conf{IPN_FW_FIRST_RULE}=20000; | Номер первого правила в брандмауэре | | ^$conf{IPN_FW_FIRST_RULE}=20000; | Номер первого правила в брандмауэре | | ||
Строка 265: | Строка 266: | ||
CMD="${SUDO} /usr/abills/libexec/linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&1"; | 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}"; | 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; | + | elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_rsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; |
eval "${CMD}"'; | eval "${CMD}"'; | ||
Строка 271: | Строка 272: | ||
CMD="${SUDO} /usr/abills/libexec/linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&1"; | 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}"; | 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; | + | elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_rsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; |
eval "${CMD}"'; | eval "${CMD}"'; | ||
</code> | </code> | ||
Строка 281: | Строка 282: | ||
if [ "${NAS_TYPE}" = "mikrotik_dhcp" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} | 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}"; | 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} | + | elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_rsa.${NAS_MNG_USER} |
${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; | ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; | ||
eval "${CMD}"'; | eval "${CMD}"'; | ||
Строка 289: | Строка 290: | ||
if [ "${NAS_TYPE}" = "mikrotik_dhcp" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} | 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}"; | 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} | + | elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_rsa.${NAS_MNG_USER} |
${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; | ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi; | ||
eval "${CMD}"'; | eval "${CMD}"'; | ||
Строка 399: | Строка 400: | ||
- Создать пользователя abills_admin на удалённом сервере. | - Создать пользователя abills_admin на удалённом сервере. | ||
- | - Скопировать созданный публичный ключ **abills/Certs/id_dsa.abills_admin.pub** в **/home/abills_admin/.ssh/authorized_keys** на удалённом сервере. | + | - Скопировать созданный публичный ключ **abills/Certs/id_rsa.abills_admin.pub** в **/home/abills_admin/.ssh/authorized_keys** на удалённом сервере. |
- Сделать копию биллинга на удалённом сервере | - Сделать копию биллинга на удалённом сервере | ||
- Создать правила для выполнения команд с правами суперпользователя на удалённом сервере | - Создать правила для выполнения команд с правами суперпользователя на удалённом сервере | ||
Строка 440: | Строка 441: | ||
Параметры: | Параметры: | ||
traffic2sql [NAS_IDS] [Options] | traffic2sql [NAS_IDS] [Options] | ||
+ | \\ | ||
+ | **Пример вызова для серверов с ID 1,2,3:** | ||
+ | <code> | ||
+ | /usr/abills/libexec/traffic2sql 1,2,3 flowdir=/usr/abills/var/log/ipn/ | ||
+ | </code> | ||
Опции: | Опции: | ||
Строка 448: | Строка 454: | ||
^ FLOWTOOLS_IP_AGGREGATION | Агрегация потоков по IP адресам. Поднимает скорость анализа. | | ^ FLOWTOOLS_IP_AGGREGATION | Агрегация потоков по IP адресам. Поднимает скорость анализа. | | ||
^ FLOWTOOLS_FT_BACKUP=dir | Переносить проанализированные файлы в бекапный каталог. Используется для отладки. | | ^ FLOWTOOLS_FT_BACKUP=dir | Переносить проанализированные файлы в бекапный каталог. Используется для отладки. | | ||
- | ^ debug | Режим отладки (1..6) **режим 5 и 6 В БАЗУ ДАННЫЕ НЕ ВНОСИТ** | | + | ^ DEBUG | Режим отладки (1..6) **режим 5 и 6 В БАЗУ ДАННЫЕ НЕ ВНОСИТ** | |
^ DETAIL_ONLY | Складывать в базу только детализацию для активных клиентов (присутствующих в /Monitoring), сам подсчет трафика и ведение сессий не производится. | | ^ DETAIL_ONLY | Складывать в базу только детализацию для активных клиентов (присутствующих в /Monitoring), сам подсчет трафика и ведение сессий не производится. | | ||
^ UNKNOWN_IP_LOG | Включить учёт адресов, не относящихся к активным пользователям | | ^ UNKNOWN_IP_LOG | Включить учёт адресов, не относящихся к активным пользователям | | ||
Строка 492: | Строка 498: | ||
====Включение активных пользователей==== | ====Включение активных пользователей==== | ||
- | Данная команда автоматически включает всех пользователей с положительным депозитом или правами получать сервис. Активируются только те пользователи у которых прописан IP адрес сервиса Internet. Также обязательно на IPN серверах доступа прописать пулы адресов для таких пользователей чтобы система знала на каких серверах доступа активировать абонентов. | + | Данная команда автоматически включает всех пользователей с положительным депозитом и правами получать сервис (статус услуги активно). Активируются только те пользователи у которых прописан IP адрес сервиса Internet. Также обязательно на IPN серверах доступа прописать пулы адресов для таких пользователей чтобы система знала на каких серверах доступа активировать абонентов. Данную команду стоит запускать через crontab с промежутком раз в 5 минут. |
# /usr/abills/libexec/periodic monthly MODULES=Ipn LOGON_ACTIVE_USERS | # /usr/abills/libexec/periodic monthly MODULES=Ipn LOGON_ACTIVE_USERS | ||
Строка 531: | Строка 537: | ||
* [[abills:docs:manual:admin:ipn:ipn_ft_queue|FT queue]] - отчёт обработки файлов трафика | * [[abills:docs:manual:admin:ipn:ipn_ft_queue|FT queue]] - отчёт обработки файлов трафика | ||
* [[abills:docs:manual:admin:ipn:ipn_unknow_ips|Неизвестный IP]] - Лог неучтённого трафика | * [[abills:docs:manual:admin:ipn:ipn_unknow_ips|Неизвестный 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; | ||