The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Ограничение по времени работы за сутки"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Настройка Squid и других прокси серверов (Public)
Изначальное сообщение [Проследить за развитием треда]

"Ограничение по времени работы за сутки" 
Сообщение от warlord20 Искать по авторуВ закладки(ok) on 18-Ноя-05, 19:24  (MSK)
Добрый день. Возникла задача ограничения пользователей при работе с Интернетом по общему времени, проведенному за текущие сутки в сети. То есть к примеру Пупкину можно провести в Интернете 1 час в день. Есть ли такая возможность в SQUIDe 2.5 (OC FC2)?
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "Ограничение по времени работы за сутки" 
Сообщение от ipmanyak Искать по авторуВ закладки(??) on 21-Ноя-05, 07:00  (MSK)
>Добрый день. Возникла задача ограничения пользователей при работе с Интернетом по общему
>времени, проведенному за текущие сутки в сети. То есть к примеру
>Пупкину можно провести в Интернете 1 час в день. Есть ли
>такая возможность в SQUIDe 2.5 (OC FC2)?
нет, нужны сторонние программы - биллинги

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Ограничение по времени работы за сутки" 
Сообщение от warlord20 Искать по авторуВ закладки(ok) on 21-Ноя-05, 11:19  (MSK)
>>Добрый день. Возникла задача ограничения пользователей при работе с Интернетом по общему
>>времени, проведенному за текущие сутки в сети. То есть к примеру
>>Пупкину можно провести в Интернете 1 час в день. Есть ли
>>такая возможность в SQUIDe 2.5 (OC FC2)?
>нет, нужны сторонние программы - биллинги


Спасибо за ответ. Ссылки какие-нить было бы неплохо. И нельзя ли ограничиться просто скриптами, которые будут периодически запускаться и проверять лог сквида и после превышения обрубать юзера?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Ограничение по времени работы за сутки" 
Сообщение от ipmanyak Искать по авторуВ закладки(??) on 21-Ноя-05, 14:37  (MSK)
>Спасибо за ответ. Ссылки какие-нить было бы неплохо. И нельзя ли ограничиться
>просто скриптами, которые будут периодически запускаться и проверять лог сквида и
>после превышения обрубать юзера? геммор это !  придется все вермя анализоровать лог сквида , а если он большой, то время обработки можен занять приличное время !
Сылки на биллинг
это специфические вещи, включающие в себя СУБД типа mysql !  так что янди гугли или рамблери - впрочем могу дать урлы

http://www.netams.com/index-rus.html бесплатно, если не нужен саппорт, а он имхо понадобится
http://www.netup.ru/
http://www.lanbilling.ru/
http://traflinux.sourceforge.net/  пока был бесплатно
http://www.lingate.ru/
http://www.onyma.ru/main.htms
http://stg.pochtamt.ru/faq.html
http://www.netams.com/
http://netgatesystem.narod.ru/
http://www.netup.ru/
http://www.onyma.ru/main.htms
http://serega.krasno.ru/billing/
http://nodeny.dp.ua/cgi-bin/nd.pl
http://www.lingate.ru/
http://bgbilling.bitel.ru/
http://www.hub.ru/modules.php?name=Web_Links&l_op=viewlink&cid=10  
в последней урле ссылки на биллинги
что-то бесплатно, но в основном платно !  

кто-то вот такой еще список выкладывал цитирую :

" TA Billing - http://traflinux.sourceforge.net/
STARGAZER - http://stg.dp.ua/doc.php
FreeNiBS - http://nibs.net.ua/index.php
Вот еще небольшой список - http://opennet.ru/prog/sml/46.shtml
Вообщем есть из чего выбрать. IMHO самые удачные из всего этого многообразия - NeTAMS, Abills и  TA Billing (только под Linux)"

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Ограничение по времени работы за сутки" 
Сообщение от warlord20 Искать по авторуВ закладки(ok) on 21-Ноя-05, 19:36  (MSK)
>>Спасибо за ответ. Ссылки какие-нить было бы неплохо. И нельзя ли ограничиться
>>просто скриптами, которые будут периодически запускаться и проверять лог сквида и
>>после превышения обрубать юзера? геммор это !  придется все вермя анализоровать лог сквида , а если он большой, то время обработки можен занять приличное время !
>Сылки на биллинг
>это специфические вещи, включающие в себя СУБД типа mysql !  так
>что янди гугли или рамблери - впрочем могу дать урлы
>
>http://www.netams.com/index-rus.html бесплатно, если не нужен саппорт, а он имхо понадобится
>http://www.netup.ru/
>http://www.lanbilling.ru/
>http://traflinux.sourceforge.net/  пока был бесплатно
>http://www.lingate.ru/
>http://www.onyma.ru/main.htms
>http://stg.pochtamt.ru/faq.html
>http://www.netams.com/
>http://netgatesystem.narod.ru/
>http://www.netup.ru/
>http://www.onyma.ru/main.htms
>http://serega.krasno.ru/billing/
>http://nodeny.dp.ua/cgi-bin/nd.pl
>http://www.lingate.ru/
>http://bgbilling.bitel.ru/
>http://www.hub.ru/modules.php?name=Web_Links&l_op=viewlink&cid=10
>в последней урле ссылки на биллинги
>что-то бесплатно, но в основном платно !
>
>кто-то вот такой еще список выкладывал цитирую :
>
>" TA Billing - http://traflinux.sourceforge.net/
>STARGAZER - http://stg.dp.ua/doc.php
>FreeNiBS - http://nibs.net.ua/index.php
>Вот еще небольшой список - http://opennet.ru/prog/sml/46.shtml
>Вообщем есть из чего выбрать. IMHO самые удачные из всего этого многообразия
>- NeTAMS, Abills и  TA Billing (только под Linux)"


