Jump to content

Recommended Posts

Posted

Привет всем ноудени работает всё ок.

Есть одна заморочка насчёт приоритетов тарифов.

Писал в аську эфенди пока молчит.

Подскажите может кто знает как такое осуществить.

есть безлемитные тарифы 64, 128, 256, 512, 1мб

 

хочу так в дополнительных настройках в ячейке приоритет написать 25, 50, 90

ну или что-то подобное и этим мог выставлять приоритет на юзера.

 

Тоесть есть пакет 128кб и 1мб., допутим много юзеров вошли в инет и юзают пакет 128кб на каждого и зашли пару человек с пакетом 1мб и сьедают основной канал торентами или неважно чем, так вот приоритет у 1мб нужен маленький а у 128кб большой.

 

на примере nofire.pl

или просто как денамически менять приоритет на один и тот же пакет.

Хороший юзер - приоритет 100, плохой с вирусами приоритет 10 на одном и том же тарифе.

 

я понимаю что это можно сделать cпомощью queue

помогите реальным примером.

Благодарю заранее.

Posted
Привет всем ноудени работает всё ок.

Есть одна заморочка насчёт приоритетов тарифов.

Писал в аську эфенди пока молчит.

Подскажите может кто знает как такое осуществить.

есть безлемитные тарифы 64, 128, 256, 512, 1мб

 

хочу так в дополнительных настройках в ячейке приоритет написать 25, 50, 90

ну или что-то подобное и этим мог выставлять приоритет на юзера.

 

Тоесть есть пакет 128кб и 1мб., допутим много юзеров вошли в инет и юзают пакет 128кб на каждого и зашли пару человек с пакетом 1мб и сьедают основной канал торентами или неважно чем, так вот приоритет у 1мб нужен маленький а у 128кб большой.

 

на примере nofire.pl

или просто как денамически менять приоритет на один и тот же пакет.

Хороший юзер - приоритет 100, плохой с вирусами приоритет 10 на одном и том же тарифе.

 

я понимаю что это можно сделать cпомощью queue

помогите реальным примером.

Благодарю заранее.

если нужно динамически, то через nofire.pl это не решить. Этот скрипт вызывается один раз, когда пользователь либо авторизуется, либо выходит из авторизации.
Posted

nofire.pl

#!/usr/bin/perl

 

sub Allow

{

my ($p0,$p1,$p3)=split /\|/,$dop;

my $speed0=$p1=~/^\s*(\d+)\s*$/ ? $1 : $Plan_speed[$paket];

my $speed1=$p0=~/^\s*(\d+)\s*$/ ? $1 : $Plan_speed[$paket];

my $weight=$p3=~/^\s*(\d+)\s*$/ ? $1 : 50;

my $pipe0=($num-39999)*2;

my ($pipe1)=($pipe0+1);

 

 

system("$ipfw pipe $pipe0 config bw ${speed0}Kbit/s >/dev/null") if $p0 ne '-';

system("$ipfw queue $weight config pipe $pipe0 weight $weight")

system("$ipfw pipe $pipe1 config bw ${speed1}Kbit/s >/dev/null") if $p1 ne '-';

system("$ipfw queue $weight config pipe $pipe1 weight $weight")

system("$ipfw add $num queue $weight ip from any to $ip out >/dev/null");

system("$ipfw add $num queue $weight ip from $ip to any in >/dev/null");

}

 

sub Deny

{

my ($num,$ip) = @_;

system("$ipfw del $num >/dev/null");

}

 

1;

 

 

Дополнительный параметр разбили на 3 части

1 скорость в инет

2 скрость с инета

3 приоритет

 

Проверка соответствий

если нет дополнительного параметра то юзать переменную указаную в тарифном пакете тоесть если пакет 512кб а доп. параметр будет 128кб то скорость будет у юзера 128

Приоритет если нет в доп параметре цифры на приоритет юзать 50

дальше бла бла бла

формируем пайпы

вот тут хз судите кто понял

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.