Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:nas:mikrotik:ipn [2015/07/10 16:24]
anton
abills:docs:nas:mikrotik:ipn [2017/10/09 11:49] (текущий)
anton [Инициализация и контроль правил шейпера]
Строка 1: Строка 1:
-====Mikrotik IPN====+=====Mikrotik IPN=====
  
-===Настройка сервера доступа===+===Самостоятельная активация ​сессия IPN абонентом=== 
 +Добавить правила для перенаправления на клиентский кабинет ​для подключения к IPN 
 +   
 +  /ip firewall nat add chain=dstnat action=dst-nat to-addresses=10.0.0.10 to-ports=80 protocol=tcp 
 +   ​src-address=192.168.6.0/​24 dst-address=0.0.0.0/​0 dst-port=80 
 +====Инициализация и контроль ​правил шейпера====
  
-''​Настройка / Сервера доступа ​/''​+  # /usr/​abills/​libexec/​billd checkspeed mikrotik RECONFIGURE=1 NAS_IDS=1  
 +Дополнительные параметры 
 +|NAT=1 | Поднять маскарадинг ​ для всех адрес листов | 
 +|SKIP_NAT_IPS=xxx.xxx.xxx.xxx | Не маскарадить ​обращения ​к адресу ​  | 
 +|NAS_IDS=1 ​ | Номер сервера доступа ​|
  
-^Type                  | ipcad| +**config.pl** 
-/ Настройка/ Сервера доступа / IP POOLs+  - Пример правила открытия ​доступа ​для модуля Ipn 
-Нужно внести пул адресов, с которых можно авторизоваться.+**abills/libexec/config.pl**  ​ 
 +Для ​типа сервера - mikrotik-dhcp:​ 
 +<​code>​ 
 +$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_MNG_USER=${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; 
 +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_MNG_USER=${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; 
 +eval "​${CMD}"';​ 
 +</​code>​  
 +   
 +**Сертификат SSH (/​usr/​abills/​Certs/​id_rsa.abills_admin) должен быть доступен абоненту под которым работает веб сервер ** 
 +====Подсчет трафика====
  
-Модуль использует ​тарифную логику модуля Dv (Internet).  +Устанавливаем пакет ​[[abills:​docs:​manual:​other:​flowtools:​ru#​freebsd|flow-tools]] 
-Заводим классы трафика / Настройка/ Internet/ Traffic Classes. Глобальный класс трафика должен иметь номер 0. + 
-Заводим тарифные планы ​в / НастройкаInternetTarif plans. +Вносим в **/etc/crontab** 
-**В тарифном ​плане в  Intervals ​обязательно указывать сети в противном случае модуль не будет вести подсчёт трафика**.+ 
 +<​code>​ 
 +  */5 * * * * root /​usr/​abills/​libexec/​traffic2sql 2 flowdir=/​usr/​abills/​var/​log/​ipn
 +</​code>​ 
 + 
 +подробно о [[abills:​docs:​modules:​ipn:​ru|IPN]]
  
 === Настройка Mikrotik для подсчета трафика === === Настройка Mikrotik для подсчета трафика ===
Строка 25: Строка 58:
   /ip traffic-flow set interfaces=ether3 active-flow-timeout=30m inactive-flow-timeout=15s cache-entries=4k enabled=yes ;   /ip traffic-flow set interfaces=ether3 active-flow-timeout=30m inactive-flow-timeout=15s cache-entries=4k enabled=yes ;
  
-ether3 интерфейс на котором слушать+ether3 ​интерфейс на котором слушать\\
 10.0.0.10 - адрес сервера обработки flow пакетов (Сервер биллинга) 10.0.0.10 - адрес сервера обработки flow пакетов (Сервер биллинга)
  
-Также добавить правила для перенаправления на клиентский кабинет для подключения к IPN 
-  ​ 
-  /ip firewall nat add chain=dstnat action=dst-nat to-addresses=10.0.0.10 to-ports=80 protocol=tcp 
-   ​src-address=192.168.6.0/​24 dst-address=0.0.0.0/​0 dst-port=80 
  
-===Инициализация и контроль правил ​шейпера===+====Включение активных пользователей==== 
 +Данная команда автоматически включает всех пользователей с положительным депозитом или правами получать сервис. Активируются только те пользователи у которых прописан ​ IP адрес сервиса ​ Internet. Также обязательно на IPN  серверах доступа ​прописать пулы адресов для таких пользователей ​чтобы система знала на каких серверах доступа активировать абонентов.
  
-  # /​usr/​abills/​libexec/​billd checkspeed mikrotik RECONFIGURE=1 NAS_IDS=1  +  # /​usr/​abills/​libexec/​periodic monthly MODULES=Ipn LOGON_ACTIVE_USERS
- +
-Дополнительные параметры +
- +
-|NAT=1 | Поднять маскарадинг ​ для всех адрес листов | +
-|SKIP_NAT_IPS=xxx.xxx.xxx.xxx | Не маскарадить обращения к адресу ​  | +
-|NAS_IDS=1 ​ | Номер сервера доступа |+
  
 +Параметры:​
 +^ NAS_IDS=1,2 | Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом '​ipcad' ​ |
 +^ TP_ID=3,6 | Номера тарифных планов для активации. По умолчанию все |
 +^ LOGIN=test,​test3 | Логины пользователей. По умолчанию все |
 +^ GID=1 | Группы пользователей ​ |
 +^ DEBUG=... | Дебаг режимы \\ 1-4 Детализация процесса \\ 5 - Отображать команды на выполнение \\ 6 - Отображать команды но не выполнять |
  
 **config.pl** **config.pl**
-  $conf{IPN_FW_START_RULE}="/​usr/​bin/​sudo /​usr/​abills/​libexec/​linkupdown mikrotik up - %LOGIN %IP NAS_HOST=10.0.0.1 NAS_ADMIN=abills_admin"​. ' > /dev/null 2>&​1';​ 
-  $conf{IPN_FW_STOP_RULE}="/​usr/​bin/​sudo /​usr/​abills/​libexec/​linkupdown mikrotik down - %LOGIN %IP NAS_HOST=10.0.0.1 NAS_ADMIN=abills_admin"​. ' > /dev/null 2>&​1';​ 
  
 +^$conf{IPN_DHCP_ACTIVE}=1;​ | Включать сервис для всех IP  адресов прописанных в IP (DHCP) секции абонента. С начало включаются адреса Internet сервиса если они не равны 0.0.0.0, ​ а потом ​ адреса IP сервиса. |
  
-===Подсчет ​трафика===+===онтроль ​активных соединений====
  
-Устанавливаем пакет [[abills:​docs:​manual:​other:​flowtools:​ru#​freebsd|flow-tools]] +Контролем ​активных соединений и отключением абонентов с негативным депозитом занимается программа ​[[abills:​docs:​manual:periodic:periodic#​billd|billd]]
- +
-Вносим в **/​etc/​crontab** +
- +
-<​code>​ +
-  */5 * * * * root /​usr/​abills/​libexec/​traffic2sql 2 flowdir=/​usr/​abills/​var/​log/​ipn/​ +
-</​code>​ +
- +
-подробно о [[abills:​docs:​modules:ipn:ru|IPN]]+