Перейти до

Ubilling Freeradius несколько NAS отключения абонента


Рекомендованные сообщения

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

Пытаюсь внедрить Ubilling для имеющейся сети, есть несколько NAS - accel, киска и тд.  Интернет предоставляется по PPPoE

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

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

И какие есть еще варианты?

Відредаговано Hertan
Ссылка на сообщение
Поделиться на других сайтах

Всяко у вас авторизация по радиусу? Не используете "Блокирование доступа должникам, отключенцам и отморозками"?

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Всяко у вас авторизация по радиусу? Не используете "Блокирование доступа должникам, отключенцам и отморозками"?

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

Відредаговано Hertan
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

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

Відредаговано Hertan
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Да документацию я смотрел вот именно что там ничего не описано про реализацию схемы:

Пользователи которые проплатили и используют интернет имеют  адреса подсети 10.0.0.0/8 или белые и пользуются интернетом

Пользователи которые не проплатили получают адрес  вида 172.16.Х.Х и не получают доступ ко всем интернетам, а только к определенным адресам

И в файрволе я пишу что то

iptables -t nat -A POSTROUTING -s 10.0.0.0 -o ${ВНЕШНИЙ_ИНТЕРФЕЙС} -j MASQUERADE

iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -d ${АДРЕС ЛИЧНОГО КАБИНЕТА} -o ${ВНЕШНИЙ_ИНТЕРФЕЙС -j MASQUERADE

Может как то по другому реализовано, но главное что бы пользователи которые не внесли абон плату, получали доступ к личному кабинету, и только, доступа в интернет быть не должно

Відредаговано Hertan
Ссылка на сообщение
Поделиться на других сайтах

Да документацию я смотрел вот именно что там ничего не описано про реализацию схемы:

Заворачить должников нужно фаером, чисто на уровне OnDisconnect - вообще не обязательно выдавать им другие айпишки, ибо это заведомое мудацтво.

 

И нет, я все также ничего не понимаю в этих ваших линуксах, но подозреваю что для заворотов  DarkSpider где-то уже расписывал на форуме решение. Там еще кажись что-то про ipset было.

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах

ну проблем жешь нету ни каких !! ipset вам в помощь!!!! отключенных абонов добавлять в таблицу и еще создать таблицу с исключениями и все делаете похожее на вот это iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -d ${АДРЕС ЛИЧНОГО КАБИНЕТА} -o ${ВНЕШНИЙ_ИНТЕРФЕЙС -j MASQUERADE только условеи с таблицы отключенных можно ходить в таблицу исключений. он дисконект при отключение записывает ипишник в таблицу отключенных, а при включении удаляет. принцип тот же как и в ipfw

Відредаговано DemonidZe
Ссылка на сообщение
Поделиться на других сайтах
  • 3 weeks later...

так как топик проиндексирован гуглом я опишусь

Добавил атрибут в убиллинге 

reply Filter-Id = {user[state]}

 

атрибут Filter-id  описан в RFC 2865 и присутствует во втором радиусе, кушается микротиком.

{user[state]} возвращает 4 статуса: 1) если включен = ON-LINE, 2) если выключен администратором DOWN, 3)если заморожен PASSIVE 4) Если отключен биллингом то OFF-LINE

 

accel я использую в связке со штатным линуксовым tc.

создаю таблицу BLOCKED /usr/sbin/ipset -N BLOCKED iphash

тем, самы, получаю возможность в Iptables манипулировать данной таблицей

в скрипт запуска где я ограничиваю скорости /etc/ppp/ip-ip.local дописываю что то наподобие такого.

варнинг! синтаксис для баша для некоторых махровых версий sh не подойдет.

 

 