Спасибо за сссылочки! Все, полез в Инет...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Ограничение по времени работы за сутки" 
Сообщение от HiSpeed emailИскать по авторуВ закладки on 22-Ноя-05, 00:46  (MSK)
Мда, биллинги конечно нужны. В смысле они нужны вообще :) А вот в частности наверное не очень.

Решение 3-х летней давности на базе linux + ipac-ng + чего-то свое. В принципе идея не нова :)

Ставим, настраиваем ipac-ng, согласно инструкции по эксплуатации.

файлик limit.conf
# Файл конфигурации ограничения трафика. Значения трафика в кБ. 0-неограничен
# Все поля разделены <TAB>
# Поля:
# <IPAC alias> <Адрес>  <Пн>    <Вт>    <Ср>    <Чт>    <Пт>    <Сб>    <Вс>
serega  192.168.0.10    20000   15000   15000   15000   15000   15000   15000
dima    192.168.0.11    15000   15000   15000   15000   15000   15000   15000
natali  192.168.0.12    10000   10000   10000   10000   10000   -1      -1
buhgal  192.168.0.13    10000   10000   10000   10000   10000   -1      -1
journ   192.168.0.14    10000   10000   10000   10000   10000   -1      -1
reklama 192.168.0.15    0       15000   0       15000   15000   10000   10000

В файлике iptables.tmpl пишем правила какие надо, вроде этого:
/sbin/iptables -A FORWARD -s <ipaddress> -d 10.0.0.0/8 -i eth0 -j ACCEPT
/sbin/iptables -A FORWARD -s <ipaddress> -i eth0 -j DROP

Ну и дальше переодически пускаем limit.pl (корректируем в зависимости от того чего используем в качестве накопителя, а может переписываем совсем. За качество кода не пинать, написано минут за 10 при почти полном отсутствии опыта в перлении):

#!/usr/bin/perl

$LIMIT_FILE="/etc/ipac-ng/limit.conf";
$IPTABLES_TEMPLATE_FILE="/etc/ipac-ng/iptables.tmpl";
$TMP_LIMIT="/etc/ipac-ng/current.tmp";
$IPACSUM="/usr/local/sbin/ipacsum -t today --fixed-quantity K > ".$TMP_LIMIT;
$RC_IPTABLES="/etc/rc.d/init.d/iptables restart > /dev/null";
$FETCHIPAC="/usr/local/sbin/fetchipac -S";

    my(@exec);
    open AAA,"<$LIMIT_FILE";
    @lista=<AAA>;
    $size=@lista;
    close AAA;

    $| = 1;
    system ($IPACSUM);

    open AAA,"<$TMP_LIMIT";
    @tmplist=<AAA>;
#Remove special strings
    shift(@tmplist); shift(@tmplist); shift(@tmplist);
    $sizelimit=@tmplist;
    close AAA;
    unlink ($TMP_LIMIT);

#Remove space
    for ($i=0;$i<$sizelimit;$i++) {
            $tmplist[$i] =~ s/\x20//g;
        }

#Reset local iptables rules
    system ($RC_IPTABLES);
#Main loop
    for ($i=0;$i<$size;$i++) {
        if ( not $lista[$i]=~ /^\#/ ) {
            @record=split(/\x09/,$lista[$i]);
            $traffic = get_traffic($record[0]);
            ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
            if ($wday == 0) { $wday = 7; }
            if ((($traffic > $record[$wday+1] ) && ($record[$wday+1] != 0)) || ($record[$wday+1] == -1)) {
              print "Close ",$record[1]," ",$record[0],"\n";
              update_iptables($record[1]);
              system ($FETCHIPAC);
            }
        }
sub get_traffic {
    my(@recordt,$j,$name);
    $name = $_[0];
    for ($j=0;$j<$sizelimit;$j++) {
            if ( $tmplist[$j]=~ /^$name/) {
                    @recordt=split(/\:/,$tmplist[$j]);
                    $recordt[1] =~ s/\K//;
                    return $recordt[1];
                }
        }
}

sub update_iptables    {
    my(@iptmp,$sizeipt,$k);
      open AAA,"<$IPTABLES_TEMPLATE_FILE";
      @iptmp=<AAA>;
      $sizeipt=@iptmp;
      close AAA;
        for ($k=0;$k<$sizeipt;$k++) {
            if ( not $iptmp[$k]=~ /^\#/ ) {
                $iptmp[$k]=~ s/<ipaddress>/$_[0]/g;
                system($iptmp[$k]);
            }
        }
}


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




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

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