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

Главная категория => Разработка => Тема начата: Pastor_ от 15 Апреля 2011, 15:00:03



Название: Требуется модуль
Отправлено: Pastor_ от 15 Апреля 2011, 15:00:03
Требуется модуль выдачи "белых" ип адресов.
1 Модуль должен быть привязать к созданной услуге "Белый IP адрес".
2 Модуль должен при заказе услуги  абонентом из абонентской статистики брать свободный ип из пула (к примеру пулы: 91.91.91.0/24 91.91.92.128/25 и чтоб добавить можно было ещё) забирало "Айпи" клиента и записывала строчку в файл при заказе услуги.
3 Файл следующего формата:
binat   on      $ext_if from    172.17.13.13 to any -> 91.91.91.2
binat   on      $ext_if from    172.18.34.3 to any -> 91.91.92.130
4 Естественно с данного файла строчка с айпишником абонента не оплатившего услугу должна удалятся!
5 Желательно отображения в клиентской статистике отображать полученный абонентом "белый айпи"

Кто возьмётся за работу?
 
 
                  
   


Название: Re: Требуется модуль
Отправлено: Andrey Zentavr от 15 Апреля 2011, 23:08:57
А чё сразу не давать ИП прям клиенту на интерфейс? зачем эти наты придумывать? да и ещё НАТ как бы кушает процессора немного...
Мы наоборот от него уходим например.


Название: Re: Требуется модуль
Отправлено: 0xbad0c0d3 от 15 Апреля 2011, 23:49:18
Да и зачем извращение с модулем, если все можно сделать номейком.


Название: Re: Требуется модуль
Отправлено: Pastor_ от 16 Апреля 2011, 01:18:03
1 если Вам не понятно зачем то ответ: чтоб люди могли заработать!
2 номейк это что?


Название: Re: Требуется модуль
Отправлено: 0xbad0c0d3 от 16 Апреля 2011, 01:29:28
nomake.pl это такой сриптег для создания конфигов основой которых являются данные из БД биллинга.
А что значит: "чтоб люди могли заработать!" Я что-то слабо догоняю...


Название: Re: Требуется модуль
Отправлено: Pastor_ от 16 Апреля 2011, 01:39:30
А чё сразу не давать ИП прям клиенту на интерфейс? зачем эти наты придумывать? да и ещё НАТ как бы кушает процессора немного...
Мы наоборот от него уходим например.
Их придумывать не надо, они есть. Кушает процессор криворукость или неправильное распределение задач серверов сети.
С какой скоростью?

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

Нет у нас времени на тупую работу с абонентами - лучше что-то дописать и заплатить чем иметь головную боль и растянуть переезд на 4-6 месяцев.


Название: Re: Требуется модуль
Отправлено: Pastor_ от 16 Апреля 2011, 01:40:18
Это не Вам было написано а первому комментарию!  А означало это то что есть задача -её обсуждать нет смысла, её решить надо!


Название: Re: Требуется модуль
Отправлено: 0xbad0c0d3 от 16 Апреля 2011, 01:46:27
Решается она ЭЛЕМЕНТАРНО, если судить по топику.
nomake.pl


Название: Re: Требуется модуль
Отправлено: Pastor_ от 16 Апреля 2011, 01:50:19
Берёмся обсудить задачу и цену ?
Желательно во второй половине любого дня.


Название: Re: Требуется модуль
Отправлено: versus от 16 Апреля 2011, 15:32:53
Решается она ЭЛЕМЕНТАРНО, если судить по топику.
nomake.pl

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


Название: Re: Требуется модуль
Отправлено: Andrey Zentavr от 17 Апреля 2011, 02:08:44
А чё сразу не давать ИП прям клиенту на интерфейс? зачем эти наты придумывать? да и ещё НАТ как бы кушает процессора немного...
Мы наоборот от него уходим например.
Их придумывать не надо, они есть. Кушает процессор криворукость или неправильное распределение задач серверов сети.
С какой скоростью?

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

Нет у нас времени на тупую работу с абонентами - лучше что-то дописать и заплатить чем иметь головную боль и растянуть переезд на 4-6 месяцев.

Трафик - примерно 500 Мбит/сек, абонентов чуть менее 1.5к. Примерно 40% уже на белых ИП (имеется ввиду что ИП висит прям у клиента на интерфейсе - безо всяких ВПН/ПППоЕ и т.д.)

Переводим всех постепенно, вывесили новость что так и так, производится реорганизация сети. За новыми настройками можете обратиться туда-то и туда-то.
Абонент может получить свой Ип либо по ДХЦП либо прописать сам руками - как ему больше удобно.

Один биллинг прекрасно держит абонов как с реальными ИПами так и с серыми. одни другим не мешают.

Касаемо банков/вебманей/и т.д. - не вижу проблемы проводить все платежи через одну систему.





Название: Re: Требуется модуль
Отправлено: Pastor_ от 17 Апреля 2011, 12:23:46
to Andrey Zentavr
А как решили проблему со подбором маков и ип?
Или просто на порту свитчей фиксируете мак ?


Название: Re: Требуется модуль
Отправлено: ser970 от 17 Апреля 2011, 19:34:23
Решается она ЭЛЕМЕНТАРНО, если судить по топику.
nomake.pl

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

когдато было что то похожее под 48 версию если актуально поищу на винтах гдето етсь


Название: Re: Требуется модуль
Отправлено: Andrey Zentavr от 19 Апреля 2011, 02:18:24
to Andrey Zentavr
А как решили проблему со подбором маков и ип?
Или просто на порту свитчей фиксируете мак ?
Например, как вариант:

заполняем поле МАК в дополнительных параметрах, сохраняем (у меня оттуда берутся настройки для DHCP).
Вытягиваем SQL запросом... Сейчас это работает как-то по-другому, ну а в те времена был примерно такой скрипт:
Код:
#!/usr/bin/perl -w

use DBI;

$sqlfirst="dbi:mysql:dbname=nodeny;host=10.1.1.2";
$sqllogin="admin";
$sqlpassw="ku5";

$arpcache="/etc/ethers";
$date=`date`;



@networks = (30,31,32,33,34);

foreach $net (@networks) {
    for ($i=2; $i < 255; $i++) {
        $ip = "10.1.$net.$i";
        $rmac = sprintf("%x:%x:%x:%x:%x:%x", int(rand(255)), int(rand(255)), int(rand(255)), int(rand(255)), int(rand(255)), int(rand(255)));
        # Add fake mac
        system("/usr/sbin/arp -s $ip $rmac");
        #print "/usr/sbin/arp -s $ip $rmac\n";
    }
}

#print "\n\n\n";

# Add real mac
$dbh=DBI->connect($sqlfirst,$sqllogin,$sqlpassw);

if($dbh){
    #print "Adding Valid MACS\n";
    open(ETHERS, ">$arpcache");
    print ETHERS "# Generated automatically by randomarp.pl. DON'T EDIT BY HANDS!\n";
    print ETHERS "# $date\n";

    $sql="ЗАПРОС, КОТОРЫЙ ВЫГРЕБАЕТ ИП НА КОТОРЫЕ НУЖНА ПРИВЯЗКА";
    ($sth=$dbh->prepare($sql)) or die($DBI::errstr);
    ($sth->execute) or die($DBI::errstr);
    while(($ip, $mac)=$sth->fetchrow) {
      # Add valid mac
      print ETHERS "$ip $mac\n";
      #print "/usr/sbin/arp -s $ip $mac\n";
      system("/usr/sbin/arp -s $ip $mac");
    }
    close(ETHERS);

    # Remove excludes
    $sql="ЗАПРОС, КОТОРЫЙ ВЫГРЕБАЕТ ИП НА КОТОРЫЕ НЕ НУЖНА ПРИВЯЗКА";
    ($sth=$dbh->prepare($sql)) or die($DBI::errstr);
    ($sth->execute) or die($DBI::errstr);
    while(($ip)=$sth->fetchrow) {
      # Remove dep
      #print "/usr/sbin/arp -s $ip $mac\n";
      system("/usr/sbin/arp -d $ip");
    }

} else {
    #print "/usr/sbin/arp -f $arpcache\n";
    system("/usr/sbin/arp -f $arpcache");
}



Название: Re: Требуется модуль
Отправлено: ser970 от 26 Апреля 2011, 14:21:17
Требуется модуль выдачи "белых" ип адресов.
1 Модуль должен быть привязать к созданной услуге "Белый IP адрес".
2 Модуль должен при заказе услуги  абонентом из абонентской статистики брать свободный ип из пула (к примеру пулы: 91.91.91.0/24 91.91.92.128/25 и чтоб добавить можно было ещё) забирало "Айпи" клиента и записывала строчку в файл при заказе услуги.
3 Файл следующего формата:
binat   on      $ext_if from    172.17.13.13 to any -> 91.91.91.2
binat   on      $ext_if from    172.18.34.3 to any -> 91.91.92.130
4 Естественно с данного файла строчка с айпишником абонента не оплатившего услугу должна удалятся!
5 Желательно отображения в клиентской статистике отображать полученный абонентом "белый айпи"
Кто возьмётся за работу?

модуль еще нужен ? если да то в аську