- Проверяем тарифные планы , в каждом тарифном плане должны присутствовать настроенные "Интервалы" и "Тариф трафика" с указанной скоростью для ТП.
- Конфигурируем ssh passwordless access на Микротик , для пользователя abills_admin
Сертификаты пользователя находятся в /usr/abills/Certs - В настройках "Настройка" - "Сервер доступа" - "IP Pools" - прописываем пул адресов для клиентов
В настройках "Настройка" - "Сервер доступа" - вашНАС прописываем
Переменная Значение Тип mirkotik_dhcp или mikrotik SSH порт SSH (22 по умолчанию) Пользователь abills_admin - Назначаем IP Pool для НАС сервера
На сервере биллинга выполняем :
# Инициализация и контроль правил шейпера, на НАСе айди 10 /usr/abills/libexec/billd checkspeed mikrotik RECONFIGURE=1 NAS_IDS=10 # Инициализация и контроль правил шейпера + маскарадинг /usr/abills/libexec/billd checkspeed mikrotik RECONFIGURE=1 NAT=1 NAS_IDS=10
Проверяем в консоли Микротика :
/ip firewall mangle print /queue tree print
Должно вывести список правил наподобие следующего :
/ip firewall mangle print 0 chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_2_out passthrough=yes dst-address=0.0.0.0/0 src-address-list=CLIENTS_2 1 chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_2_in passthrough=yes src-address=0.0.0.0/0 dst-address-list=CLIENTS_2 /queue tree print 0 name="TP_2_in_global" parent=global-out packet-mark=ALLOW_TRAFFIC_CLASS_2_in limit-at=0 queue=TP_2_in_global_speed priority=5 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 1 name="TP_2_out_global" parent=global-out packet-mark=ALLOW_TRAFFIC_CLASS_2_out limit-at=0 queue=TP_2_out_global_speed priority=5 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s
В /usr/abills/libexec/config.pl прописываем команды для управления сессиями :
Важно :
Проверяем где у нас находится sudo и меняем если нужно :
SUDO=/usr/local/bin/sudo$conf{INTERNET_IPOE_START}='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{INTERNET_IPOE_STOP}='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}"';
- При добавлении нового пользователя на "Шаг 3" - "Internet+" , в IPoE / DHCP Option 82 → Активация IPN ставим галку и продолжаем регистрацию дальше как обычно.
Проверяем как отработала активация на Микротике (активация отрабатывает по крону, см пункт 11) :
ssh -q -o UserKnownHostsFile=/usr/abills//Certs/known_hosts -o CheckHostIP=no -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_rsa.abills_admin abills_admin@айпи_микротика '/ip firewall address-list print'
Проверяем присутствуют ли периодик задачи в кроне , они отвественны за тарификацию и управление состоянием абонентов и их сервисов :
root@abills:/usr/abills# cat /etc/crontab | egrep "libexec/billd|libexec/periodic" */5 * * * * root /usr/abills/libexec/billd 1 0 * * * root /usr/abills/libexec/periodic daily 1 1 * * * root /usr/abills/libexec/periodic monthly */5 * * * * root /usr/abills/libexec/periodic monthly MODULES=Internet LOGON_ACTIVE_USERS NAS_IDS=10
Чтоб включить всех поточных активных пользователей , выполняем команду (для нескольких НАС, перечисляем их через запятую, напр. NAS_IDS=1,2,3,10 ) :
/usr/abills/libexec/periodic monthly MODULES=Internet LOGON_ACTIVE_USERS NAS_IDS=10
Также, ее необходимо добавить в крон (см. пункт 10).
В кроне комманды:
*/5 * * * * root /usr/abills/libexec/billd
каждых 5 мин производит тарификацию, отключает сервисы пользователей, удаляет соотвественные правила на Микротике и т.д.
/usr/abills/libexec/periodic monthly MODULES=Internet LOGON_ACTIVE_USERS NAS_IDS=10
каждых 5 мин проверяет и включает/активирует сервисы пользователей, добавляет правила на Микротике
Ссылки на сопутствующую документацию :
" Mikrotik IPoE " , " Авторизация Internet IPoE " , " IPN (wiki) " ,
" Управление шейпером Микротик (wiki) " , " Console Mikrotik (wiki) "