Это старая версия документа.
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
$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';
Сертификат SSH (/usr/abills/Certs/id_dsa.abills_admin) должен быть доступен абоненту под которым работает веб сервер
Подсчет трафика
Устанавливаем пакет flow-tools
Вносим в /etc/crontab
*/5 * * * * root /usr/abills/libexec/traffic2sql 2 flowdir=/usr/abills/var/log/ipn/
подробно о 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 сервиса. |
---|
Контроль активных соединений
Контролем активных соединений и отключением абонентов с негативным депозитом занимается программа billd