Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:nas:mikrotik:ipn [2015/07/24 17:04]
anton [Настройка сервера доступа]
abills:docs:nas:mikrotik:ipn [2017/10/09 11:49] (текущий)
anton [Инициализация и контроль правил шейпера]
Строка 1: Строка 1:
 =====Mikrotik IPN===== =====Mikrotik IPN=====
- 
-====Настройка сервера доступа==== 
- 
-''/​ Настройка / Сервера доступа /''​ 
- 
-^Type                  | ipcad| 
-/ Настройка/​ Сервера доступа / IP POOLs/ 
-Нужно внести пул адресов,​ с которых можно авторизоваться. 
- 
-===Тарифные планы=== 
- 
-Модуль использует тарифную логику модуля Dv (Internet). ​ 
-Заводим классы трафика / Настройка/​ Internet/ Traffic Classes. Глобальный класс трафика должен иметь номер 0. 
-Заводим тарифные планы в / Настройка/​ Internet/ Tarif plans/ . 
-**В тарифном плане в  Intervals обязательно указывать сети в противном случае модуль не будет вести подсчёт трафика**. 
  
 ===Самостоятельная активация сессия IPN абонентом=== ===Самостоятельная активация сессия IPN абонентом===
-Также добавить правила для перенаправления на клиентский кабинет для подключения к IPN+Добавить правила для перенаправления на клиентский кабинет для подключения к IPN
   ​   ​
   /ip firewall nat add chain=dstnat action=dst-nat to-addresses=10.0.0.10 to-ports=80 protocol=tcp   /ip firewall nat add chain=dstnat action=dst-nat to-addresses=10.0.0.10 to-ports=80 protocol=tcp
Строка 30: Строка 15:
  
 **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'+  ​- Пример правила открытия доступа для модуля Ipn 
-  $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';+**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) должен быть доступен абоненту под которым работает веб сервер **
 ====Подсчет трафика==== ====Подсчет трафика====
  
Строка 54: Строка 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 пакетов (Сервер биллинга)
  
 +
 +====Включение активных пользователей====
 +Данная команда автоматически включает всех пользователей с положительным депозитом или правами получать сервис. Активируются только те пользователи у которых прописан ​ 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 сервиса. |
 +
 +====Контроль активных соединений====
 +
 +Контролем активных соединений и отключением абонентов с негативным депозитом занимается программа [[abills:​docs:​manual:​periodic:​periodic#​billd|billd]]