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

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

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

Сообщение Puzan_aga »

Добрый день.

У когонибуть реализована связка Mikrotik-a с Модулем динамического шейпирования от NETUP

Если у когонибуть реализовано подскажите как у вас это все настроено, а то уже месяц сижу бьюс с этой проблемой.

Зарание спасибо!!!

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

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

У меня работает, правда из за "ошибки" или "специфики работы" динашейпа от нетапа так и не запустили в коммерческое использование. Про этот баг есть в этой Теме:
viewtopic.php?t=7974

Что задумывалось: Пользователь работает с 01:00 до 08:00 с скоростью в два раза больше чем с 08:00 до 01:00.
Реализация проста. Устанавливаем нужные временные диапазоны, указываем скорости, привязываем динашейп к соответствющим тарифам. Далее есть правило firewall которое срабатывает на "Установка Ширины Входящего канала" и "Изменение ширины Входящего Канала". (на исходящий не срабатывает поскольку скрость у нас синхронна и просто скрипт изменяет параметры сразу на исх. и вх.)

Правило firewall запускает шеловский скрип с параметрами ULOGIN UIP UBITS BANDWIDTH, Скрипт по ssh ходит на микротик выполняет команды из simple queue. Вот сам скрипт:

/usr/bin/ssh -F /netup/utm5/firewall/PPPoE/ssh_conf/ssh_config_mt utm@xxx.xxx.xxx.xxx "/ queue simple remove $1"
Удаляем существующее правило.

/usr/bin/ssh -F /netup/utm5/firewall/PPPoE/ssh_conf/ssh_config_mt utm@xxx.xxx.xxx.xxx "/ queue simple add name=\"$1\" dst-address=$2/$3 interface=v502_outer parent=none direction=both priority=8 queue=default-small/default-small limit-at=$4/$4 max-limit=$4/$4 burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s total-queue=default-small"
Добовляем новое правило.

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

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

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

Да забыл сказать можно изменять радиус атрибуты тарифа но тогда придется разрывать сессию пользователя. Собственно по этому здесь и реализовано при помощи simple queue. При указанной мной реализации пользователю ограничение по радиусу не должно устанавливатся не в каком виде. Все делает firewall

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

Сообщение nik247 »

RE: "Что задумывалось: Пользователь работает с 01:00 до 08:00 с скоростью в два раза больше чем с 08:00 до 01:00."

Данный фунционал реализуется на 99.99% вообще средствами самого микротика и установкой спец. радиус-параметров на нужных ТП. И Dynashape для такого варианта можно и не покупать.

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

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

to nik247
А можно увидеть вашу реализацию если не секрет. Просто в свое время от идее реализовывать средствами микротика + внешние скрипты отказался думал что при помощи биллинга + динашейп оно Прямее работать будет...

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

Сообщение Puzan_aga »

Быченков Виталий Анатолье писал(а):Да забыл сказать можно изменять радиус атрибуты тарифа но тогда придется разрывать сессию пользователя. Собственно по этому здесь и реализовано при помощи simple queue. При указанной мной реализации пользователю ограничение по радиусу не должно устанавливатся не в каком виде. Все делает firewall
Спасибо!!!

А как можно менять радиус параметрами. Чтобы знать на будущее!

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

Сообщение Puzan_aga »

to nik247

Напишу свою реализацию.

Буду примного благодарен!

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

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

to Puzan_aga

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

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

Сообщение nik247 »

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

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

Сообщение Puzan_aga »

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

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

Посмотри правельно ли я все сделал ?

Изображение Изображение

Просто перепробывал все параметры скорость всеравно не урезается.

Переподключатся несколько раз.

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

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

ID вендора и ID атрибута правильные и что должна быть галочка строка верно. Но вот сама скорость записывается немного по другому. К примеру если ты хочеш поставить 900к ты должен написать : 900k/900k
Помоему для микротика лучше брать в IN_BANDWIDTH_BITS. Хотя с единицами измерения стоит поиграться. Просто в каком то случае ты можеш выставить не коректную скорость.

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

Сообщение Puzan_aga »

Быченков Виталий Анатолье писал(а):ID вендора и ID атрибута правильные и что должна быть галочка строка верно. Но вот сама скорость записывается немного по другому. К примеру если ты хочеш поставить 900к ты должен написать : 900k/900k
Помоему для микротика лучше брать в IN_BANDWIDTH_BITS. Хотя с единицами измерения стоит поиграться. Просто в каком то случае ты можеш выставить не коректную скорость.
Я должен написать ?

IN_BANDWIDTH_BITS 900k/900k

Правильно ?

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

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

Не выглядить это должно как IN_BANDWIDTH_BITS/IN_BANDWIDTH_BITS И если у тебя одна из скоростей 900к то на микратик передастся 900000/900000. Если установиш IN_BANDWIDTH_KBITS на микротик передастся
900/900 микротик это поймет как 900 байт.

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

Сообщение Puzan_aga »

Быченков Виталий Анатолье писал(а):Не выглядить это должно как IN_BANDWIDTH_BITS/IN_BANDWIDTH_BITS И если у тебя одна из скоростей 900к то на микратик передастся 900000/900000. Если установиш IN_BANDWIDTH_KBITS на микротик передастся
900/900 микротик это поймет как 900 байт.
а из какого параметра он определит что я 900 поставил.

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

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

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

Ответить