=====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 | Номер сервера доступа | **config.pl** - Пример правила открытия доступа для модуля Ipn **abills/libexec/config.pl** Для типа сервера - mikrotik-dhcp: $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}"'; **Сертификат SSH (/usr/abills/Certs/id_rsa.abills_admin) должен быть доступен абоненту под которым работает веб сервер ** ====Подсчет трафика==== Устанавливаем пакет [[abills:docs:manual:other:flowtools:ru#freebsd|flow-tools]] Вносим в **/etc/crontab** */5 * * * * root /usr/abills/libexec/traffic2sql 2 flowdir=/usr/abills/var/log/ipn/ подробно о [[abills:docs:modules:ipn:ru|IPN]] === Настройка Mikrotik для подсчета трафика === **Слушать и отправлять flow пакеты на сервер для их подальшей обработки с помощью колектора (flow-tools)** Через консоль /ip traffic-flow set enabled=yes /ip traffic-flow target add address=10.0.0.10:9996 version=5 /ip traffic-flow set interfaces=ether3 active-flow-timeout=30m inactive-flow-timeout=15s cache-entries=4k enabled=yes ; ether3 - интерфейс на котором слушать\\ 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]]