abills + ipn + mikrotik

Модуль для подсчета трафика в локальной сети
mcdebugger
Сообщения: 14
Зарегистрирован: Ср дек 01, 2010 12:52 pm

abills + ipn + mikrotik

Сообщение mcdebugger »

Доброго дня.
Ковыряюсь со связкой abills + mikrotik + ipn.
Что нужно: в качестве NAS - "железный" микротик. Считать пользователей пока не нужно, только включать-выключать в соответствии с балансом л/с.
Что работает: команды через console выполняются (т.е. ключик и админская учётка настроены).
Что не работает: всё остальное.
Занёс NAS с типом Mikrotik, подключил модуль IPN прописыванием Ipn в @MODULES в config.pl.
Прописал

Код: Выделить всё

$conf{IPN_FW_START_RULE}="/usr/abills/libexec/linkupdown mikrotik up - %LOGIN %IP NAS_HOST=10.7.16.5 NAS_ADMIN=abills_admin". ' > /dev/null 2>&1';
$conf{IPN_FW_STOP_RULE}="/usr/abills/libexec/linkupdown mikrotik down - %LOGIN %IP NAS_HOST=10.7.16.5 NAS_ADMIN=abills_admin". ' > /dev/null 2>&1';
Пробовал прописывать и NAS_HOST формата IP:PORT:PORT

До этого пробовал также

Код: Выделить всё

$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" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} NAS_ADMIN=${NAS_MNG_USER}";
elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi;
eval "${CMD}"';

Создал пул адресов (динамический), привязал его к NAS'у. Включение юзера через билинг показывает сессию в билинге, но на NAS'е ничего не происходит, не вижу в логе даже логина по ssh. Пробовал ручками запускать linkupdown, но тоже безрезультатно, скрипт ничего сам не выводит, в логе пусто.
Пробовал те же настройки, только в режиме ipcad вместо mikrotik.
Не могу понять, почему не заводится :(

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: abills + ipn + mikrotik

Сообщение ~AsmodeuS~ »

используете отладки


и покажите как из консоли запускали

скорее всего вы не залили сертификат на микротик

goodsoul
Сообщения: 8
Зарегистрирован: Чт сен 03, 2015 1:25 pm

Re: abills + ipn + mikrotik

Сообщение goodsoul »

Здравствуйте! Заранее спасибо за ответ. Вопрос заключается в следующем.

Имеется связка Mikrotik+IPN, на сервере настроены ipcad, flow-capture, IPN модуль. Длительное время шлюзом выступал компьютер, IPN работал отлично. Был куплен Mikrotik.

Настроил все по инструкции, пользователь заходит, активирует интернет, доступ появляется. Отключает интернет, доступ исчезает.

Но в мониторинге появляются странные цифры. классы трафика настроены, но постоянно полученный трафик интернета равен полученному локальному трафику. Отправленный трафик различается. Причем отправленный трафик в разы больше принятого, принятый трафик изменяется мало и показывает маленькие числа, что не соответствует действительности.
В чем может быть проблема? Traffic flow настроены по инструкции.

Работаю в школе, пользователей порядка 30 штук. Покупать коммерческую версию считаю нецелесообразным. Помогите, пожалуйста. IPN отчет показывает соединения нормально вроде.

Классы:
0 0.0.0.0/0.0.0.0
1 192.168.0.0/255.255.0.0

сервер 192.168.1.111
микротик 192.168.148.1
flow по крону отрабатывает нормально.

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: abills + ipn + mikrotik

Сообщение ~AsmodeuS~ »

скорее всего не с того интерфейса снимаете статистику

локальный трафик это скорее всего у Вас локальные компы

флов поток скорее всего после ната снимается

goodsoul
Сообщения: 8
Зарегистрирован: Чт сен 03, 2015 1:25 pm

Re: abills + ipn + mikrotik

Сообщение goodsoul »

~AsmodeuS~ писал(а):скорее всего не с того интерфейса снимаете статистику

локальный трафик это скорее всего у Вас локальные компы

флов поток скорее всего после ната снимается
В микротике выбирал all и bridge1, или нужно выбирать внешний интерфейс?

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: abills + ipn + mikrotik

Сообщение ~AsmodeuS~ »

интерфейс до ната -внутренние

goodsoul
Сообщения: 8
Зарегистрирован: Чт сен 03, 2015 1:25 pm

Re: abills + ipn + mikrotik

Сообщение goodsoul »

Спасибо за наводку! Все отлично заработало! Спасибо за Ваш труд! Пользуюсь продуктом больше года) На Микротике выбрал внешний интерфейс в настройке traffic flow.

