Mikrotik + UTM5 + Модуль динамического шейпирования

Технические вопросы по UTM 5.0
Puzan_aga
Сообщения: 105
Зарегистрирован: Чт сен 11, 2008 10:43

Сообщение Puzan_aga »

Быченков Виталий Анатолье писал(а):В диношейпе ты настраиваеш временные диапазоны и для них границы трафика и ограничения по скорости. Так вот переменная IN_BANDWIDTH_BITS хранит в себе скорость которая устанавливается для пользователя при сочетании данной границы скачанного трафика и временного диапазона.
все сделал как ты сказал.

Но скорость почемуто не урезается

xxxupg
Сообщения: 457
Зарегистрирован: Вс май 02, 2010 10:00

Сообщение xxxupg »

боюсь то что описывалось не совсем для твоего случая... там же ясно написано..
2) на микротике работает скрипт с 00:00:00 до 08:00:00 с интервалом 30 секунд (этот интервал на ваше усмотрение - это макс. время для поднятия скорости для вновь подключившихся клиентов, так как стартовая скорость будет как в ТП), который проверяет simple queues и если находит нужные, то подымает их на заданные в скрипте скорость.
на микротике работает скрипт

просто надо попросить человека поделится скриптом :)

Ув. nik247, не выложите ли Вы скрипт для самого микротика? :)

starchik
Сообщения: 461
Зарегистрирован: Сб ноя 22, 2008 22:07

Сообщение starchik »

на форуме микротика где-то видел подобный скрипт, если найду дам ссылку

xxxupg
Сообщения: 457
Зарегистрирован: Вс май 02, 2010 10:00

Сообщение xxxupg »

спасибо. :)

Puzan_aga
Сообщения: 105
Зарегистрирован: Чт сен 11, 2008 10:43

Сообщение Puzan_aga »

меня вообще интересует немножко другое

допустим есть тариф супер 515

в него входит включенный трафик 1 гиг на максимальной скорости

как только он их скачевает у него скорость урезается до 512

и так каждый месяц

nik247
Сообщения: 45
Зарегистрирован: Пт окт 23, 2009 13:16

Сообщение nik247 »

xxxupg писал(а):боюсь то что описывалось не совсем для твоего случая... там же ясно написано..
2) на микротике работает скрипт с 00:00:00 до 08:00:00 с интервалом 30 секунд (этот интервал на ваше усмотрение - это макс. время для поднятия скорости для вновь подключившихся клиентов, так как стартовая скорость будет как в ТП), который проверяет simple queues и если находит нужные, то подымает их на заданные в скрипте скорость.
на микротике работает скрипт

просто надо попросить человека поделится скриптом :)

Ув. nik247, не выложите ли Вы скрипт для самого микротика? :)
У меня сделано так на 4 скриптах (можно переделать на 3):

1) скрипт speedup-start (запускается 1 раз в 00:00:01 - включает скрипт scheduler script "speedup-main")
/system scheduler set speedup-main disabled=no

2) scheduler script "speedup-main" - запускается каждые 30 сек. (когда включен) и выполняет скрипт speedup

3) скрипт speedup (подымает скорость - вызывется с scheduler script "speedup-main")
:local i 0;
:foreach i in=[/queue simple find max-limit="257k/512k"] do={/queue simple set $i max-limit=258k/1M limit-at=258k/1M};
:foreach i in=[/queue simple find max-limit="513k/1M"] do={/queue simple set $i max-limit=514k/2M limit-at=514k/2M};

4) скрипт speedup-down (опускает скорость и отключает скрипт scheduler script "speedup-main" - запускается 1 раз в сутки в 08:00:00)
:local i 0;
:foreach i in=[/queue simple find max-limit="258k/1M"] do={/queue simple set $i max-limit=257k/512k limit-at=257k/512k};
:foreach i in=[/queue simple find max-limit="514k/2M"] do={/queue simple set $i max-limit=513k/1M limit-at=513k/1M};
/system scheduler set speedup-main disabled=yes;

Puzan_aga
Сообщения: 105
Зарегистрирован: Чт сен 11, 2008 10:43

Сообщение Puzan_aga »

Перепробывал и радиус и фаервол.

Но почемуто не радиус параметры и не правила не отправляются на микротик.

Подскажите может что включить надо гденибуть.

Заметил только одно при добавлении или изминения правил динашейпа отправляется правило на удаление ограничения по скорости.

А вот на урезание не разу не приходило.

Быченков Виталий Анатолье
Сообщения: 18
Зарегистрирован: Ср мар 24, 2010 10:51
Контактная информация:

Сообщение Быченков Виталий Анатолье »

