Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: klu4ik от 16 Октября 2012, 10:26:43



Название: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu4ik от 16 Октября 2012, 10:26:43
Привет.
Может кто помочь разрулить ситуацию?

Есть Nodeny , на нем настроена связка с микротиком (Без Радиуса) в Hw_Mikrotik прописан ип, логин, пароль микротика.
На микротике включен API.
Проблема в том что скрипт не может (а иногда может) создать всех абонентов в микротике.
Запускаю ./noserver.pl -v
если запустить первый раз -
может создать 200 абонов,
второй раз может создать 350,
третий 150,
на четвертый раз может взять и создать всех абонов.
В сети 1000 абонентов.

Если с автозагрузки скрипт запускаеться, очень редко создает всех абонов.

Не пойму в чем проблема, в nofire.pl, время синхронизации: $NF_t_check=3600;
Остальное впринципе все по дефолту..

Вторая проблема:

Нужно создать еще один сателит с микротиком.

делал по инструкции: forum.nodeny.com.ua/index.php?topic=448.msg4316#msg4316
Не нашел нигде у себя файла : nosat.pm (но без него работает)

Если вручную запустить ./mikrotik.pl -v - все работает
Если с автозагрузки - то нет.
Хотя в процессах Mikrotik.pl висит, а вот на микротик не логиниться.

Cкрипты автозагрузки:

Главный сателит:

nodeny# cat go_noserver.sh

Код:
#!/bin/sh

prg='nice -n -15 perl /usr/local/nodeny/noserver.pl -v'

${prg} -nowait
sleep 10
${prg} -nowait
sleep 10

while true
do
 ${prg}
 sleep 2
done

Второй сателит:

nodeny# cat go_mikrotik.sh
Код:
#!/bin/sh

prg='nice -n -15 perl /usr/local/nodeny/mikrotik/mikrotik.pl'

${prg} -nowait
sleep 10
${prg} -nowait
sleep 10

while true
do
 ${prg}
 sleep 2
done


Скрипт автозагрузки в /usr/local/etc/rc.d/nodeny:

nodeny# cat nodeny

Код:
#!/bin/sh

# PROVIDE: nodeny
# REQUIRE: NETWORKING SERVERS mysql

cd /usr/local/nodeny/
nohup sh go_kernel.sh &
nohup sh go_nol2auth.sh &
nohup sh go_noserver.sh &
nohup sh /usr/local/nodeny/mikrotik/go_mikrotik.sh &

Пробовал увеличивать время в параметре "sleep" - безрезультатно.

Заранее спасибо за ответы :)


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: stix от 16 Октября 2012, 10:34:26
я бы посмотрел на php api микротика и через него управлять
что-то типо:
дернуть значения те, что есть.
$getmikrotikarray = $API->comm("/ip/firewall/address-list/print" , array (".proplist" => "address",  "?list" => $ros_list, ));

так удалять
$API->write("/ip/firewall/address-list/print",false);
   $API->write("?list=$ros_list",false);
   $API->write("?address=$remove",false);
   $API->write("=.proplist=.id");
   $READ = $API->read();
   $i=0;
   foreach   ($READ as $x) {
           $line=$READ[$i];
           $id=$line['.id'];
           sleep(1);

        $API->write("/ip/firewall/address-list/remove",false);
        $API->write("=.id=$id",true);
        $API->read();
        $i++;
#       usleep(5000);
}}}

так добавлять
$API->comm("/ip/firewall/address-list/add", array("list" => $ros_list, "address" => $add,));

на сотне клиентов работает без глюков.
вот только до шейперов руки не дошли.
с ними чуть сложнее

а насчет второго сателлита я как-то писал уже, что нужно делать.
у меня к одной базе подключено 4 саттелита.
2 фрибсд, микротик и циска.
все разные сети, тарифы, группы


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu4ik от 16 Октября 2012, 13:13:17
я в програмировании полный ноль.
это всю систему придеться переделывать?