goodsoul
Сообщения: 8
Зарегистрирован: Чт сен 03, 2015 1:25 pm

Re: abills + ipn + mikrotik

Сообщение goodsoul »

Можно еще вопрос. Как реализовать следующее: нужно некоторых абонентов активировать навсегда, а некоторых откючать, если они не пользуются интернетом. Поставил в настройках сервера доступа ipn Alive=120, абоненты стали отключаться, если поставить 0, то активируется навсегда. Как реализовать выбор?

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: abills + ipn + mikrotik

Сообщение ~AsmodeuS~ »

goodsoul писал(а):Можно еще вопрос. Как реализовать следующее: нужно некоторых абонентов активировать навсегда, а некоторых откючать, если они не пользуются интернетом. Поставил в настройках сервера доступа ipn Alive=120, абоненты стали отключаться, если поставить 0, то активируется навсегда. Как реализовать выбор?
Alive - это проверка активности сессии, если трафика нет определённы период сессию система закрывает


установить alive 86400 - 24 часа или вообще убрать

и авто включение ипн сессий

goodsoul
Сообщения: 8
Зарегистрирован: Чт сен 03, 2015 1:25 pm

Re: abills + ipn + mikrotik

Сообщение goodsoul »

~AsmodeuS~ писал(а):
Alive - это проверка активности сессии, если трафика нет определённы период сессию система закрывает


установить alive 86400 - 24 часа или вообще убрать

и авто включение ипн сессий
Спасибо! Это понятно. Нужно, чтобы у некоторых сессия обрывалась, а у некоторых нет. В приведенном примере настройка действует на всех абонентов.

goodsoul
Сообщения: 8
Зарегистрирован: Чт сен 03, 2015 1:25 pm

Re: abills + ipn + mikrotik

Сообщение goodsoul »

goodsoul писал(а):Спасибо за наводку! Все отлично заработало! Спасибо за Ваш труд! Пользуюсь продуктом больше года) На Микротике выбрал внешний интерфейс в настройке traffic flow.
Радость длилась недолго работает неправильно.
Для абонента с IP сервера (192.168.1.111) все работает, для абонента с 192.168.2.62 (виртуальная машина на сервере) все работает. Для остальных абонентов не работает.

На сервере 192.168.1.111 установлены flow-capture и ipcad. Микротик имеет адрес 192.168.148.1. У всех абонетов шлюз по умолчанию - микротик. В настройках наса на микротике ИП стоит 192.168.1.111.
На микротике в настройках flow-capture выбран target 192.168.1.111. Смена интерфейсов во flow не помогает.

192.168.2.62 Интернет 186.08 MB 7.34 MB локалка 127.21 Kb 275.88 Kb 192.168.2.62
192.168.1.65 Интернет 30.82 MB 209.33 MB локалка 30.82 MB 3.27 MB 192.168.1.65

видно, что входящий для интернета и локлаьной сети одинаковый (и слишком маленький), а вот исходящий похож на правду, либо больше реального трафика.

На микротике настроен srcnat.

Помогите разобраться.

Dens
Сообщения: 29
Зарегистрирован: Вс окт 04, 2015 10:05 am

Re: abills + ipn + mikrotik

Сообщение Dens »

Доброго времени суток
Помогите разобраться с IPN + Mikrotik
Ни как не могу добиться активации сессии абонента, все инструкции уже перерыл
Модуль IPN подключен
config.pl

Код: Выделить всё

#IPN
$conf{IPN_DETAIL}=1;
$conf{IPN_DETAIL_MIN_SIZE}=1024;
$conf{IPN_DETAIL_CLEAN_PERIOD}=30;
#$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 u$
#$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 $
$conf{IPN_FW_START_RULE}="/usr/bin/sudo /usr/abills/libexec/linkupdown Mikrotik up - %LOGIN %IP NAS_HOST=172.23.1.254 NAS_ADMIN=abills". ' > /dev/null 2>&1';
$conf{IPN_FW_STOP_RULE}="/usr/bin/sudo /usr/abills/libexec/linkupdown mikrotik down - %LOGIN %IP NAS_HOST=172.23.1.254 NAS_ADMIN=abills". ' > /dev/null 2>&1';
$conf{IPN_DHCP_ACTIVE}=1;
Выполнение комманды

