Биллинговая система Nodeny
24 Ноября 2024, 06:19:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
  Начало Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1] 2 3 ... 7
1  Главная категория / Nodeny Plus / Re: нет доступа в веб интерфейс ни под админом ни под пользователем : 31 Декабря 2020, 11:49:17
Хорошо что утром узнал, так бы тоже углубился.

Не всем так повезло Грустный

Звонок с утра: "У нас тут ночью без пяти двенадцать небольшая авария была. Сразу-же починили, только теперь в биллинг зайти не можем"

Кто после таких слов подумает, что проблема именно в коде биллинга?

Пришлось перелопатить всё от и до, прежде чем включить $ses::debug=1 в stat.pl и найти причину.

К этому моменту на форуме уже было решение.


Надеюсь, в следующем году нам не придётся с ностальгией вспоминать ласковый и беззаботный 2020-й Улыбающийся
2  Главная категория / Nodeny Plus / Re: Mikrotik ipoe + dhcp + radius : 15 Марта 2017, 07:59:27
Кстати, у микротика появилась интересная железячка
И сколько трафика оно тянет?
3  Главная категория / Nodeny Plus / Re: Nodeny запуск резервного сервера с билингом : 15 Октября 2015, 08:48:35
Как реализовать следующие задачи?
1) В случае падения основного сервера(ip 122.222.111.34) и переходе на страницу билинга(my.bigudi.com), клиенты должны попадать на резервный билинг(ip 45.67.43.3).

Скорее всего, подойдёт протокол CARP.

2) Поднял 2й сервер на VPS. Надо чтобы на 2й сервер дублировались БД с 1го сервера.

Идёте в гугл и ищете "отказоусточивость MySQL", "кластер MySQL". Тысячи ссылок на мануалы вам помогут.
4  Главная категория / Nodeny Plus / Re: После установки Nodeny+ есть пару вопросов. : 21 Января 2015, 23:58:54
Похоже, я неправильно задал вопрос. Сформулирую по другому.

При добавлении ip адреса пул, из которого нужно выдавать адрес, уже известен (сначала выбираем сателлит, затем добавляем адрес). Однако, нажав "Добавить ip",  получаю в ответ выбор из двух пунктов: 0.0.0.0/0 и 192.168.0.0/16, нажав на любой из которых, я, наконец, получаю список свободных адресов в нужном мне пуле.

Может быть я не улавливаю каких-то тонких нюансов, но - зачем предлагается выбор из этих двух сетей? Почему сразу не выдаётся список адресов из нужного пула?

Это так задумано (для чего?) или у меня где-то не так настроено (где?) ?

PS В ajUserIpAdd.pl похоже, ошибка. Вместо ip<=(INET_ATON('192.168.0.0')+POWER(2,32-'16')) должно быть ip<(INET_ATON('192.168.0.0')+POWER(2,32-'16')), иначе в диапазон попадает адрес 192.169.0.0

5  Главная категория / Nodeny Plus / Re: После установки Nodeny+ есть пару вопросов. : 20 Января 2015, 20:17:28
И ещё раз повторю свой вопрос. Что нужно сделать, чтобы при создании клиента предлагало добавлять адрес из нужного пула, а не 0.0.0.0/0 и 192.168.0.0/16?
6  Главная категория / Nodeny Plus / Re: perl5.14 : 19 Января 2015, 23:28:30
Для себя написал инструкцию по быстрому поднятию сервера; всё устанавливается с помощью pkgng кроме freeradius2, т.к. он идёт без драйвера mysql.
Прикрепляю инструкцию!
описаний и коментов мало т.к. ДЛЯ СЕБЯ! кому надо - разберётся
Годится! Сделать из этого shell-скрипт, будет вообще автоматом устанавливаться.

Хотя, на мой взгляд, webmin и phpmyadmin - лишнее (но это личные предпочтения).

ядро собираю на виртуалке и переношу на ворк
Почему не на самом сервере?
7  Главная категория / Nodeny Plus / Re: Backup DropBox Sync : 13 Января 2015, 12:12:25
Храню резервные копии на Amazon Simple Storage Services (Amazon S3). Делал по этой статье: Нttp://habrahabr.ru/post/90244/.
Год после регистрации бесплатно, затем - какие-то смешные деньги (на моих объёмах меньше 20 центов в месяц).
Синхронизация - аналогично, одной строкой в скрипте бэкапа.
8  Главная категория / Nodeny Plus / Re: После установки Nodeny+ есть пару вопросов. : 12 Января 2015, 13:02:34
N+ может загружать файлы css и js двумя способами:
...
Спасибо! Установка в "Да" помогла.

Теперь более интересный вопрос - назначение клиенту ip-адреса в зависимости от сателлита.
Делаю следующие шаги:
1. В "Ip пул" прописал текстовые теги для каждого пула.
2. Создал дополнительное поле "Сателлит" (имя поля в бд _ip_tag, выпадающий список, регулярное выражение ip_tags, отображать во всех группах).
3. Создал объекты ip_tags c привязкой понятного названия к текстовым тегам.
4. Создал в mysql процедуру get_ip_by_tag, заменил процедуры radreply и radupdate, подправил sql.conf как указано в топике "Теги в пуле ip адресов. Показываю".
5. Создал группу "Клиенты", куда впоследствии перенесутся клиенты всех ныне существующих групп.
6. Перенёс в эту группу одну из имеющихся групп (пока одну, чтобы не перепутать клиентов и можно было вернуть назад).
7. Создаю нового клиента, при создании выбираю группу "Клиенты".
8. На странице данных клиента в выпадающем поле "Сателлит" выбираю название той группы, которую я перенёс (фактически это уже не название группы, а название ip пула).
9. Жму кнопку "Сохранить"
10. Щёлкаю на "Добавить ip"
11. И мне на выбор предлагается два адреса: 0.0.0.0/0 и 192.168.0.0/16  Непонимающий А из нужного пула - ничего.

В дебаге три вот таких строчки:
Код:
SELECT COUNT(*) AS n FROM ip_pool WHERE ip>=INET_ATON('10.0.0.0') AND ip<=(INET_ATON('10.0.0.0')+POWER(2,32-'8')) AND realip='0' AND uid=0 AND type='static' AND tags LIKE '%,en,%'
SELECT COUNT(*) AS n FROM ip_pool WHERE ip>=INET_ATON('192.168.0.0') AND ip<=(INET_ATON('192.168.0.0')+POWER(2,32-'16')) AND realip='0' AND uid=0 AND type='static' AND tags LIKE '%,en,%'
SELECT COUNT(*) AS n FROM ip_pool WHERE ip>=INET_ATON('0.0.0.0') AND ip<=(INET_ATON('0.0.0.0')+POWER(2,32-'0')) AND realip='0' AND uid=0 AND type='static' AND tags LIKE '%,en,%'

То бишь, никакого намёка на выбор адреса из нужного ip пула. Где подправить?
9  Главная категория / Nodeny Plus / Re: После установки Nodeny+ есть пару вопросов. : 11 Января 2015, 22:29:11
а логи апача посмотреть ?

В логах апача присутствует только одна ошибка. Вот такого типа:

Код:
script not found or unable to stat: /usr/local/www/apache22/cgi-bin/box_title_l.png, referer: httрs://10.0.0.1/cgi-bin/stat.pl?a=_css&file=nody

Похоже, что stat.pl ищет картинки и css-ы не в каталоге htdocs, а прямо в своём каталоге cgi-bin.

Апач свежеустановленный, конфиг - дефолтный, за исключением переназначения каталогов data и cgi-bin на nodeny-евские и добавления ssl.
10  Главная категория / Nodeny Plus / Re: После установки Nodeny+ есть пару вопросов. : 11 Января 2015, 17:55:28
Завёл себе тестовый сервачёк. Установил биллинг, запустил, но результат далёк от желаемого. Явно забыл что-то включить/настроить. Подскажите, что именно?

Просматривая исходный код страницы, выдаваемой биллингом, обратил внимание, что на рабочем серваке код страницы такой:
Код:
<link rel='stylesheet' href='/nody.css' type='text/css'>
<script type='text/javascript' src='/js/jquery.js'></script>
<script type='text/javascript' src='/js/nody_modal.js'></script>
<script type='text/javascript' src='/js/nody_select.js'></script>
<script type='text/javascript' src='/js/nody.js'></script>

А на тестовом (просмотр с того-же самого браузера):
Код:
<link rel='stylesheet' href='httрs://10.0.0.1/cgi-bin/stat.pl?a=_css&file=nody' type='text/css'>
<script type='text/javascript' src='httрs://10.0.0.1/cgi-bin/stat.pl?a=_js&file=jquery'></script>
<script type='text/javascript' src='httрs://10.0.0.1/cgi-bin/stat.pl?a=_js&file=nody_modal'></script>
<script type='text/javascript' src='httрs://10.0.0.1/cgi-bin/stat.pl?a=_js&file=nody_select'></script>
<script type='text/javascript' src='httрs://10.0.0.1/cgi-bin/stat.pl?a=_js&file=nody'></script>

В результате - часть возможностей на тестовом сервере не работает и частично отсутствует форматирование.
DocumentRoot на апаче - /usr/local/www/apache22/data
прописан линк каталога data на /usr/local/nodeny/htdocs
cgi-bin тоже по мануалу

Или не в апаче дело?
11  Главная категория / Nodeny Plus / Re: После установки Nodeny+ есть пару вопросов. : 11 Декабря 2014, 21:16:35
Потому, что поиск и сортировка работает только по полям, описанным в Data.pl
Чёрт побери! Забыл эту особенность. Спасибо, помогло:

Код:
#<ACTION> file=>'web/Data.pl', hook=>'fields_define'

[ 's',
    {
        name    => 'tm_end',
        title   => L('Конец услуги'),
        type    => 12,
        search  => 2,
        s_del   => [0,1,6],
        s_str   => '',
        s_mode  => 5,
        hash    => $services,
        refer   => 'serv',
    },
],

Добавил это поле ещё и в фильтры - теперь можно отбирать людей по дате окончания услуг.

Но есть небольшая проблема: отбираю, допустим, по дате до 13 декабря, хочу отправить многоадресное сообщение. Пункт меню "Сообщения" переходит по такому адресу:

httрs://адрес_биллинга/cgi-bin/stat.pl?m%5Fstm%5Fend=5&a=users&mod=multimsg&f%5Fstm%5Fend=13%2E12%2E2014

А на странице отправки сообщений выдаёт вот такое:

Отправить html-сообщение клиентам по фильтру:
группы: тут_список_групп
Конец услуги < «01.01.1970»


То бишь, неправильно обрабатывает переданную фильтром дату.

Кстати, такая-же ерунда с датами происходит и при отборе по дате контракта.
12  Главная категория / Nodeny Plus / Re: После установки Nodeny+ есть пару вопросов. : 10 Декабря 2014, 19:53:17
Добавил в users.pl колонку с датой окончания услуг:
Код:
_add_col(
        show         => !$One_grp_property->{7},
        align        => 'c',
        default_show => 1,
        alias        => 'stm_end',
        title        => $lang::lbl_services_tm_end,
        value        => [ $col_services_tm_end ],
    );

$col_services_tm_end заполнил одновременно с заполнением $col_services (колонка услуг):

Код:
    
    my $col_services = '';
    my $col_next_services = '';
    my $col_services_tm_end = '';
    if( !$One_grp_property->{7} && exists $Services{$uid} )
    {
        my @services = ();
        my @next_services = ();
        my @services_tm_end = ();
        foreach my $h( @{$Services{$uid}} )
        {
            my %serv = %$h;
            push @services, $serv{title};
            $serv{next_service_id} && push @next_services, $serv{next_title};
            push @services_tm_end, the_date($serv{tm_end});
        }
        $col_services = join '<br>', map{ v::filtr($_) } @services;
        $col_next_services = join '<br>', map{ v::filtr($_) } @next_services;
        $col_services_tm_end = join '<br>', map{ v::filtr($_) } @services_tm_end;
    }

Однако, при этом по услугам сортировка работает (при нажатии на заголовок колонки), а по дате окончания услуг - нет. Как сделать, чтобы работала сортировка по дате окончания услуг?
13  Главная категория / Ревизии / Re: rev 292 : 30 Ноября 2014, 20:57:08
Есть вопрос: перенос всех клиентов из разных групп в одну. Куда в этом случае денется "список подсетей"? Не прописывать-же все подсети со всех сателлитов в одной этой группе. Из какого тогда диапазона будут выдаваться адреса при добавлении нового клиента?

Кстати, без группировки допполей стало неудобно смотреть данные по клиенту. Все данные смешиваются в одну большую кучу. Хотелось-бы, чтобы группировка была.
14  Главная категория / Курилка / Re: netflow неправильно считает : 30 Октября 2014, 23:57:32
скажите, а номер интерфейса с конфиге коллектора какой? и правильно ли вы его указали? у меня он оказался под номером 8, хотя физических интерфейсов 4 + 1 EoIP и 1 бридж.
Номер интерфейса - первый. Соответствует "внешнему" интерфейсу микротика. Номер интерфейса видно в выводе flow-print или flow-export.

На скорости 2Мбит/с (микротик и компьютер показывают эту скорость) flow-stat выдаёт вот такие измерения:
Код:
Total Flows                     : 477
Total Octets                    : 24526225
Total Packets                   : 34237
Total Time (1/1000 secs) (flows): 3846300
Duration of data  (realtime)    : 58
Duration of data (1/1000 secs)  : 117720
Average flow time (1/1000 secs) : 8063.5220
Average packet size (octets)    : 716.3660
Average flow size (octets)      : 51417.6604
Average packets per flow        : 71.7757
Average flows / second (flow)   : 4.0769
Average flows / second (real)   : 8.2241
Average Kbits / second (flow)   : 1677.0068
Average Kbits / second (real)   : 3382.9274
15  Главная категория / Курилка / netflow неправильно считает : 29 Октября 2014, 22:56:38
Тестирую модуль netflow для N+ в связке с микротиком.
Данные идут, графики рисуются, но показания в биллинге не совпадают с показаниями других "приборов".

Решаю проверить без модуля, чисто netflow сам по себе. Скорость в биллинге ставлю маленькую, чтобы не влияла загрузка проца/канала и трафик ограничивался только скоростью установленного тарифа.

Получаю такую чепуху:
- на микротике в очереди - выдаёт ровно 2 Мбит/с (как и поставлено в биллинге)
- показометр на компе, с которого гружу канал - ровно 256 кБайт/с (что равно 2 Мбит/с)
- а вот показания netflow такие:        Average Kbits / second (flow)   : 2582.0980
То бишь, 2.5 Мбит/с

И вот это мне непонятно. Почему показывает скорость больше, чем она есть на самом деле? Ладно-бы терялись данные при передаче и показывало меньше - это объяснимо. Но - наоборот? Не понимаю.

Подскажите, пожалуйста, в чём тут дело и в каком направлении копать для исправления этой ситуации.

По рекомендациям, найденным здесь на форуме, пробовал подбирать таймауты Active/Inactive. Не помогло.
Страниц: [1] 2 3 ... 7
Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!