Народ еще вопрос к знатокам МикроТика:
У меня сейчас при исчерпании денег на счету, у пользователя киляется сессия, и если он пытается прицепится у него не сессия не поднимается. Можно ли сделать так что бы PPPoe сессия всегда была поднята при этом пользователю блочился инет. И еще такой момент можно ли на микротике при помощи радиус на разные подсети ставить разные ограничения скорости?

Puzan_aga
Сообщения: 105
Зарегистрирован: Чт сен 11, 2008 10:43

Сообщение Puzan_aga »

Быченков Виталий Анатолье писал(а):Народ еще вопрос к знатокам МикроТика:
У меня сейчас при исчерпании денег на счету, у пользователя киляется сессия, и если он пытается прицепится у него не сессия не поднимается. Можно ли сделать так что бы PPPoe сессия всегда была поднята при этом пользователю блочился инет. И еще такой момент можно ли на микротике при помощи радиус на разные подсети ставить разные ограничения скорости?
Надо в настройках ютм разрешить авторизацию при минусовом балансе.

И настроить доступ средствами фаервола.

Почитать можеш на http://www.drivermania.ru/articles/nast ... rotik.html

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

Если что не поймеш пиши помогу.

По поводу скорости не в курсе.

Sefa
Сообщения: 14
Зарегистрирован: Вт янв 10, 2012 13:12

Сообщение Sefa »

Настроил так же как вы писали
Быченков Виталий Анатолье писал(а):to Puzan_aga

В меню Динамического Шейпирования в созданном тобой шейпере есть 3 вкладки "Входящий канал" "Исходящий канал" "RADIUS атрибуты" В "RADIUS атрибуты" жмакаш на кнопку добавить он предлагает добавить атрибуты там есть поле где написано что то типа "Входящая полоса" а рядом кнопка "Добавить" при нажатии на нее у тебя в нижнем поле появится название переменной. Т.е. радиус параметром или ее частью будет какая то переменная относящаяся к DynaShape (Ширина канала например), ну а дальше формируеш радиус атрибут строку или число...
Только два момента: в тарифе и в пользователе не должно быть переопределено таких же RADIUS атрибут. И если у тебя микротик то нужно поиграться какую переменную взять устанавливающую значение в килобайтах или в килобитах. Я уже точно не помню но при одном из значений на микротике скорость выставляется не корректно.
на микротике появляется очередь. но трафик не ходит. при этом в статистике этой очереди в строке Queued packets возрастает число добавленных в очередь пакетов. а если в Queue Types поднять параметр Queue size то все ровно вся очередь забивается. трафик не ходит. подскажите что не так?

ExibiTT
Сообщения: 13
Зарегистрирован: Чт фев 07, 2008 11:55

Сообщение ExibiTT »

Знаю что тема стара, но я просто оставлю это здесь, вдруг кому пригодится для тех же целей или как пример:
Шейпер настраиваем так как писалось выше.
Быченков Виталий Анатолье писал(а):to Puzan_aga

В меню Динамического Шейпирования в созданном тобой шейпере есть 3 вкладки "Входящий канал" "Исходящий канал" "RADIUS атрибуты" В "RADIUS атрибуты" жмакаш на кнопку добавить он предлагает добавить атрибуты там есть поле где написано что то типа "Входящая полоса" а рядом кнопка "Добавить" при нажатии на нее у тебя в нижнем поле появится название переменной. Т.е. радиус параметром или ее частью будет какая то переменная относящаяся к DynaShape (Ширина канала например), ну а дальше формируеш радиус атрибут строку или число...
Только два момента: в тарифе и в пользователе не должно быть переопределено таких же RADIUS атрибут. И если у тебя микротик то нужно поиграться какую переменную взять устанавливающую значение в килобайтах или в килобитах. Я уже точно не помню но при одном из значений на микротике скорость выставляется не корректно.
Но основная проблема заключается в том, что:
1. Если вы используете для передачи команд на микротик API - команду о разрыве сессии он не передает.
2. Динамическое правило изменить невозможно, значит выход один - рвать сессию, чтоб пользователь переподключился с новыми параметрами.

Для принудительного разрыва сессии написал скрипт:

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

:foreach i in=[/queue simple find max-limit="Rx/Tx"] do={
:local nam value=[queue simple get value-name=name $i]
:local lng [:len $nam]
:local pppus  [pick $nam 7 ($lng-1)]
/ppp active remove [find where name="$pppus"]
:log info ("Speed for user: ".$pppus." changed")
}
1. Для каждой очереди подходящей под условия (Rx и Tx пишем необходимые вам, параметры берем из создаваемой очереди и пишем именно в кавычках)
2. Берем имя (будет в формате <pppoe-XXXXX>)
3. вычисляем его длинну
4. Забираем из имени только логин
5 Разрываем сессию с полученным логином
6. Отчитываемся в лог

Ответить