насчет сателитов, ты имеешь ввиду это сообщение?:
/index.php?topic=448.msg4331#msg4331


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu4ik от 16 Октября 2012, 14:12:11
может еще какой-то параметр времени синхронизации можно поменять??


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: stix от 16 Октября 2012, 14:44:56
тут нужно отладку смотреть, где тупит.


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu4ik от 18 Октября 2012, 10:03:14
хм... только-что тестовый микротик подключил вместо основного, в нем нет проблем созданием абонов...
единственное предположение, это то что микротик на флешке, а флешку так задрочило что и за этого и все проблемы.

В логах ноудени все ок. пишет что создало абона, а в микротике, его нет...
Вообщем на винт перекину, посмотрю как будет вести себя связка..


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu4ik от 18 Октября 2012, 10:18:46
stimels

а с сателитами как поступить, нет никаких идей?


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu4ik от 18 Октября 2012, 11:49:34
только-что оставил только один сателит в автозагрузке (второй, тот что не стартует ) и он также не запустился при старте системы хотя в процессах есть.
Так что подозрение на то что это конфликт между первым сателитом и вторым у меня отпало..
Что же это может тогда быть ? ::)


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: stix от 18 Октября 2012, 13:17:40
нужно смотреть.
у меня 2 микротик сателлита работало


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu4ik от 18 Октября 2012, 13:43:37
вот что еще:

убираю все из автозагрузки.
Стартую..
Ввожу :
sh /usr/local/nodeny/go_noserver.sh

выводит:

Код:
nosrvr: 		# Connecting to DB on server localhost: OK
nosrvr: # Connecting to DB on server localhost: OK
nosrvr: # Connecting to DB on server localhost: OK
nosrvr: # Connecting to DB on server localhost: OK
nosrvr: # Connecting to DB on server localhost: OK

Останавливаю..
Запускаю так:

nodeny# /usr/local/nodeny/noserver.pl -v

Код:
nosrvr: 		# Connecting to DB on server localhost: OK
nosrvr: # 18.10.2012 14:22:19 Starting noserver
nosrvr: # Loading tarifs
nosrvr: sql # SELECT * FROM plans2
nosrvr: # Show only 6:
id: 1 preset: 0 speed: 7000 speed_out: 7000 speed2: 0 flags: ab
id: 2 preset: 0 speed: 1024 speed_out: 512 speed2: 0 flags: a
id: 3 preset: 0 speed: 1000 speed_out: 1000 speed2: 0 flags: a
id: 4 preset: 0 speed: 8000 speed_out: 8000 speed2: 0 flags: a
id: 5 preset: 0 speed: 256 speed_out: 256 speed2: 0 flags:
id: 6 preset: 0 speed: 10000 speed_out: 1024 speed2: 0 flags: a
[nofire] Synchronization
[hw_mikrotik] start connecting to the mikrotik
[hw_mikrotik] [ ->] /login
[hw_mikrotik] [<- ] !done
[hw_mikrotik] [<- ] =ret=127904707f07f1027012312
[hw_mikrotik] [ ->] /login
[hw_mikrotik] [ ->] =name=bill
[hw_mikrotik] [ ->] =response=00fb90283132423884
[hw_mikrotik] [<- ] !done
[hw_mikrotik] [ ->] /ip/firewall/address-list/print
[hw_mikrotik] [<- ] !re
[hw_mikrotik] [<- ] =.id=*A
[hw_mikrotik] [<- ] =list=25
[hw_mikrotik] [<- ] =address=10.168.1.0/24
[hw_mikrotik] [<- ] =dynamic=false
[hw_mikrotik] [<- ] =disabled=false
....

тоесть пошло..
беру, опять запускаю:

sh /usr/local/nodeny/go_noserver.sh

Работает!

Не понимаю...
После перезагрузки опять тоже самое.

Куда копать?


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: stix от 18 Октября 2012, 13:47:14
mikrotik может тупить


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu4ik от 18 Октября 2012, 14:37:57
короче.
получаеться что скрипты запускаються только из корневой папки.

