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

Главная категория => Nodeny Plus => Тема начата: tom от 12 Февраля 2019, 13:36:15



Название: Параметри підключення абона
Отправлено: tom от 12 Февраля 2019, 13:36:15
Вітаю, питання може більше до Стаса.
В яких випадках може видалятися значення поля uid в таблиці mac_uid. І в яких випадках взагалі обнуляються всі значення запису в таблиці?

Є випадки коли в абона зникає параметри підключення, дивлюсь в базу, а в нього в uid пусто. Використовується один на порту.
Сьогдні звернулися з подібною проблемою де використовую модуль з аліасами. Там зникли у клієнта параметри підключення, і в базі взагалі не знаходжу його мака, тобто повністю зник запис.

Як віддебажити подібну проблему? Що в коді може таке робити і за яких умов. Перелопати процедуру radreplay - там немає жодного апдейта поля uid.

Дякую за підказку


Название: Re: Параметри підключення абона
Отправлено: Efendy от 12 Февраля 2019, 19:47:23
web/user/_dhcp.pl вызывается когда абон с неизвестным маком попал на заглушку и дальше ввел корректный пароль. Биллинг знает, что такой-то ip в данный момент принадлежит этому залогиненному клиенту. Просто к слову скажу, что он не создает "привязку к ip" или "привязку ip к мак" - в данный момент ip это просто связующее звено чтобы получить мак. И вот мак привязывается уже к учетке. Я это несколько раз повторял, просто и сейчас повторю от фонаря на память.

Далее в коде встречается:
 
Код:
my $rows = Db->do("UPDATE mac_uid SET uid=0 WHERE uid=? AND ip<>INET_ATON(?)", $uid, $ses::ip);
переводится так: обнулить все id абонов на связках, где иной ip чем текущий.

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

Но. Потом я эту строку закомментировал. Так что проверь не раскомментирована ли она у тебя

Возможно, где-то еще обнуляется, но там уже гляну позже


Название: Re: Параметри підключення абона
Отправлено: tom от 12 Февраля 2019, 23:43:31
web/user/_dhcp.pl вызывается когда абон с неизвестным маком попал на заглушку и дальше ввел корректный пароль. Биллинг знает, что такой-то ip в данный момент принадлежит этому залогиненному клиенту. Просто к слову скажу, что он не создает "привязку к ip" или "привязку ip к мак" - в данный момент ip это просто связующее звено чтобы получить мак. И вот мак привязывается уже к учетке. Я это несколько раз повторял, просто и сейчас повторю от фонаря на память.

Далее в коде встречается:
 
Код:
my $rows = Db->do("UPDATE mac_uid SET uid=0 WHERE uid=? AND ip<>INET_ATON(?)", $uid, $ses::ip);
переводится так: обнулить все id абонов на связках, где иной ip чем текущий.

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

Но. Потом я эту строку закомментировал. Так что проверь не раскомментирована ли она у тебя

Возможно, где-то еще обнуляется, но там уже гляну позже

Якщо один на порту, то мак просто перезаписується. Там де аліаси, там немає один на порту - і там нашли "глюк", один з операторів випадково поставив галочку один на порту абону і у всих хто на цьому порту затерло ))

Але є іноді затирання uid, хочу вияснити причину цього затирання, оськільки скрізь стоїть один на порту. І клієнт реально один на порту.

Рядок закоментував, був розкоментований.


Название: Re: Параметри підключення абона
Отправлено: fet4 от 27 Апреля 2019, 14:18:11

Код:
my $rows = Db->do("UPDATE mac_uid SET uid=0 WHERE uid=? AND ip<>INET_ATON(?)", $uid, $ses::ip);

Но. Потом я эту строку закомментировал. Так что проверь не раскомментирована ли она у тебя


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