В статье подробно описано, как настроить на Микротике ограничение скорости по отдельному ip или на целую сеть, ограничение на интерфейсе и физическом порту. А также настройка приоритета трафика (QoS), для sip, tv и других сервисов. Все настройки будут производиться через программу winbox.
Если у Вас версия RouterOS выше 6.29, то перед настройкой шейпера убедитесь. что в firewall отключен fasttrack, эта технология позволяет увеличить производительность маршрутизатора, но если она включена, то шейпить скорость не получится. Заходим в меню на вкладке Filter Rules, ищем правило fasttrack connection. Если такое правило существует, то отключаем или удаляем его.
Ограничение скорости интернета на все ip адреса в подсети.
Предположим, провайдер предоставляет нам интернет канал 50 Мбит/сек. Стоит задача: для каждого пользователя ограничить канал до 5 Мбит/с.
Создадим новый тип. Для этого заходим в меню Queue вкладка Queue Types. И нажимаем на кнопку «+» добавить.
Type Name – имя нового типа
Kind – тип, принимает следующие значения
bfifo – тип основанный на алгоритме First-In First-Out, Первый-пришел первый ушел, размер очереди определяется в байтах параметром queue size, если очередь переполнена, то остальные пакеты отбрасываются.
pfifo – то же самое что и bfifo, только размер не в байтах, а в пакетах
mq pfifo – тот же pfifo с поддержкой нескольких очередей
red — Random Early Drop — это механизм очередей, который пытается избежать перегрузки сети, контролируя средний размер очереди. Средний размер сравнивается с двумя порогами: минимальным (минимальным) и максимальным (максимальным) порогом. Если средний размер (avgq) меньше минимального порога, пакеты не отбрасываются. Когда средний размер очереди больше максимального порога, все входящие пакеты удаляются.
sfq — Stochastic Fairness Queuing (SFQ) обеспечивается хешированием и циклическими алгоритмами. Трафик может быть однозначно идентифицирован с помощью 4 параметров (src-адрес, dst-адрес, src-порт и dst-порт), поэтому эти параметры используются алгоритмом хэширования SFQ для классификации пакетов в один из 1024 возможных подпотоков. Затем алгоритм round-robin начнет распространять доступную пропускную
способность для всех подпотоков, причем каждый раунд дает байты трафика sfq-allot. Вся очередь SFQ может содержать 128 пакетов и доступно 1024 подпотока.
pcq – то же что sfq, но с возможностью ограничить скорость потоков
Более подробно о типах можно прочитать здесь https://wiki.mikrotik.com/wiki/Manual:Queue#Kinds
Для ограничения ширины канала выбираем тип pcq, в поле Rate указываем значение скорости. В нашем случае 3M. Нам нужно ограничить 3 Мбит/c на вход и на выход, поэтому ставим галочки напротив Dst. Address и Src.Address. Если нам нужно не симметрично ограничить канал, скажем на загрузку 3Мбит/c, а на отдачу 5Мбит/c, то нужно создать два типа, на загрузку и на отдачу с соответствующими параметрами. Остальные поля оставляем как есть.
Остальные поля pcq типа
Limit — размер одного подпотока
Total limit — максимальное количество данных в во всех подпотоках
Burst Rate, Burst Threshold, Burst Time — довольно интересные параметры, рассмотрим их более подробно.
Burst Rate – дословно «взрыв скорости» если мы сделаем настройки как показаны на рисунке.
То это будет работать так: если пользователь допустим начнет закачку файла, то сначала канал у него будут 10Мбит/c, параметр Burst Rate, и такая скорость будет в течении 3-х минут, параметр Burst Time, далее скорость вернется к значению Rate. Если пользователь не будет некоторое время скачивать и у него использование интернет канала опустится меньше 512 Кбит/c, значение Burst Threshold , то при следующем использовании интернета, первые 3 минуты пользователь будет пользоваться каналом со значением Burst Rate. Это бывает очень полезно, скажем когда пользователи просто ходят по страницам в интернете, то скорость загрузки страниц у них будет 10 Мбит, а если они начнут качать большие файлы, то через три минуты скачивание будет всего 5 Мбит/c.
Поля раздела Classifer думаю понятны без объяснений, это адрес, порт источника и назначения, а также маски адресов. Более подробно о типе pcq читайте здесь https://wiki.mikrotik.com/wiki/Manual:Queues_-_PCQ.
Следующим шагом применим наши созданные правила. Заходим на вкладку Simple Queues и добавляем очередь.
Name – имя нашей очереди
Target – цель. Здесь прописываем нашу подсеть
Остальные поля не заполняем, если вы встречали статьи где нужно прописывать Max Limit, то могу сказать что это не обязательно, работать будет и с параметром unlimited. Далее переходим на вкладку advanced и выбираем в качестве Queue type. Созданные выше типы.
Нажимаем кнопку ОК. На этом настройки закончены. Теперь любой компьютер c ip адресом из подсети 192.168.7.0/24 будет ограничен шириной канала в 3Мбит/с.
Ограничение на интерфейсе
Для ограничения на порту зайдите на вкладку Interface Queue, выберите нужный интерфейс и примените к нему созданное выше правило.
В примере на порту eth6 будет применено ограничение в 3Мбит/с
Ограничение скорости с помощью маркировки пакетов и Queues Tree на всю сеть
Если нужно ограничить ширину канала на одну или несколько сетей, а также на отдельные ip адреса то этот можно сделать с помощью маркировки пакетов .
Заходим в меню IP-Firewall, вкладка Address Lists создаем новый адрес лист с нашей сетью.
Также в этот лист можно добавить и отдельные ip адреса, а не сеть, скажем если они идут не по порядку, допустим 192.168.7.11, 192.168.7.87, 192.168.7.199.
Далее переходим на вкладку Mangle , здесь добавляем два правила. На вкладке General, поле Chain выбираем forward
Переходим в advanced и в поле Src. Address List выбираем лист созданный на первом шаге
Идем на вкладку Action. Здесь в поле action выбираем маркировку пакетов mark packet и пишем как будем маркировать, например upload.
Аналогично создаем еще одно правило на download. Только уже будет Dst. Address List и маркировка download.
Нажимаем Ок. Теперь все пакеты идущие из сети 192.168.7.0/24 будут маркироваться как upload, а пакеты идущие в эту сеть как download.
Теперь идем в меню Queues, вкладка Queues tree и добавляем правило.
Name – имя
Parent – выбираем global
Packet Marks – выбираем маркировку созданную ранее upload
Limit AT – гарантированная скорость, т.е если у нас скажем общий канал 10 Мбит/c и мы создаем две очереди с максимальной шириной канала по 10 Мбит. То если вторая очередь заняла скажем канал на 8 Мбит, то нашей остается всего 2 Мбит, параметром Limit AT мы указываем, что гарантируем канал в 5 Мбит. т.е если в нашей очереди начнут интенсивно использовать интернет, то приоритет у нашей очереди увеличится, а у второй очереди уменьшится и скорость поделится по 5 Мбит
Max Limit – максимальная скорость. Это и есть наше ограничение скорости.
Нажимаем ОК и аналогично создаем очередь на загрузку
Если все сделали правильно, то мы увидим наши созданные queue и загрузку по ним.
Этот способ удобно использовать когда список сетей или адресов на ограничение часто меняется, тогда их просто можно добавлять или удалять в адресных листах. Если же адреса для ограничения меняются не часто, то удобнее использовать simple queus.
Simple Queues
Более простой способ ограничения скорости делается через вкладку Simple Queues. Заходим на эту вкладку нажимаем добавить
В поле name пишем имя в target нашу сеть. Max Limit ограничения на загрузку и на отдачу
Нажимаем ОК, На этом настройка завершена, теперь вся сеть 192 .168.7.0/24 ограничена в 10Мбит, про Burst Limit я писал выше, здесь это работает также. Если нам нужно ограничить скорость не на всю сеть, а на отдельный ip адрес, то просто в поле target прописываем этот ip.
Приоритезация трафика на Mikrotik
Если нужно настроить приоритизацию трафика на Mikrotik то это делается через параметр Priority в настройка Queues tree.
Или на вкладке Advanced в Simple Queues.
Приоритет принимает значение от 1 до 8. Чем меньше значение, тем выше приоритет, т.е очередь с priority 1 будет обрабатываться самой первой, а с 8 последней. Например если у вас есть сервер ip телефонии asterisk с ip 192.168.7.10, то для него лучше сделать настройки такие.
Если нам нужно настроить приоритет определенного типа трафика, например SIP, VoIP или IpTV не привязываясь к ip адресам. То сделать это можно с помощью Mangle и Queues Tree, как это сделать я писал выше, только маркируем пакеты не по ip а по протоколу и порту. Например для маркировки пакетов на порт 5060 будет выглядеть так.
Комбинируя выше указные способы можно очень гибко настроить шейпинг скорости и приоритет трафика. Также надо отметить что настройки в Queue Tree имеют больший приоритет чем в simple Queues.
Обучающий курс по настройке MikroTik
Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.