Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:modules:ipn:ru [2016/03/08 18:21]
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}='​localhost';​ 
-  $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;