Просмотр сообщений
|
Страниц: 1 2 [3] 4 5 ... 22
|
31
|
Главная категория / Модули NodenyPlus / Re: Модуль для MEGOGO
|
: 23 Октября 2019, 12:13:21
|
какая версия биллинга? h__p://nodeny.com.ua/wiki/index.php/%D0%A3%D0%B7%D0%BD%D0%B0%D1%82%D1%8C_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8E_NoDeny
прикрепи файл /usr/local/nodeny/cfg/RU/_tune.cfg (там никаких секретных данных нет)
r500 | sv | 2018-02-12 10:04:15 +0200 (Пнд, 12 Фев 2018) | 1 line
|
|
|
35
|
Главная категория / Nodeny Plus / Re: Отключение сервера биллинга без падения NAS
|
: 19 Июня 2019, 21:19:18
|
Установить лизинг равный сколько надо и умножить на два. Если дхцп на серваке - то конфиг. Если через радиус - то в процедуре radreply время лизинга устанавливается через SELECT NULL, login, 'Session-Timeout', '600', '=';
т.е. 600 сек или 10 мин. Session-Timeout - это длительность сессии от ее начала на сервере доступа, ничего общего с lease time и renew time
|
|
|
37
|
Главная категория / Nodeny Plus / Re: Пара вопросов
|
: 04 Мая 2019, 10:08:05
|
Чтобы не создавать отдельную тему - как можно выбрать абонентов, всех, кто подключен к определённому комутатору (опция 82). Нет поиска по устройству.
SELECT * FROM `mac_uid` WHERE `device_mac` LIKE 'fcfaf72b8592'
|
|
|
39
|
Главная категория / Ревизии / Re: rev 549. Модуль ядра ses_traf
|
: 30 Апреля 2019, 20:22:33
|
Пока не в курил ses_traf.pm, не пойму нужно ли менять my $round_seconds = 60, если период аккаунтинга != 60 ? И что бы не дублировать одни и те же call radupdate можно так accounting { reference = "%{tolower:type.%{Acct-Status-Type}.query}"
type {
start { query = "call radupdate(\ '%{Framed-IP-Address}',\ '%{Acct-Session-Id}',\ '%{expr:(%{%{Acct-Input-Gigawords}:-0} * 4294967296) + %{%{Acct-Input-Octets}:-0}}',\ '%{expr:(%{%{Acct-Output-Gigawords}:-0} * 4294967296) + %{%{Acct-Output-Octets}:-0}}',\ 'user=%{Calling-Station-Id};\ nas=%{NAS-IP-Address};'\ )" }
stop { query = "call radstop('%{Framed-IP-Address}')" }
interim-update { query = "${..start.query}" }
} }
|
|
|
40
|
Главная категория / Nodeny Plus / Re: Параметри підключення абона
|
: 27 Апреля 2019, 14:18:11
|
my $rows = Db->do("UPDATE mac_uid SET uid=0 WHERE uid=? AND ip<>INET_ATON(?)", $uid, $ses::ip); Но. Потом я эту строку закомментировал. Так что проверь не раскомментирована ли она у тебя В таком случае если клиент не с фиксированным подключением, получится привязать одну учетку к нескольким записям.
|
|
|
42
|
Главная категория / Nodeny Plus / Патчинг
|
: 24 Апреля 2019, 15:58:33
|
Не могу понять в чем проблема, ткнете носом Есть патч #<ACTION> file=>'web/user/dhcp.pl',replace=>'',after=>'dhcp' my $rows = Db->do("UPDATE mac_uid SET uid=? $sql_set WHERE ip=INET_ATON(?) AND time>(UNIX_TIMESTAMP()-600)", $uid, $ses::ip); Db->ok or Error $lang::user::soft_error; $rows < 1 && Error(<<MSG); #<REPLACE> my $rows = Db->do("UPDATE mac_uid SET uid=? $sql_set WHERE ip=INET_ATON(?) AND time>(UNIX_TIMESTAMP()-600)", $uid, $ses::ip); Db->ok or Error $lang::user::soft_error; $rows < 1 && Error(<<MSG);
Other code...
perl install.pl -x
[?] в web/user/dhcp.pl не найден фрагмент: my $rows = Db->do("UPDATE mac_uid SET uid=? $sql_set WHERE ip=INET_ATON(?) AND time>(UNIX_TIMESTAMP()-600)", $uid, $ses::ip); Db->ok or Error $lang::user::soft_error; $rows < 1 && Error(<<MSG);
Что не правильно ?
|
|
|
43
|
Главная категория / Nodeny Plus / Re: Фичереквест на NoDeny+
|
: 25 Марта 2019, 14:35:34
|
Помогите пожалуйста с кодом. В /usr/local/nodeny/web/start_user.pl есть участок кода if( $info->{cstate} == 1 && scalar @cfg::request_info_from_usr ) { debug("Запись в состоянии 'на подключении' - запросим контактные данные вне зависимости от команды"); unshift @cfg::Plugins, 'req_info'; $cmd = 'u_req_info'; } elsif( $cmd eq 'u_req_info' ) { $cmd = 'u_main'; }
где вызывается request_info.pl когда учетка в состоянии "на подключении". Хочу после или до сохранения данных, запросить выбрать услугу находясь в состоянии "на подключении". Услуги создал с условием cstate = 1, а вот как тут разрулить не пойму. Нужно для того что бы показывать разные акционные услуги при подключении.
|
|
|
44
|
Главная категория / Nodeny Plus / Re: DHCP + Opt82 + Radius
|
: 28 Октября 2018, 20:10:35
|
А как получается, что выдается один и тот же ip? Предполагаю так, работает клиент, потом отключается, ip через час освобождается, но походу ip не затирается в mac_uid ?! и тут подключается гость, получает этот Ip, регистрируется и в mac_uid находится по ip, якобы его связку. P.S. Я не сразу отвечаю, потому что занят другой задачей (переделкой модуля snmp) и чтобы вникнуть в логику dhcp, которая слегка ебанутая, приходится долго вспоминать что там к чему Та это пиздец, я уже думаю рисовать все связи на бумаге между маками и другими сущностными в dhcp режиме, что бы построить правильный алгоритм.
|
|
|
45
|
Главная категория / Nodeny Plus / Re: DHCP + Opt82 + Radius
|
: 27 Октября 2018, 15:35:19
|
Стас проскакивает ситуация во время новой активации связки mac=uid клиентом, что новая активация забирает чужую связку работающего юзера или недавно получавшего этот ip, предположительно это происходит из-за того что связка находится по ip, насколько я понимаю по другому не найти ее в момент активации клиентом через браузер и когда ip в динамике выдается, один и тот же адрес иногда попадает разным клиентам и тут находится связка с уже проставленным uid и она перезаписывается новым uid. Предположительно нужно сделать проверку тут /usr/local/nodeny/modules/dhcp/create.user.dhcp.pl # у клиента сейчас гостевой ip - выдадим новый my $new_ip = $usr->{ips}[0]{ipn}; $rows = Db->do("UPDATE mac_uid SET uid=?, ip=? WHERE ip=INET_ATON(?)", $uid, $new_ip, $ses::ip); Db->ok or Error $lang::user::soft_error;
Добавить проверку WHERE uid=0 или подобную в UPDATE. Что думаешь Стас?
|
|
|
|