Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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]] | ||