тоесть если в rc.d : nohup sh /usr/local/nodeny/mikrotik/go_mikrotik.sh &
не работает.

Ладно.
Создал символьную ссылку из /usr/local/nodeny/mikrotik/go_mikrotik.sh в---> /usr/local/nodeny/go_mikrotik.sh
Запускаю, и он начинает конектиться не к тому сателиту который прописан в конфиге, а к гавному..
Непойму..

Код:
Переделал файл в rc.d :
#!/bin/sh

# PROVIDE: nodeny
# REQUIRE: NETWORKING SERVERS mysql

cd /usr/local/nodeny/
nohup sh go_kernel.sh &
nohup sh go_nol2auth.sh &
nohup sh go_noserver.sh &
cd /usr/local/nodeny/mikrotik/
nohup sh go_mikrotik.sh &

вот так работает.

Всеравно интересно почему все работает если запускать конкретно из корневого каталога, и почему подменяються настройки сателита.


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: stix от 18 Октября 2012, 14:40:01
возможно, я в скриптах везде указывал полные пути


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu41k от 10 Ноября 2012, 12:00:38
проблема с тем что не создавались абоны была связана с флешкой, перекинул на винт и стало нормально.


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: klu41k от 23 Ноября 2015, 15:51:33
В общем, после того как абонентов стало больше 1000 проблема с созданием Queues и goodboys вернулась. Иногда после перезапуска noserver.pl начинает работать, но редко. При запуске вручную видно, что скрипт выполняет команды от NoDeny, но на микротике ничего не происходит. Куда копать, подскажите?


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: Efendy от 23 Ноября 2015, 17:26:01
Перейти на NoDeny+ и начать работать по такой схеме:
1) блокировка/включение абонента через  API
2) ip и скорость по Radius

В самом крайнем случае, если уж очень много абонов станет и микротик не будет справляться (а микротик гавно - я теперь слышу это заявление со всех концов света от разных людей на разных биллингах): ip, скорость и состояние доступа по Radius. Правда в этом случае если абона заблочит или включит придется ждать несколько минут пока не истечет lease time



Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: 0xbad0c0d3 от 23 Ноября 2015, 21:54:09
В общем, после того как абонентов стало больше 1000 проблема с созданием Queues и goodboys вернулась. Иногда после перезапуска noserver.pl начинает работать, но редко. При запуске вручную видно, что скрипт выполняет команды от NoDeny, но на микротике ничего не происходит. Куда копать, подскажите?
Выпилил старую реализацию АПИ, переписал nofire.pl под собственную реализацию - все летает на более чем 1500 абонов (ближе к 2к)


Название: Re: Mikrotik+Nodeny проблема созданием абонов и вторым сателитом.
Отправлено: Eugene от 24 Ноября 2015, 01:05:43
Цитировать
Выпилил старую реализацию АПИ, переписал nofire.pl под собственную реализацию - все летает на более чем 1500 абонов (ближе к 2к)
Собственно, за что большая благодарность! Вообще,   там ребята толковые работают, но немного медленные. Зато очень позитивные. Кстати, из плюсов-они понимают по-русски, пожалуйста, пишите им пожелания. Собственно, предложение Эфенди - это наша давняя реализация, обсуждаемая на одном из MUM в Москве пару-тройку или чуть больше лет... Выпал немного. Правда, мы долго эту мысль добивались. Надеюсь, теперь эта долгая машина сможет предложить новый CoA и тогда будет миру счастье, а нам реализация бюджетная :)
. Правда в этом случае если абона заблочит или включит придется ждать несколько минут пока не истечет lease time
По большому счету, если роутер не выключать этого не настанет, потому что как бы не ставили задержку ответа на DHCP тик об этом предупредит (и это не исправить - это норма протокола и здравого смысла).. И не важен возраст лизы  - 5 минут, час или три дня.
Все-таки философия тиков, это системный, а не точечный подход.