Код: Выделить всё

/usr/abills/libexec/billd checkspeed mikrotik RECONFIGURE=1 NAS_IDS=2 DEBUG=5

Код: Выделить всё

Debug mode 5
TP ID: 2 11 TT: 0 IN: 6000 OUT: 6000
TP ID: 3 12 TT: 0 IN: 12000 OUT: 12000
TP ID: 4 13 TT: 0 IN: 28000 OUT: 28000
TP ID: 5 14 TT: 0 IN: 56000 OUT: 56000
NAS: (2) 172.23.1.254 NAS_TYPE: mikrotik_dhcp STATUS: 0 Alive: 300
Mikrotik Version: 6.32.2
Add shaper: TP_ID: 2 Class: 0
Add shaper: TP_ID: 3 Class: 0
Add shaper: TP_ID: 4 Class: 0
Add shaper: TP_ID: 5 Class: 0
/ip firewall mangle remove [find new-packet-mark~\"^ALLOW_TRAFFIC_CLASS\"]

/queue tree remove [find name~\"^TP\"]

/queue type remove [find name~\"^TP\"]

/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_2_out passthrough=yes src-address-list=CLIENTS_2 dst-address=0.0.0.0/0

/ip firewall mangle add 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 type add name=\"TP_2_in_global_speed\" kind=pcq pcq-rate=6000000 pcq-classifier=dst-address

/queue type add name=\"TP_2_out_global_speed\" kind=pcq pcq-rate=6000000 pcq-classifier=src-address

/queue tree add name=\"TP_2_in_global\" parent=global queue=\"TP_2_in_global_speed\" packet-mark=ALLOW_TRAFFIC_CLASS_2_in priority=5 burst-limit=0 burst-threshold=0 burst-time=0s

/queue tree add name=\"TP_2_out_global\" parent=global queue=\"TP_2_out_global_speed\" packet-mark=ALLOW_TRAFFIC_CLASS_2_out priority=5 burst-limit=0 burst-threshold=0 burst-time=0s

/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_3_out passthrough=yes src-address-list=CLIENTS_3 dst-address=0.0.0.0/0

/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_3_in passthrough=yes src-address=0.0.0.0/0 dst-address-list=CLIENTS_3

/queue type add name=\"TP_3_in_global_speed\" kind=pcq pcq-rate=12000000 pcq-classifier=dst-address

/queue type add name=\"TP_3_out_global_speed\" kind=pcq pcq-rate=12000000 pcq-classifier=src-address

/queue tree add name=\"TP_3_in_global\" parent=global queue=\"TP_3_in_global_speed\" packet-mark=ALLOW_TRAFFIC_CLASS_3_in priority=5 burst-limit=0 burst-threshold=0 burst-time=0s

/queue tree add name=\"TP_3_out_global\" parent=global queue=\"TP_3_out_global_speed\" packet-mark=ALLOW_TRAFFIC_CLASS_3_out priority=5 burst-limit=0 burst-threshold=0 burst-time=0s

/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_4_out passthrough=yes src-address-list=CLIENTS_4 dst-address=0.0.0.0/0

/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_4_in passthrough=yes src-address=0.0.0.0/0 dst-address-list=CLIENTS_4

/queue type add name=\"TP_4_in_global_speed\" kind=pcq pcq-rate=28000000 pcq-classifier=dst-address

/queue type add name=\"TP_4_out_global_speed\" kind=pcq pcq-rate=28000000 pcq-classifier=src-address

/queue tree add name=\"TP_4_in_global\" parent=global queue=\"TP_4_in_global_speed\" packet-mark=ALLOW_TRAFFIC_CLASS_4_in priority=5 burst-limit=0 burst-threshold=0 burst-time=0s

/queue tree add name=\"TP_4_out_global\" parent=global queue=\"TP_4_out_global_speed\" packet-mark=ALLOW_TRAFFIC_CLASS_4_out priority=5 burst-limit=0 burst-threshold=0 burst-time=0s

/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_5_out passthrough=yes src-address-list=CLIENTS_5 dst-address=0.0.0.0/0

/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_5_in passthrough=yes src-address=0.0.0.0/0 dst-address-list=CLIENTS_5

/queue type add name=\"TP_5_in_global_speed\" kind=pcq pcq-rate=56000000 pcq-classifier=dst-address

/queue type add name=\"TP_5_out_global_speed\" kind=pcq pcq-rate=56000000 pcq-classifier=src-address

/queue tree add name=\"TP_5_in_global\" parent=global queue=\"TP_5_in_global_speed\" packet-mark=ALLOW_TRAFFIC_CLASS_5_in priority=5 burst-limit=0 burst-threshold=0 burst-time=0s

/queue tree add name=\"TP_5_out_global\" parent=global queue=\"TP_5_out_global_speed\" packet-mark=ALLOW_TRAFFIC_CLASS_5_out priority=5 burst-limit=0 burst-threshold=0 burst-time=0s

Код: Выделить всё

/usr/abills/libexec/periodic monthly MODULES=Ipn LOGON_ACTIVE_USERS NAS_IDS=2 DEBUG=5

Код: Выделить всё

==> FUNCTION: ipn_detail_rotate
==> FUNCTION: ipn_periodic_session_restart
==> FUNCTION: ipn_start_active
DEBUG MODE: 5
==> FUNCTION: ipn_detail_rotate
==> FUNCTION: ipn_periodic_session_restart
==> FUNCTION: ipn_start_active
Total: 0
Из Админки активировать не возможно, из личного кабинета активация ipn проходит в билинге появляется сессия, но на mikrotik тишина

Есть ли ещё какие способы активации абонента на mikrotik (ipoe)

kiko
Сообщения: 39
Зарегистрирован: Пн июн 08, 2015 8:50 am

Re: abills + ipn + mikrotik

Сообщение kiko »

Dens писал(а): Из Админки активировать не возможно, из личного кабинета активация ipn проходит в билинге появляется сессия, но на mikrotik тишина

Есть ли ещё какие способы активации абонента на mikrotik (ipoe)
Вот здесь есть правила для типов NASов - mikrotik и mikrotik-dhcp. Какой у вас?
http://abills.net.ua/wiki/doku.php/abil ... les:ipn:ru

Ещё, точно узнайте где у вас находится sudo командой

Код: Выделить всё

which sudo
и пропишите в правило ваш вариант.

Dens
Сообщения: 29
Зарегистрирован: Вс окт 04, 2015 10:05 am

Re: abills + ipn + mikrotik

Сообщение Dens »

kiko писал(а):
Вот здесь есть правила для типов NASов - mikrotik и mikrotik-dhcp. Какой у вас?
http://abills.net.ua/wiki/doku.php/abil ... les:ipn:ru

Ещё, точно узнайте где у вас находится sudo командой

Код: Выделить всё

which sudo
и пропишите в правило ваш вариант.
Спасибо за наводку, а слона то я и не приметил.
Все запустилось, единственный момент правило почему то не подставляет пользователя (NAS_ADMIN=${NAS_MNG_USER}";)
у меня прописан пользователь abills и создан сертификат для него /usr/abills/Certs/id_dsa.abills
но скрипт почемуто не видит этого

Код: Выделить всё

root@debian:~# /usr/abills/libexec/periodic monthly MODULES=Ipn LOGON_ACTIVE_USERS NAS_IDS=2 DEBUG=5
==> FUNCTION: ipn_detail_rotate
==> FUNCTION: ipn_periodic_session_restart
==> FUNCTION: ipn_start_active
Warning: Identity file /usr/abills//Certs/id_dsa.admin not accessible: No such file or directory.
admin@172.23.1.254's password:
Received disconnect from 172.23.1.254: 11: auth timeout
Warning: Identity file /usr/abills//Certs/id_dsa.admin not accessible: No such file or directory.
DEBUG MODE: 5
==> FUNCTION: ipn_detail_rotate
==> FUNCTION: ipn_periodic_session_restart
==> FUNCTION: ipn_start_active
LOGIN: denis IP: 10.2.2.10 NAS_ID: 0 CONNECT_INFO:  UID: 2 FILTER_ID:
denis 2 10.2.2.10 -> 2
Активация IP: 10.2.2.10
Total: 1
abills.PNG
abills.PNG (77.22 КБ) 19961 просмотр

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: abills + ipn + mikrotik

Сообщение ~AsmodeuS~ »

Dens писал(а):
Все запустилось, единственный момент правило почему то не подставляет пользователя (NAS_ADMIN=${NAS_MNG_USER}";)
у меня прописан пользователь abills и создан сертификат для него /usr/abills/Certs/id_dsa.abills
но скрипт почемуто не видит этого

обновитесь к 0.58

Ответить