Просмотр сообщений
|
Страниц: 1 2 [3] 4 5 6
|
31
|
Главная категория / Nodeny Plus / Re: Nodeny plus + Debain + Accel-ppp
|
: 28 Февраля 2017, 01:31:46
|
Ребят а кто accel использует на одном сервере для pppoe и ipoe одновременно? Подскажите как freeradius правильно настроить под разные процедуры?
Одни и теже процедуры работают для авторизации и ррррое и дшсп на тестовом стенде. Только логин клиента это например интерфейс с которого пришёл запрос, пароль он же при схеме влан на клиента. К примеру eth.230 логин. В аццеле username=ifname password=username Я думаю как бы организовать чтобы клиент и в билинг заходил в статистику с нормальными логин/пароль. А авторизация проходила под другой связкой логин/пароль (eth.230/eth.230)
|
|
|
32
|
Главная категория / Nodeny Plus / Re: Nodeny plus + Debain + Accel-ppp
|
: 08 Февраля 2017, 16:35:34
|
С каким периодом идет radius-accounting? Помониторь учетку абона, покликай по авторизованному айпишнику и улови примерно максимальное значение параметра "Обновление авт" в секундах. Если там будет больше двух минут - скорее всего период аккаунтинга настроен неверно, ip освобождается и при последующем аккаунтинге выдается новый
Раз в 60/сек в процедуре radreply SELECT NULL,login,'Acct-Interim-Interval','60','='; как вариант пофиксить - ребут билинга и наса одновременно. Но понять бы, почему он так себя ведёт.
|
|
|
33
|
Главная категория / Nodeny Plus / Re: Nodeny plus + Debain + Accel-ppp
|
: 08 Февраля 2017, 16:08:30
|
Выявился глюк взаимодейтсвия nodeny - accel-ppp в режиме рррое Абонент прошедший авторизацию получил из динамического пула адрес Так вот адрес, выделенный абоненту в билинге, не соответствует адресу, выданным accel
к примеру в билинге вижу, login_A динамически выделен адрес 1.х.х.27, mac fc:f5:28:48:b5:61
# accel-cmd show sessions | grep "1.x.x.27" ppp465 | login_D | 14:d6:4d:2d:c5:6b | 1.x.x.27 | | pppoe | | active | 1.19:25:05
# accel-cmd show sessions | grep "fc:f5:28:48:b5:61" ppp441 | login_A | fc:f5:28:48:b5:61 | 1.x.x.4 | | pppoe | | active | 2.03:17:25
|
|
|
34
|
Главная категория / Nodeny Plus / Re: Field 'name' doesn't have a default value
|
: 26 Января 2017, 15:48:53
|
после пересохранения доп полей, на двух из них вылезла ошибка SQL Error. В дебаге:
Specified key was too long; max key length is 767 bytes
{ 'param' => [], 'sql' => 'ALTER TABLE `data0` CHANGE `_komentariy2` `_komentariy2` VARCHAR(1024) NOT NULL DEFAULT \'\'' }; ALTER TABLE `data0` CHANGE `_komentariy2` `_komentariy2` VARCHAR(1024) NOT NULL DEFAULT ''
Для начала show create table data0;
|
|
|
35
|
Главная категория / Nodeny Plus / Re: radius sql ошибка
|
: 26 Января 2017, 15:39:58
|
[quote author=Efendy link=topic=2308.msg30719#msg30719 date=1485416444] Я уже писал, что проблема в функции get_ip - mysql не оптимизированно выполняет sql, надо помочь ему:
Спасибо, fixed.
|
|
|
36
|
Главная категория / Nodeny Plus / Re: radius sql ошибка
|
: 26 Января 2017, 09:08:03
|
Периодически в логе радиуса вижу Thu Jan 26 09:02:04 2017 : Error: rlm_sql_mysql: MySQL error 'Deadlock found when trying to get lock; try restarting transaction' Thu Jan 26 09:02:04 2017 : Error: [sql] Couldn't update SQL accounting ALIVE record - Deadlock found when trying to get lock; try restarting transaction Thu Jan 26 09:02:04 2017 : Error: rlm_sql_mysql: Cannot store result Thu Jan 26 09:02:04 2017 : Error: rlm_sql_mysql: MySQL error 'Deadlock found when trying to get lock; try restarting transaction' Thu Jan 26 09:02:04 2017 : Error: [sql] Couldn't update SQL accounting ALIVE record - Deadlock found when trying to get lock; try restarting transaction Thu Jan 26 09:02:04 2017 : Error: rlm_sql_mysql: Cannot store result Thu Jan 26 09:02:04 2017 : Error: rlm_sql_mysql: MySQL error 'Deadlock found when trying to get lock; try restarting transaction'
|
|
|
39
|
Главная категория / Модули NodenyPlus / Re: Платежная система Fondy
|
: 04 Января 2017, 18:30:21
|
В rev 436 я так понял настройки в файле прописывать, а не админке? Тк после обновления пишет "fondy plugin is not configured"
Возможно слетели настройки модуля fondy посмотри настройки id и ключ в настройке модуля.
|
|
|
41
|
Главная категория / Nodeny Plus / Re: После установки Nodeny+ есть пару вопросов.
|
: 02 Января 2017, 14:13:26
|
При добавлении динамического пула пишет "Ошибка. Проверьте правильность ввода ip, также, что конечный номер > начального"
Начальный ip 10.20.0.2 Конечный ip либо количество 10.20.0.50
C другими адресами также..
update Решилось пересозданием функции change_ippool в mysql
|
|
|
42
|
Главная категория / Nodeny Plus / Re: Вопрос по разработке доп.плюшек....
|
: 28 Декабря 2016, 13:46:08
|
Как переносил я абонентов из abills в nodeny+ Т.к. в базе abills uid абонентов пересекались с id в базе нодени, то для новых абонентов я выставлял id+5000 Ибо в abills была привязка id к платежам, так 10 абонент в абиллс имеет id 5010 в nodeny. В abills улицы были назначены по группам, в nodeny мне не нужно было чтобы каждая улица записывалась в отдельную группу, поэтому используется функция select_street - выбор улиц из групп abills и сопоставление их с _adr_street в nodeny. Выборка по балансу также есть, но в nodeny его не заносил, не было необходимости. #!/usr/bin/env bash
# Func connect to mysql abills connect_abills () { mysql -D abills -u root -pPASSWORD -Bse "$1" 2>/dev/null }
# Func connect to mysql nodeny connect_nodeny () { mysql -D nodeny -u root -pPASSWORD -Bse "$1" 2>/dev/null }
# For new NoDeny+ clients id is (id + 5000) new_id () { let add=$1+5000 echo $add }
# Replace date in mysql format replace_date () { connect_nodeny "SELECT UNIX_TIMESTAMP('$1')" 2>/dev/null }
# Date now in mysql format time_now () { connect_nodeny "SELECT UNIX_TIMESTAMP(NOW())" 2>/dev/null }
uid_enabled="/SCRIPTS/tmp/uid.enabled.txt" uid_disabled="/SCRIPTS/tmp/uid.disabled.txt"
# Выбор пользователей с активными услугами connect_abills "SELECT users.uid FROM users LEFT JOIN users_pi ON (users.uid = users_pi.uid) WHERE users.disable=0" > $uid_enabled
# Выбор пользователей, которые уже не получают услуги / отключены физически connect_abills "SELECT users.uid FROM users LEFT JOIN users_pi ON (users.uid = users_pi.uid) WHERE users.disable=1" > $uid_disabled
# Func выбор улиц из групп abills и сопостовление их с data0 _adr_street в nodeny select_street () {
STREET=$1
if [ "$STREET" == "Артековская" ]; then nd_adr_street="284" echo "$nd_adr_street"; elif [ "$STREET" == "Гоголя" ]; then nd_adr_street="286" echo "$nd_adr_street"; elif [ "$STREET" == "Исполкомовская" ]; then nd_adr_street="288" echo "$nd_adr_street"; elif [ "$STREET" == "пр. Гагарина" ]; then nd_adr_street="306" echo "$nd_adr_street"; elif [ "$STREET" == "И т.д. для нужного кол-ва улиц" ]; then nd_adr_street="299" echo "$nd_adr_street"; else nd_adr_street="" echo $nd_adr_street; fi
}
# Для всех uid которые разрешены for nodeny_id in $(cat $uid_enabled) do
# Table users nd_id=$(connect_abills "select uid from users where uid=${nodeny_id}") nd_name=$(connect_abills "select id from users where uid=${nodeny_id}") nd_passwd=`connect_abills "select decode(password,'secret_key') from users where uid=${nodeny_id}"` nd_grp="5" # Отдельная группа и её id 5 nd_contract=$(connect_abills "select contract_id from users_pi where uid=${nodeny_id}") nd_contract_date=$(connect_abills "select contract_date from users_pi where uid=${nodeny_id}") nd_new_contract_date="$(replace_date $nd_contract_date)" nd_state="on" nd_fio="$(connect_abills "select fio from users_pi where uid=${nodeny_id}")" nd_balance="$(connect_abills "select deposit from bills where uid=${nodeny_id}")" nd_time_now=$(time_now)
# Table data0 nd_uid="$(connect_abills "select uid from users_pi where uid=${nodeny_id}")" tmpl_adr_street="$(connect_abills "select address_street from users_pi where uid=${nodeny_id}")" nd_adr_house="$(connect_abills "select address_build from users_pi where uid=${nodeny_id}")" nd_adr_room="$(connect_abills "select address_flat from users_pi where uid=${nodeny_id}")" nd_adr_telefon="$(connect_abills "select phone from users_pi where uid=${nodeny_id}")" nd_provider="3" # Отдельный провайдер с id=3 в доп поле nd_new_street=$(select_street $nd_adr_street)
select_street "$tmpl_adr_street"
# Заполняем таблицы в nodeny. connect_nodeny " INSERT into users SET modify_time=UNIX_TIMESTAMP(), id='$(new_id $nd_id)', name='$nd_name', lstate='0', limit_balance='0', contract='$nd_contract', contract_date='$nd_new_contract_date', fio='$nd_fio', cstate='6', grp='5', block_if_limit='1', state='on', cstate_time='$nd_time_now', comment='', passwd=AES_ENCRYPT('$nd_passwd', 'password key - hardpass');
DELETE FROM data0 WHERE uid='$(new_id $nd_id)'; DELETE FROM users_trf WHERE uid='$(new_id $nd_id)'; DELETE FROM auth_log WHERE uid='$(new_id $nd_id)'; DELETE FROM users_services WHERE uid='$(new_id $nd_id)'; DELETE FROM pays WHERE mid='$(new_id $nd_id)';
INSERT INTO users_trf SET uid='$(new_id $nd_id)',traf4='0'; UPDATE users SET name='$(new_id $nd_id)1' WHERE id='$(new_id $nd_id)' LIMIT 1;"
# Заполняем таблицу data0 под свои нужды connect_nodeny "INSERT into data0 (uid, _adr_street, _adr_house, _adr_room, _adr_telefon, _gorod, _adr_place, Sw_port, _olt_numb, _olt_port , _onu_id, _vlan_custom, _master_id,_provide, _staic_ip,_qinq_vlan) VALUES ( '$(new_id $nd_uid)', '$nd_adr_street', '$nd_adr_house', '$nd_adr_room' , '$nd_adr_telefon', '12', '', '', '25', 'newprov','', '610','master', '$nd_provider','','3003');"
# Устанавливаем коментарий что это Transfer from Abills, можно не делать connect_nodeny "INSERT INTO pays (mid,time,creator,creator_id,reason,comment,category,creator_ip) VALUES ( '$(new_id $nd_uid)', $(time_now), 'admin' ,'11', 'Transfer from Abills', 'Transfer from Abills','495','3239309826')"
done
|
|
|
43
|
Главная категория / Nodeny Plus / Re: Mikrotok ipoe + dhcp + radius
|
: 28 Декабря 2016, 13:05:47
|
И как у Вас в таком случае в учетке абонента указан не мак, а vlan его?
Мне вообще привязка по маку не нужна. У меня есть сущность которая отделяет уникального абонента от других - Vlan свой на каждого абонента.
|
|
|
44
|
Главная категория / Модули NodenyPlus / Re: Платежная система Fondy
|
: 28 Декабря 2016, 12:02:26
|
Давай сначала заключишь, а потом сделаем. А то будет как с приложением для андроида - желающих было достаточно, но как сделал - все попрятались
По андроиду - следующий этап, ещё будут обращения.. Пока не дошёл. И для платёжных терминалов я так понимаю мне тоже нужно это будет. Хорошо, уладим сначало с fondy.ua если резон есть, значит сделаем.
|
|
|
45
|
Главная категория / Модули NodenyPlus / Re: Платежная система Fondy
|
: 28 Декабря 2016, 11:52:12
|
Мне надо модифицировать модуль. Ты это теоретически спрашиваешь или уже заключил договор по всем трем мерчам?
По мерчам ещё не заключил. Поставил для теста пока. Но будем использовать. В системе используется 3 разные счёта. Счета клиентов должны отличаться по полю "Провайдер" Сейчас клиент оплачивает в банке, обязательно указывая номер договора (треть абонентов забывает это сделать) бухглатерия разносит всё это дело руками.. и не дай бог если клиент заплатит не на тот счёт или не укажет номер договора... Поле Провайдер хранится в таблице data0 - `_provider` varchar(255) NOT NULL DEFAULT ''
|
|
|
|