MikroTik RouterBoard RB260GS
Приоритезация интернет-трафика на Mikrotik: Simple Queues и Queue Tree
Когда канал общий на всех пользователей, а кто-то качает и «съедает» всё — нужна очередь (queue). RouterOS даёт два подхода: Simple Queues (просто и быстро) и Queue Tree (гибко, но требует mangle). В этой статье разберём оба, включая приоритезацию трафика по DSCP-метке из предыдущих статей.
Что выбрать: Simple Queues или Queue Tree
| Критерий | Simple Queues | Queue Tree |
|---|---|---|
| Сложность | Низкая | Средняя |
| Гибкость | Средняя | Высокая |
| Parent-иерархия | Встроенная | Через interface/global |
| Работа с DSCP/mangle | Через filter (ограниченно) | Полная (packet-mark) |
| Нагрузка на CPU | Ниже | Выше |
Для домашней/офисной сети до ~30 клиентов обычно достаточно Simple Queues. Для продвинутого управления (веб против торрентов, VoIP приоритет, гостевой Wi-Fi) — Queue Tree.
Часть 1. Simple Queues: ограничить скорость и поделить канал
Шаг 1. Базовое правило на весь канал
/queue simple add
name="global"
target=192.168.0.0/24
max-limit=100M/100M
comment="Всё на 100 Мбит"
target— подсеть, к которой применяетсяmax-limit=upload/downloadв мегабитах (RouterOS 7 понимаетM/K)
Шаг 2. Иерархия: разделить канал поровну или по приоритету
Сначала создаём родительскую очередь на интерфейс:
/queue simple add name="WAN" interface=ether1 max-limit=100M/100M
Затем детки с parent=WAN. Проще всего через GUI: Queues → Simple Queues, кнопка «Детей» справа. Или вручную:
/queue simple add
name="Office"
parent="WAN"
target=192.168.0.10-192.168.0.50
max-limit=30M/40M
/queue simple add
name="Guest"
parent="WAN"
target=192.168.0.51-192.168.0.60
max-limit=5M/5M
Правило: сумма детей не обязана равняться родителю — RouterOS сам отдаст излишек родителя наиболее активному ребёнку, если у ребёнка limit-at выделен.
Шаг 3. Лимит на одно подключение (per-connection)
Чтобы никто один не жрал весь канал:
/queue simple add name="PC-10" parent="WAN"
target=192.168.0.10 max-limit=20M/20M limit-at=10M/10M burst-limit=30M/30M burst-threshold=15M/15M burst-time=5s
limit-at— гарантированная скоростьmax-limit— потолокburst-*— короткий «пик» выше потолка, если канал свободен
Часть 2. Queue Tree: приоритет по DSCP (связка с метками)
Queue Tree работает по packet-mark — это ровно те метки, которые мы ставили через mangle в статьях про DSCP в Windows и Ubuntu. Схема:
- mangle помечает пакеты (
vpn-traffic,voip,download,default) - Queue Tree создаёт очередь на интерфейс
- Каждый packet-mark получает свою очередь и приоритет
Шаг 1. Мечим трафик через mangle
/ip firewall mangle
add chain=forward dst-address-list=!NoQoS dscp=46 action=mark-packet
new-packet-mark=VoIP pass-through=no comment="DSCP46 -> VoIP"
add chain=forward dst-address-list=!NoQoS dscp=26,34 action=mark-packet
new-packet-mark=Business pass-through=no comment="DSCP 26/34 -> Business"
add chain=forward dst-address-list=!NoQoS protocol=tcp port=443,80
action=mark-packet new-packet-mark=Web pass-through=no comment="Web"
add chain=forward dst-address-list=!NoQoS action=mark-packet
new-packet-mark=Bulk pass-through=no comment="Все остальное"
Порядок правил важен: чем специфичнее — тем раньше. Список NoQoS создайте через /ip firewall address-list и добавьте туда адреса, которые трогать нельзя (управление, локальные ресурсы).
Шаг 2. Родительская очередь на исходящий интерфейс
/queue tree add name="WAN-DL" packet-mark=""
parent=ether1 max-limit=100M comment="Download шейпер"
/queue tree add name="WAN-UL" packet-mark=""
parent=pppoe-out1 max-limit=20M comment="Upload шейпер"
- Download шейпим на физическом интерфейсе
ether1 - Upload шейпим на WAN-интерфейсе (
pppoe-out1/ether1-WAN)
Для upload download раздельно: download ставится на LAN-интерфейс, upload — на WAN-интерфейс.
Шаг 3. Детские очереди по packet-mark
/queue tree add name="VoIP" packet-mark="VoIP" parent="WAN-DL"
max-limit=10M burst-limit=20M burst-threshold=8M burst-time=3s
priority=1 comment="Голос - самый высокий приоритет"
/queue tree add name="Business" packet-mark="Business" parent="WAN-DL"
priority=2
/queue tree add name="Web" packet-mark="Web" parent="WAN-DL"
priority=4
/queue tree add name="Bulk" packet-mark="Bulk" parent="WAN-DL"
limit-at=2M max-limit=100M priority=8 comment="Остальное - фон"
priority работает по принципу строгих приоритетов: пакеты с priority=1 обслуживаются раньше, чем с priority=2 и т.д. Этот принцип совпадает с логикой DSCP: метка 46 (EF) → очередь с priority=1.
Шаг 4. То же для upload
/queue tree add name="VoIP-UL" packet-mark="VoIP" parent="WAN-UL"
max-limit=2M priority=1
/queue tree add name="Business-UL" packet-mark="Business" parent="WAN-UL" priority=2
/queue tree add name="Web-UL" packet-mark="Web" parent="WAN-UL" priority=4
/queue tree add name="Bulk-UL" packet-mark="Bulk" parent="WAN-UL"
limit-at=512k max-limit=20M priority=8
Проверка работы очередей
Простые счётчики
/queue simple print stats
/queue tree print stats
Смотрим колонки rate, bytes, packets. У активного клиента должна расти скорость.
Пинг во время загрузки
Запустите торрент/загрузку на фоне и пингуйте шлюз:
/ping 8.8.8.8 count=50
Если ping стабилен ≤ 5 мс при загрузке канала — шейпер работает. Если пингует 50-100 мс — поднимите приоритет VoIP/управление и ограничьте фон.
Watch-интерфейсы
/tool graphing interface add interface=ether1
/tool graphing queue add name="WAN-DL"
Графики покажут боксёры скорости по очередям — наглядно видно, кто что ест.
Тонкости и подводные камни
- Queue Tree требует packet-mark, а Simple Queues — нет. Без mangle Queue Tree не получится (только простые очереди).
- Simple Queues игнорируют packet-mark — если уже используете mangle, используйте Queue Tree.
- Double-queuing: не шейпите один трафик одновременно Simple и Tree — будет конфликт. Выберите один механизм на интерфейс.
- FastTrack отключится автоматически — когда есть queue на интерфейсе, RouterOS сам убирает этот трафик из fasttrack. На всякий случай проверьте
/ip firewall raw. - Wi-Fi клиенты: шейпер на беспроводном интерфейсе работает, но точки с агрегацей ведут себя хуже. Шейпите на bridge-интерфейсе.
- PCQ vs queue tree: PCQ (Per Connection Queuing) делит скорость поровну между соединениями — удобно для гостевых. Пример:
limit-at=0 max-limit=100M packet-marks=Bulk pcq-classifier=both-addresses. - HTB-обучение: Simple Queues построены на HTB. Дочерние очереди с
limit-atгарантируют минимальную скорость, излишек распределяется. Это основа — понимание HTB убирает 90% проблем с шейпингом на Mikrotik.
Шпаргалка
# Simple Queue - базово
/queue simple add name="WAN" interface=ether1 max-limit=100M/100M
/queue simple add name="Office" parent="WAN" target=192.168.0.10-192.168.0.50
max-limit=30M/40M
# Queue Tree - продвинуто
/ip firewall mangle add chain=forward dscp=46 action=mark-packet
new-packet-mark=VoIP pass-through=no
/ip firewall mangle add chain=forward action=mark-packet
new-packet-mark=Bulk pass-through=no
/queue tree add name="WAN-DL" parent=ether1 max-limit=100M
/queue tree add name="VoIP" packet-mark="VoIP" parent="WAN-DL" priority=1
/queue tree add name="Bulk" packet-mark="Bulk" parent="WAN-DL"
limit-at=2M max-limit=100M priority=8
Проверено на: RouterOS 7.14+.
Дата: Сентябрь 2026.