Страница 1 из 2

доступ в интернет на 1 час в сутки

Добавлено: 03 сен 2014, 23:03
t332
А не подскажете, как попроще реализовать следующую задачу:
надо чтобы доступ в интернет у определенных пользователей был, ну скажем 1 час в сутки.
Может, какие-то примеры решения схожих задач?
Я не могу сообразить, как время то это высчитывать.

Спасибо.

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 05:50
vqd
Создать правило (например в фильтрах) с нужным вам ограничением

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 10:35
t332
Я, видимо, неправильно выразился.
Надо сделать не доступ в течение определенного часа суток, а так, чтобы доступ в интернет был _на_ один час. 10 минут сейчас, 15 минут через два часа, и 35 минут еще через 3 часа.
Понятно, что это не обязательно прямо в реальном времени высчитывать - +- 5-10 минут погрешности это не проблема.

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 10:37
Dragon_Knight
Это Вам в сторону HotSpot нужно смотреть: ссылка

ADD: Есть вариант через скрипт ещё, но это совсем топор уже получается...
Каждую минуту проверять счётчик правила фаервола, который-бы отмечал активность клиента. Если счётчик изменился, то +1 минута к работе. Как только накопилось 60 минут, то врубаем правило блокировки, и делаем метку времени блокировки, после чего ждём пока это время истечёт...

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 10:39
vqd
ну я бы скриптом реализовал + адресс листы + все те же фильтры

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 11:49
-user-
Интересная задача, даже, например, ребенку урезать время пребывания в инете.... :-):

Dragon_Knight писал(а):Если счётчик изменился, то +1 минута к работе
vqd писал(а):ну я бы скриптом реализовал + адресс листы + все те же фильтры
чисто ради интерса, только алгоритм, как бы Вы сделали это? без команд, без строчек скриптов, просто алгоритм.... (интересно для накопления знаний по решению задач на МТ :a_g_a: )


t332 писал(а):доступ в интернет был _на_ один час
что считать временем "доступа"? юзер ткнул в страничку, она открылась - он сидит читает её пол часа, потом опять ткнул другую страничку... еще сидит читает 20 минут... Что считать "доступом к инету", фактически на МТ юзер мелькал не более пол минуты за открытие обоих страничек... :hi_hi_hi:

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 11:54
t332
-user- писал(а):Интересная задача, даже, например, ребенку урезать время пребывания в инете.... :-):

Dragon_Knight писал(а):Если счётчик изменился, то +1 минута к работе
vqd писал(а):ну я бы скриптом реализовал + адресс листы + все те же фильтры
чисто ради интерса, только алгоритм, как бы Вы сделали это? без команд, без строчек скриптов, просто алгоритм....


t332 писал(а):доступ в интернет был _на_ один час
что считать "доступом"? юзер ткнул в страничку, она открылась - он сидит читает её пол часа, потом опять ткнул другую страничку... еще сидит читает 20 минут... Что считать "доступом к инету", фактически на МТ юзер мелькал не более пол минуты за открытие обоих страничек... :hi_hi_hi:


Собственно, для ребенка и планируется.
Что считать доступом... Ну да, тут еще надо подумать. Хотя, если б проблема была "открыл страничку и ЧИТАЕТ" - я бы вообще не заморачивался - читает и на здоровье. =)

Насчет вопроса про алгоритм - присоединяюсь, хотя Dragon_Knight в принципе достаточно подробно расписал направление.

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 12:01
-user-
t332 писал(а):достаточно подробно
Dragon_Knight писал(а):Если счётчик изменился, то +1 минута к работе

я просто пока не сильно знаком с тонкостями параметров правил на МТ...
Что за параметры должно содержать правило, чтобы прибавление его счетчика считать за "+1 минуту"? Я так понимаю счетчик увеличивается при попадании под его правила трафика... т. е. как должно выглядеть правило, чтобы его счетчик нельзя было увеличить на 60 раз, допустим, всего за минуту-две (ну т.е. не за то время за которое планировалось)? :smu:sche_nie:

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 12:06
Dragon_Knight
Ну что логика.. Логика примерна такая...

 Псевдокод

Код: Выделить всё

global WorkTime;
global BlockTime;
global FFCount;

if(BlockTime > 0)
{
   BlockTime--;
   if(BlockTime <= 0)
   {
      FirewallRule.DisableBlock();
   }
}
else
{
   if(FirewallRule.GetCount > FFCount)
   {
      WorkTime++;
      if(WorkTime >= 60)
      {
         FirewallRule.EnableBlock();
         BlockTime = 1440;
         WorkTime = 0;
      }
   }
}

Re: доступ в интернет на 1 час в сутки

Добавлено: 04 сен 2014, 12:10
vqd
Ну первое что пришло в голову.

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

Но это все обходится как 2 пальца об асфальт если АРП таблица динамическая и ДХЦП выдает адреса без привязки