IP=`/usr/bin/awk '/Framed-IP-Address/ {print $2}' /var/run/radattr.$1`
STATE=`/usr/bin/awk '/Filter-Id/ {print $2}' /var/run/radattr.$1`
if [[ "$STATE" == "PASSIVE" ||  "$STATE" == "DOWN"  || "$STATE" == "OFF-LINE" ]] ;
then /usr/sbin/ipset -A BLOCKED $IP
else
/usr/sbin/ipset -D BLOCKED $IP
fi
Далее как будет время, попробую настроить CoA/PoD функционал и если получится дополню ответ
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від sanyadnepr
      Приветствую всех.
      Подскажите пожалуйста где копнуть и нет ли проблемы со стороны протокола взаимодействия сити24 или возможно не учтена необходимая проверка в модуле сити24 в Ubilling, пока писал понял что похоже в проверке payID, но это не точно.  
      Недавно обнаружилось с сити24 начали прилетать дубликаты платежей, в целом платежей мало, два одинаковых запроса Pay с одинаковым transactionID и payID в одну секунду одному платежному ID при этом биллинг "думает" примерно чуть больше минуты и отвечает одним ответом <result>0</result>, сити24 утверждает что ответ они не получили и по протоколу дальше повторяет запросы дублем, биллинг ответ и так по кругу, сити24 спрашивает каким образом с одинаковым payID от сити24 билл продолжает обрабатывать запросы и пополнять абоненту счет раз в 5 минут примерно, на одну и туже сумму, ведь этот payID уже был обработан предполагают сити24 согласно протоколу.
      Конечно есть вопрос к сити24 зачем они дублем присылают два запроса, но они отвечают что эта ситуация учтена в протоколе и проблема на стороне биллинга, потому что он пополняет счет по уже обработанному одинаковому payID.
      При этом transactionID в дублях одинаковый, но с каждым новым дублем разный.
      Если зафаерволить запросы от сити24, но оставить возможность отвечать то после блокировки билл отправляет 2-3 минуты 6 ответов <account>0001</account>  <result>0</result>.
      После снятия блокировки, дубли и платежи нескольких проблемных абонентов прилетают так же по кругу, при этом и с некоторыми новыми пополнениями происходит аналогичная ситуация.
      В openpayz в платежах transactionID и не видно payID.
    • Від nightfly
      Ubilling 1.4.3 rev 9058 The Bladewood Grove
       
      Зміни в структурі БД. alter.ini: нові опції OPHANIMFLOW_ENABLED та OPHANIMFLOW_URLS котрі вмикають та керують інтеграцією з OphanimFlow. alter:ini: нова опція PHOTOSTORAGE_POSTPROCESSING, що вмикає післяобробку зображень при завантаженні в Сховище зображень. alter:ini: нова опція PHOTOSTORAGE_WATERMARK, що вмикає розміщення вотермарки на всіх зображеннях, що завантажуються. alter:ini: нова опція PHOTOSTORAGE_RECOMPRESS, що вмикає зміну компрессії завантажених зображень. alter:ini: нова опція PHOTOSTORAGE_AUTORESIZE, що вмикає автоматичне та лагідне масштабування зображень конячих розмірів. alter:ini: нова опція PHOTOSTORAGE_DRAWIMGINFO, що вмикає вдруковування в зображення відлагоджувальної інформації. alter.ini: нова опція ONDEMAND_CHARTS, що вмикає відкладене завантаження графіків завантаження користувацької смуги. userstats.ini: нова опція OPHANIM_ENABLED, що вмикає інтеграцію OphanimFlow в кабінеті користувача. Модуль Заздрість: тепер авторизаційні дані пристроїв, не відображаються в списку пристроїв. Модуль “Заздрість”: при створенні та редагуванні пристроїв, для полів “пароль” та “enable пароль” тепер використовуються інпути паролів. Модуль “Заздрість”: заздрісним пристроям додано нове поле “Порт”. Тепер в скриптах можна використовувати, відповідний макрос {PORT}. Модуль “Статистика трафіку користувача”: проведено радикальний рефакторинг. Модуль “Статистика трафіку користувача”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Статистика трафіку користувача”: виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Модуль “Статистика трафіку користувача”: додано можливість відображення графіків за останню годину з OphanimFlow. Модуль “Користувачі”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Сховище зображень”: тепер додатково перевіряє завантажувані зображення на тему їх валідності. Модуль “Фінансові операції”: виправлено відображення суми платежів користувача. Remote API: новий виклик ophanimtraff, який просто бере і синхронізує локальну БД з віддаленими джерелами OphanimFlow. Remote API: виклик userbynum тепер також опційно містить поле з “Платіжним ID” користувача. Глобально: у всіх полях вводу паролів, окрім форми входу, тепер відображається елемент керування “показати/приховати” пароль. Кабінет користувача: в модулі “Трафік” додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Кабінет користувача: в модулі “Трафік” виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Кабінет користувача: в модулі “Відеоспостереження” для NVR WolfRecorder замінено розділювач попередньо заповнених даних авторизації. OpenPayz: додано frontend portmonemulti, для отримання платежів від різних контрагентів. Інформацію по контрагентам бере з біллінгу, також використовую розширену інформацію контрагента. Платіжна система в контрагенті мусить бути створена, як PORTMONE 1984tech: додано функціонал генерації RPZ для isc-bind, спасибі @misterromanbush  
      Повний чейнджлог
      Оновлена демка
       

    • Від mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  
    • Від Dilan
      Собственно ищу кто сделает такую связку с нуля под ключ. Тз высылаю в личку. Заранее спасибо.
    • Від ukrtelekom
      Доброго часу!
      Шукається адміністратор віддалений для разової роботи по коригуванню працюючого Ubilling з мікротами. Якщо стосунки зклєяться- то до постійної додаткової копійки. 
      Всім заздалегідь дякую. Хейти, бажано не писати. Контакти в приватні повідомлення або O73283344O
×
×
  • Створити нове...