Перейти к содержимому
Local
ronin_zp

Микротик. Динамический шейпер

Рекомендованные сообщения

Доброй ночи.

Пытаюсь настроит динамический шейпер, но он не отрабатывает. С помощью tcpdump выловил такое
/queue/simple/set id=*1E2.=  max-limit=11000k/11000k.=burst-limit=k/11000k.=  burst-threshold=8800k/8800k.=burst-time=0/0
trap(=message=failure: no download-burst-time  done.

Чего ему не хватает?
 

Изменено пользователем ronin_zp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, ronin_zp сказал:

Доброй ночи.

Пытаюсь настроит динамический шейпер, но он не отрабатывает. С помощью tcpdump выловил такое
/queue/simple/set id=*1E2.=  max-limit=11000k/11000k.=burst-limit=k/11000k.=  burst-threshold=8800k/8800k.=burst-time=0/0
trap(=message=failure: no download-burst-time  done.

Чего ему не хватает?
 

Цитата

message=failure: no download-burst-time 

Видимо не хватает поля download-burst-time

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То, что этого поля не хватает - понятно. 

Непонятно куда его прописывать. Используются simple queues. Без динамического шейпера всё работает нормально. Динамический шейпер настраивается по официальной инструкции в которой есть только то, как добавить в крон. На серверах с rscriptd динамический шейпер работает без проблем. Где и что нужно добавить в биллинге чтобы динамический шейпер заработал и на микротике? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

по всей вероятности надо просить бак фиксы у тех кто пилил это к микротам

вроде это бобер делал

 

я конечно ткну пальцем в небо - покажите скрин скорости тарифов

 

вестимо собака где-то тут порылась

github

Изменено пользователем l1ght

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

мдя, код довольно таки грязный

'burst-time' => $eachlogin['burstimetupload'] . '/' . $eachlogin['bursttimedownload']


'max-limit' => $eachlogin['speedup'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-limit' => $eachlogin['burstupload'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-threshold' => ($eachlogin['speedup'] * 0.8) . 'k/' . ($eachlogin['speed'] * 0.8) . 'k',

'burst-time' => $eachlogin['burstimetupload'] . '/' . $eachlogin['bursttimedownload']

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

>> мдя, код довольно таки грязный

Во-первых - никто не запрещает сделать чище.

Во-вторых - код частично основан на коде другого человека.

В третьих - возможно завтра будет время на проверить...

Изменено пользователем bobr-kun
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
38 минут назад, bobr-kun сказал:

Во-первых - никто не запрещает сделать чище.

ну я уже начал помогать обратив на это внимание :)

 

39 минут назад, bobr-kun сказал:

Во-вторых - код частично основан на коде другого человека.

 

ну это не повод мёрджить в мастер ветку без проверки
 

40 минут назад, bobr-kun сказал:

 В третьих - возможно завтра будет время на проверить...

Если нужна помощь - пишите. В пхп не силён - но вычитать код, протестировать и подебажить - всегда пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

>> ну это не повод мёрджить в мастер ветку без проверки

Это с чего это оно вдруг стало без тестирования мерджится? С чего вы взяли? Аж неделю работало на RouterOS 6.41. Потом было отключено за ненадобностью, но вот в ближайшем будущем планируется "полномасштабное использование". Так что завтра постараюсь выкроить время перепроверить на 6.43.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, bobr-kun сказал:

Аж неделю работало на RouterOS 6.41. Потом было отключено за ненадобностью, но вот в ближайшем будущем планируется "полномасштабное использование". Так что завтра постараюсь выкроить время перепроверить на 6.43.

не заработало на 6.40.4 и 6.42.6
 

 

9 минут назад, bobr-kun сказал:

Это с чего это оно вдруг стало без тестирования мерджится? С чего вы взяли?

  как минимум из за этого, поправьте если я ошибаюсь

'max-limit' => $eachlogin['speedup'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-limit' => $eachlogin['burstupload'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-threshold' => ($eachlogin['speedup'] * 0.8) . 'k/' . ($eachlogin['speed'] * 0.8) . 'k',

'burst-time' => $eachlogin['burstimetupload'] . '/' . $eachlogin['bursttimedownload']


первые три строки для download одна и та же переменная, хотя в правилах динамического шейпера скорость для даунлоад тоже меняется
и в последней строке явная опечатка - burstimetupload против bursttimedownload

 

 

P.S.: кстати, как оно себя поведёт при выключенном режиме BURST в alter.ini ?

 

Изменено пользователем ronin_zp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, ronin_zp сказал:

не заработало на 6.40.4 и 6.42.6
 

 

  как минимум из за этого, поправьте если я ошибаюсь


'max-limit' => $eachlogin['speedup'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-limit' => $eachlogin['burstupload'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-threshold' => ($eachlogin['speedup'] * 0.8) . 'k/' . ($eachlogin['speed'] * 0.8) . 'k',

'burst-time' => $eachlogin['burstimetupload'] . '/' . $eachlogin['bursttimedownload']


первые три строки для download одна и та же переменная, хотя в правилах динамического шейпера скорость для даунлоад тоже меняется
и в последней строке явная опечатка - burstimetupload против bursttimedownload

 

 

P.S.: кстати, как оно себя поведёт при выключенном режиме BURST в alter.ini ?

 

я скриншота так и не увидел

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скриншот тарифа из какого раздела?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

image.thumb.png.7ed223b2754691fc3b4f645490c0443f.png

 

Я просил скрин скорости тарифов

Должны быть заполнены соответствующие поля

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну так первый скриншот. Первые две колонки. Уж простите - но скриншотить всю тарифную сетку я не стал, по вполне понятным причинам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я не просто так скриншот просил. Просто ваш так криво сделан, что я не сразу понял что это что я просил.

И раз вы уже код начали читать то почитайте внимательно где вы провтыкали.

Изменено пользователем l1ght

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вставлял я туда другие значения, ошибка остаётся по причине burstimetupload
локально у себя я поправить могу, но со следующим обновлением опять грабли вылезут
ладно, будет время перепишу код с исправлением и с учётом отключенной опции burst и закоммичу в репозиторий 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, ronin_zp сказал:

ладно, будет время перепишу код с исправлением и с учётом отключенной опции burst и закоммичу в репозиторий 

с этим к Бобру - он теперь занимается микротиками и прочим порно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
18 часов назад, ronin_zp сказал:

и в последней строке явная опечатка - burstimetupload против bursttimedownload

нет, это не опечатка - это так исторически сложилось имя поля в БД

 

18 часов назад, ronin_zp сказал:

P.S.: кстати, как оно себя поведёт при выключенном режиме BURST в alter.ini ?

а вот это интересный вопрос. но, емнип, я это "предвидел" и пробовал. а может это моя фантазия. в любом случае - сейчас буду ковырять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Итак: похоже, в те несколько раз, когда мне приходилось складировать еще не готовый код "на полку", чтобы быстро сделать мелкий фикс, я где-то прое...ошибся и вытащил из полки не совсем свежий код микротикового динамик шейпера, ибо вот этот кусок

log_register('MT_DN_SHAPER ' . $Action . ' done to `' . $UsersCnt . '` users');
die('OK:MT_DN_SHAPER');

я точно "выносил из froeach" - хорошо помню этот момент, когда фича работала только для одного абона, но исправно рапортовала, что для всех =). А в остальном все таки работает.

Вот с burst'ами - да, если их в тарифе не было предусмотрено - все разваливалось. Но эмпирическим путем я выяснил, что критичным для микрота является именно параметр burst-time - если он не установлен(пустой) - гембель. А вот к скоростям burst'ов таких жестких требований нет. Так что теперь мы учитываем это вот все и, если хотя бы один из четырех параметров burst'ов пуст - делаем изменения только для скорости download.

 

Теперь пойду еще потестирую немного и буду опять корячится, чтобы собрать пуллреквест...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
18 часов назад, l1ght сказал:

image.thumb.png.7ed223b2754691fc3b4f645490c0443f.png

 

Я просил скрин скорости тарифов

Должны быть заполнены соответствующие поля

В демке почему "burst полей" как на скрине нет и создать не получается ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, sanyadnepr сказал:

В демке почему "burst полей" как на скрине нет и создать не получается ?

бурсты по дефолту отключены

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

.

Изменено пользователем sanyadnepr

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

    • Автор: Tornight
      Продам mikrotik SXT G-5HPacD + рефлектор SXT 25 (65 см), б/у в нормальном состоянии, проблем при эксплуатации не наблюдалось. Комплект: сам микрот, родное PoE, скоба для крепления к рефлектору, сам рефлетор. Коробка канула в лету, как и родные крепления под трубостойку. Продажа только комплектом. Отправка Новой почтой наложкой или предоплатой. Связь через ЛС. Цена 2300 грн.

    • Автор: Nejron
      Всем здрям! ))
      Изложу суть :
      Имеется некий сервис (в данном случае IPTV личного производства)
      Хотелось бы контролировать с билинга доступ к нему.
      В профиле пользователя создал дополнительное поле с типом "TRIGGER".
       
      А вот дальше хочу спросить как правильно заполнить свою таблицу для ipfw?
      Добавлять/удалять от туда ip клиентов и возможно еще что то посоветуете.
      Возможно кто то что то подобное делал,
      не оставте начинающего админа без совета 😉
       
    • Автор: СИОН
      Доброго времени!
      Вопрос:
      Как сделать чтобы в выводе списка абонов в модуле Пононизатор выводило и город/село?
       

    • Автор: Oleg2018
      А кто реализовал возможность просмотра реально активного состояния абонентов в биллинге,в стандарте активность это положительный баланс.
    • Автор: ESever
      MTCNA – базовый курс, дающий представление об основных возможностях операционной системы RouterOS и оборудовании RouterBOARD. После окончания курса Вы будете уверенно настраивать маршрутизатор для предоставления сервисов клиентам, выполнять диагностику и устранение неисправностей.

      Этот курс для сетевых инженеров, начинающих работу с оборудованием Mikrotik и стремящихся углубить свои знания, ИТ-директоров, желающих получить представление о возможностях оборудования RouterBOARD и операционной системы RouterOS, и менеджеров по продажам оборудования MikroTik.
       
      Модуль 1 – Введение
      Что такое RouterOS и RouterBoard.
      История Компании MikroTik.
      Оборудование RouterBOARD фиксированные и интегрированные решения.
      Расшифровка названия оборудования.
      Аксессуары и программа MFM.
      Семиуровневая модель взаимодействия открытых систем ISO OSI и IP-протокол.
      Сеть Ethernet: история возникновения, топология, коллизии, протокол CSMA/CD.
      Помехоустойчивость, отечественные проблемы с трехфазными сетями и заземлением.
      Коаксиальный кабель и витая пара, хабы и коммутаторы.
      Адресация в сетях Ethernet, МАС-адреса.
      Адресация в сети Интернет, подсети, расчет подсетей.
      Выделенные блоки IP-адресов.
      IP-протоколы, IP-адреса и порты.
      Процесс установки TCP-соединения.
      Подключение к маршрутизатору, Winbox, MAC-Winbox, SSH, Telnet, последовательный порт, интерфейс командной строки (CLI).
      WebFig и QiuckSet.
      Начальная конфигурация, установка IP-адресов, шлюза по умолчанию, DHCP-клиент и NAT.
      Функциональность RouterOS, установка и удаление пакетов, апгрейд RouterOS и RouterBOOT.
      Имя маршрутизатора, управление пользователями и сервисами.
      Резервное копирование и восстановление конфигурации.
      Сброс маршрутизатора в начальные настройки. Функции кнопки Reset.
      Установка RouterOS с помощью Netinstall.
      Лицензирование RouterOS.

      Модуль 2 – ARP и DHCP
      ARP-протокол, режимы ARP, ARP-таблица.
      DHCP-клиент.
      DHCP-сервер, настройка, управление выделением адресов и сетевых параметров.

      Модуль 3 – Bridging
      Что такое бридж, создание, добавление портов, настройки бриджа.
      Различия настроек в разных версиях RouterOS.
      Архитектура маршрутизатора, встроенный коммутатор.
      Особенности добавления в бридж беспроводных интерфейсов.

      Модуль 4 – Статическая маршрутизация
      Принцип работы маршрутизации в IP-сетях.
      Dst. Address, Gateway и Distance: что это, зачем и для чего.
      Создание статических маршрутов, маршрут по умолчанию.
      Принципы адресации в крупных сетях.
      Динамические маршруты.
      Применение статической маршрутизации в простых сетях.

      Модуль 5 – Беспроводные сети
      Стандарты 802.11a/b/g/n/ac.
      Частоты, полосы, каналы, скорости передачи, выбор антенны, мощность передатчика и чувствительность приемника.
      Административные ограничения на использование радиочастотного ресурса.
      Расчет энергетики радиолинка.
      Настройка точки доступа и клиента.
      Безопасность в беспроводных сетях, Access List, Connect List, Default Authenticate, Default Forwarding.
      Шифрование WPA-PSK, WPA2-PSK, WPS accept, WPS client.
      Registration table.
      Snooper.

      Модуль 6 – Межсетевой экран (Firewall)
      Принципы работы Firewall.
      Connection tracking и состояние соединения.
      Цепочки (chains).
      Действия (actions) над пакетами.
      Защита сервисов работающих на роутере.
      Защита клиентов.
      Address List и работа с ним.
      Основы L7 фильтрации.
      Source NAT, masquerade and src-nat action
      Destination NAT, dst-nat and redirect actions.
      FastTrack.

      Модуль 7 – QoS
      Принципы управления трафиком, идея "скользящего окна" в TCP-протоколе.
      Простые очереди (simple queue)
      Target, Destinations, Max-limit и limit-at, Bursting.
      Справедливое распределение полосы пропускания.
      Принцип работы Per Connection Queue (PCQ), pcq-rate и pcq-limit.

      Модуль 8 – PPP туннели
      Семейство PPP-протоколов, история создания, сходства и различия.
      PPP-профиль, PPP-логины/пароли, статус PPP-подключения.
      IP pool, создание, модификация, привязка к сервису.
      PPPoE-сервер и клиент.
      Адресация в сетях точка-точка.
      Настройка VPN, PPTP и SSTP-сервер и клиенты.

      Модуль 9 – Утилиты RouterOS
      Утилиты: E-mail, Netwatch, Ping, Traceroute, Profiler (загрузка CPU).
      Инструменты мониторинга: Interface traffic monitor, Torch, Graphs, SNMP, The Dude.
      Работа с техподдержкой MikroTik: support@mikrotik.com
      supout.rif, autosupout.rif создание и просмотр.
      Логирование в RouterOS, детальные логи.
      Правила наименования элементов и комментарии.
      Сетевая диаграмма.
       
       
      https://www.elko.ua/smart-center/training-mikrotik-mtcna
       
×