The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новая бесплатная биллинговая система ABillS

26.01.2005 12:04

Представляю новую биллинговую систему для учета работы Dial-Up и VPN пользователей. Система написана на Perl, используется совместно с MySQL и FreeRadius.

Возможности:

  • Учёт времени;
  • Учёт трафика;
  • Система скидок;
  • Установка минимальной цены сессии;
  • Работа с неограниченным количеством NAS серверов;
  • Авторизация по SQL базе данных или по системной UNIX базе паролей;
  • Авторизация по PAP или CHAP (CHAP при сохранении паролей в SQL базе);
  • Авторизация PPPOE по MAC адресу;
  • Разделение трафика на 3 вида (внутренний, внешний, бесплатный) (Только для VPN);
  • Ограничение скорости в зависимости от вида трафика (Только для VPN);
  • Создание месячных предоплаченных по трафику пакетов;
  • Просмотр статистики за любой период времени;
  • Генерация и отправка администратору месячных и годовых отчётов по работе системы;
  • Лог действий администратора.

    1. Главная ссылка к новости (http://abills.sf.net/...)
    Автор новости: ~AsmodeuS~
    Лицензия: CC BY 3.0
    Короткая ссылка: https://opennet.ru/4974-billing
    Ключевые слова: billing, dialup, vpn
    При перепечатке указание ссылки на opennet.ru обязательно


    Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, GateKeeper (??), 13:09, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интерфейсы кассира, директора (ну там, только статистика), администратора (этот есть, как я вижу), иных операторов есть?

    Корректировка Session-Octets-Limit и Octets-Direction или Session-Tiomeout по ходу сессии существует (для возможности внесения оплаты без отключения ppp или vpn-сессии)?

    Возможность задать 15 числа месяца то, что с начала следующего пользователь работает по иному тарифу?

    Предохранение от удаления тарифов, пользователей, информации о платежах (иначе ведь вся статистика побъется)?

    Возможность работы с mpd и ограничение vpn-сессий по Drop-User (ибо Session-Octets-Limit и Octets-Direction он не понимает)?

     
     
  • 2.3, AsmodeuS (?), 13:23, 26/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    1. Есть возможность разделения на группы но ещё до конца она не протестирована
    2 Есть Session-Tiomeout, а для ВПН сесий есть Session-Octets-Limit при условии использования ppp входящего в комплект.
    3 Вносить деньги можна в любой момент но пользователя разорвёт по истечению сумы которая была на момент подключения.
    4 Такой возможности ещё нет
    5 Только предупреждения, при удалении любых записей
    6 В стандартном MPD нет Drop-User если появится внесу корективы в биллинг.
     
     
  • 3.4, GateKeeper (??), 13:32, 26/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    3. Вот по этому вопросу подробнее: это в принципе невозможно, или все-таки при Acct-Update можно NAS'у возвращать уточненные на текущий момент Session-Timeout, Session-Octets-Limit и Octets-Direction (сам бьюсь над этим, но не совсем еще разобрался, читаю RFC) возможно, но не реализовано?

    6. ftp://ftp.ufanet.ru/pub/boco/mpd/ - тут есть патчи, разрешающие Drop-User (там еще куча поправок). Собственно, проблем с наложением патча у меня не возникало. Описав дополнительно наложение патча в документации можно и фичу прикручивать.

     
  • 2.5, AsmodeuS (?), 13:34, 26/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    В следующей верси постраюсь полную сделать поддержку MPD с возможностью ограничения времени, трафика и хенгапом с веб формы
     
  • 2.13, sauron (?), 15:30, 26/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Корректировка Session-Octets-Limit и Octets-Direction или Session-Tiomeout по ходу сессии существует (для возможности внесения оплаты без отключения ppp или vpn-сессии)?
    Это требует создания обратной связи. На уровне alive пакетов отдавать их нельзя (см rfc на RADIUS протокол). Необходимо внести в код RADIUS плагина, auth-request с переодичностью в n минут к примеру, а в reply возвращать лимиты. Это наиболее правильный вариант.
     

  • 1.2, GateKeeper (??), 13:12, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да, совсем забыл...

    За проект - огромное спасибо.

    PS. Выше - не наезд, просто уточнение. А то сидю вот, пытаюсь свое наваять...

     
  • 1.6, Chris (??), 13:44, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо огромное!!! работа проделана просто сумащедшая! спасибо за проект! :-)
     
  • 1.7, Shumov Sergey (?), 13:49, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а exppp то старенький. В новых версиях есть несколько дополнительных вкусностей.
    И кста - как Вы собираетесь в mpd разделять трафик на зоны ?
     
     
  • 2.10, AsmodeuS (?), 14:41, 26/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    На сейте http://shs.sumy.ua последняя версия 0.2.4 её я взял и немного поправил там было пару багов. Мне более удобно когда как порт передаётся номер туна. Все эти новшества и другие непонятки я хотел донести до автора хотя мне с ним связаться так и не удалось, он не отвечал на письма и посты на форуме. Версия имеет суфикс asm для явного отличия от стандартного exppp.

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

    Как написал возможно в следующем  дисте будет реализирована максимально удобная работа с mpd.

    Нащёт перехода на другие системы баз даных то скорее это будут модули для PostGreSQL, Interbase, Oracle. (Но это все в нескором будущем, щас развиваються другие не мене важные модули)

     

  • 1.8, Shumov Sergey (?), 13:56, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И вот ещё одно пожелание маленькое:
    MySQL довольно избыточен. Не приходило ли мысли использовать какое либо другое хранилище ? SQLite например ? :)

     
  • 1.9, Linuxuser (?), 14:26, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А под линуксом как работает? Никак?
     
     
  • 2.11, AsmodeuS (?), 14:48, 26/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Всё ядро системы написано на Perl использует FreeRadius, Apache.
    Есть свой веб сервер на перл правда ещё без авторизации.
    Дополнительный софт может на линуксе не собраться но в линуксе есть аналоги.
    Всё это можно портировать на линукс. Если ктото ещё напишет инструкцию я буду только за.
     

  • 1.12, Аноним (-), 14:53, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Выглядит неплохо...
     
  • 1.14, lexxus (??), 17:17, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Работает ли этот билинг под FreeBSD 5.2 ?
    Будет ли билинг портирован ?
    Возможно ли хранение базы в Oracle 8.0.5 или MS SQL ?
     
     
  • 2.15, AsmodeuS (?), 18:05, 26/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Работает нормально как на 5.хх так и на 4.хх.
    Портирован на что ?
    Если Вас интересует будет ли создан порт для более быстрой установки билинга и компонентов - да будет.
    Большенство запросов и таблиц сделано с поддержкой SQL 92 но гарантии нет что оно будет работать.
    В будущем планируется сделсть его совместимыv такими базами как PostrgeSQL, Interbase и  вчасности Oracle.
     

  • 1.17, lexxus (??), 18:32, 26/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    PS особенно понравился вопрос про портирование - от души посмеялся :) Спасибо!
    ____________________

    1. Чем не нравится установка из портов ?
    2. Понимать и думать - не проблема. но прежде чем пробовать что то устанавливать на работающую систему не лучше ли перестраховаться и уточнить ньюансы у автора програмы ?


     
  • 1.18, Nuller (?), 08:11, 27/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Файл pppowho
    #!/usr/bin/perl

    $gateway = '217.196.163.14';
    open(IFCONFIG, "/sbin/ifconfig |") || die "Can't open ifconfig $!";
    while(<IFCONFIG>) {
        $ifconfig .= $_;
      }
    close(IFCONFIG);

    while($ifconfig =~ /tun(.+\n.+\n.+PID.+)/gi) {
       push(@tuns,  $1);
      }
    Живые IP это так надо для работы?

     
     
  • 2.20, AsmodeuS (?), 11:40, 27/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Нет.

    Это тестовый файл он практически не нужен.

     

  • 1.19, Dmitry (??), 09:50, 27/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хочу посмотреть, как ограничили количество сессий - подскажите, пжалста, где копнуть. С первого наскоку не нашёл ;(
     
     
  • 2.21, AsmodeuS (?), 12:04, 27/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Есть 2 варианта
    1 Ограничение на количество сесий предусмотреное в тарифном плане. Например если падключаетесь по тарифному плану номер 9 в нем предусмотрено 1 сесия то можете подключиться с этим логином только 1 раз, второй раз не пустит.
    2 Ограничение количества сесий для определёного пользователя, эта настройка более приоритетна. Если она 0 то учитываеться количество сесий предусмотреных тарифным планом.
     
     
  • 3.22, Dmitry (??), 12:46, 27/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    не не %)
    Хочется посмотреть, как это сделано в скриптах. Я так понимаю, за авторизацию отвечает /usr/abills/libexec/rauth.pl, именно он посылает Reject  если понимает, что сессия с таким логином уже есть.
    В моей ситуации на radacct (на сессии с нулевым стоп-таймом) полагаться нельзя - поэтому я сейчас пишу проверку из скрипта ip-up, куда exppp шлёт логин и прочее.
     
     
  • 4.23, AsmodeuS (?), 18:28, 27/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    205 строка там есть коменты
     

  • 1.24, Аноним (24), 20:41, 27/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    если устанавливать софт с портов
    надо подгонять кое-что
     
     
  • 2.25, AsmodeuS (?), 21:30, 27/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Отличаются пути от тех которые приводятся в документации
     

  • 1.26, qwerty (??), 12:02, 28/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Господа! кто поставил и поюзал - не пожадничайте! поделитесь отзывами! будем признательны, тк предстоит скоро нечно подобное в офисах внедрять.. Заранее спасибо ответившим!
     
  • 1.27, Аноним (24), 13:36, 28/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    туповатый вопрос, но всё же
    web_serv../billing/
    логин и пасс , что вводить то?
     
  • 1.28, Аноним (24), 14:15, 28/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    тупо
    сорри)
     
  • 1.29, AsmodeuS (?), 19:12, 28/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отрылся форум все интересующие Вас вопросы сможете задать там.
     
  • 1.30, anonim (?), 15:11, 30/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поддерживается ли лимитирование траффика т.е 50мб поставил и больше этого не скачается.
     
     
  • 2.31, AsmodeuS (?), 11:44, 31/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    да для VPN соединений
     
     
  • 3.32, promind (?), 21:36, 21/02/2005 [^] [^^] [^^^] [ответить]  
  • +/
    does this billing system has php interface?
     
  • 3.33, Дмитрий (??), 10:39, 22/02/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >да для VPN соединений


    Для этого нужно патч mpd установить на pptpd?

     

  • 1.34, citrin (ok), 20:08, 05/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как на счет масштабируемости? Если каждый запрос запускать внешний перл-скрипт я думаю будет гораздо больше накладных расходов, чем если радиус через уже устаноыленное соединение с БД пошлет запрос. А необходимую логику можно реализовать в виде триггеров.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру