В настройках "Настройка" - "Сервер доступа" - вашНАС прописываем
Переменная | Значение |
---|---|
Тип | mirkotik_dhcp или mikrotik |
SSH | порт SSH (22 по умолчанию) |
Пользователь | abills_admin |
На сервере биллинга выполняем :
# Инициализация и контроль правил шейпера, на НАСе айди 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 и меняем если нужно : |
$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}"'; |
Проверяем как отработала активация на Микротике (активация отрабатывает по крону, см пункт 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 -all 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 -all каждых 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) "