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