MikroTik в Красноярске — три практических курса в ноябре 2026!
С 11 по 21 ноября в Красноярске пройдут очные тренинги MikroTik: MTCNA, MTCRE и MTCTCE.
Работаете с MikroTik и хотите не просто знать команды RouterOS, а понимать, как всё работает? Приходите прокачивать навыки сетевого администрирования!
Расписание курсов
11–14 ноября — MTCNA
Базовый курс MikroTik: настройка RouterOS, маршрутизация, Firewall, NAT, VPN, DHCP, Wi-Fi и основы управления трафиком.
16–18 ноября — MTCRE
Продвинутая маршрутизация: OSPF, несколько интернет-провайдеров (MultiWAN), резервирование каналов, балансировка нагрузки, VPN и VLAN.
19–21 ноября — MTCTCE
Управление трафиком: Firewall, NAT, Mangle, Packet Flow, QoS, очереди и приоритизация трафика.
Почему стоит прийти?
- Максимум практики на реальном оборудовании MikroTik.
- Разбираем не только настройки, но и логику работы RouterOS.
- Реальные инженерные задачи, лабораторные работы и живое общение с тренером.
- Обучение проводит Кирилл Васильев — сертифицированный тренер MikroTik с 2016 года, практикующий сетевой инженер.
- Учебные материалы, оборудование, обеды и кофе-брейки включены в стоимость.
- Возможность пройти несколько курсов подряд со скидкой.
Место проведения: Красноярск, ул. Марковского, 81.
Важно: для участия в MTCRE и MTCTCE необходим сертификат MTCNA. Его можно получить на первом тренинге.
Не ограничивайтесь привычными настройками — научитесь понимать RouterOS и уверенно решать сложные сетевые задачи!
Выбирайте подходящий курс или записывайтесь сразу на всю программу.
Вопросы и запись:
manager@mt-courses.ru
Сайт:
https://mt-courses.ru
Простые очереди RouterOS подходят для ограничения скорости отдельного адреса или подсети и могут образовывать иерархию. Результат зависит от target, направления трафика и положения правила.
FastTrack может обходить Simple Queue для подходящего трафика. Перед выводом о работе очереди сравните счётчики queue и firewall и проверьте оба направления.
Условия
Для иллюстрации концепции, рассмотрим пример небольшой организации, которую мы будем моделировать в виде собирательного образа.
- Небольшая организация 5-50 компьютеров пользователей
- Отдельная сеть для компьютеров пользователей
- Отдельная сеть для гостевого Wi-Fi
- Отдельная сеть для серверов, такие как почтовый сервер, сервер телефонии астериск, и ещё пару разных серверов.
- Один провайдер с шириной канала 100Mbps (основной)
- Один провайдер с шириной канала 10Mbps (резерв)
Первоначальная настройка
Я не буду вдаваться в подробности описания, поскольку процесс достаточно простой и не требует какой-либо специфики. Все, что необходимо — создать пару правил NAT, нормально закрыть фаервол и другие соответствующие меры.
Queues проектирование
Я хотел бы подчеркнуть, что этот подход является шаблонным, поэтому у некоторых из вас может возникнуть “разрыв шаблона”. Если вы готовы внедрить этот подход, то необходимо быть готовым принять его как данность.
Согласно этой концепции, имеется 8 уровней приоритетности трафика, и мы будем обеспечивать гарантированную ширину канала Интернет, опираясь на фактическую пропускную способность, учитывая, что реальная полоса пропускания соответствует условиям договора с провайдером.
Настройка очередей
Я не приветствую использование значений по умолчанию, поскольку осознаю, что они могут быть изменены разработчиками и привести к непредсказуемому поведению.
Прежде всего, мы создадим очереди pcq.
/queue/type
add kind=pcq pcq-classifier=src-address name=dyn-upload
add kind=pcq pcq-classifier=dst-address name=dyn-download
Давайте настроим корневые очереди для каждого провайдера, указав максимальную скорость передачи данных через параметр max-limit.
/queue
add dst=ether1 max-limit=100M/100M name=ether1 target=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8
add dst=ether2 max-limit=10M/10M name=ether2 target=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8
Всё просто дополнительных комментариев не требует.
Далее мы создадим дополнительные саб-очереди, которые будут иметь больший объем данных.
Для первого провайдера
add limit-at=10M/10M max-limit=100M/100M name=ether1.p1 packet-marks=p1 parent=ether1 priority=1/1 queue=dyn-upload/dyn-download target=""
add limit-at=10M/10M max-limit=100M/100M name=ether1.p2 packet-marks=p2 parent=ether1 priority=2/2 queue=dyn-upload/dyn-download target=""
add limit-at=10M/10M max-limit=100M/100M name=ether1.p3 packet-marks=p3 parent=ether1 priority=3/3 queue=dyn-upload/dyn-download target=""
add limit-at=10M/10M max-limit=100M/100M name=ether1.p4 packet-marks=p4 parent=ether1 priority=4/4 queue=dyn-upload/dyn-download target=""
add limit-at=10M/10M max-limit=100M/100M name=ether1.p5 packet-marks=p5 parent=ether1 priority=5/5 queue=dyn-upload/dyn-download target=""
add limit-at=10M/10M max-limit=100M/100M name=ether1.p6 packet-marks=p6 parent=ether1 priority=6/6 queue=dyn-upload/dyn-download target=""
add limit-at=10M/10M max-limit=100M/100M name=ether1.p7 packet-marks=p7 parent=ether1 priority=7/7 queue=dyn-upload/dyn-download target=""
add limit-at=10M/10M max-limit=100M/100M name=ether1.p8 packet-marks=p8,no-mark parent=ether1 queue=dyn-upload/dyn-download target=""
Для второго провайдера
add limit-at=1M/1M max-limit=10M/10M name=ether2.p1 packet-marks=p1 parent=ether2 priority=1/1 queue=dyn-upload/dyn-download target=""
add limit-at=1M/1M max-limit=10M/10M name=ether2.p2 packet-marks=p2 parent=ether2 priority=2/2 queue=dyn-upload/dyn-download target=""
add limit-at=1M/1M max-limit=10M/10M name=ether2.p3 packet-marks=p3 parent=ether2 priority=3/3 queue=dyn-upload/dyn-download target=""
add limit-at=1M/1M max-limit=10M/10M name=ether2.p4 packet-marks=p4 parent=ether2 priority=4/4 queue=dyn-upload/dyn-download target=""
add limit-at=1M/1M max-limit=10M/10M name=ether2.p5 packet-marks=p5 parent=ether2 priority=5/5 queue=dyn-upload/dyn-download target=""
add limit-at=1M/1M max-limit=10M/10M name=ether2.p6 packet-marks=p6 parent=ether2 priority=6/6 queue=dyn-upload/dyn-download target=""
add limit-at=1M/1M max-limit=10M/10M name=ether2.p7 packet-marks=p7 parent=ether2 priority=7/7 queue=dyn-upload/dyn-download target=""
add limit-at=1M/1M max-limit=10M/10M name=ether2.p8 packet-marks=p8,no-mark parent=ether2 queue=dyn-upload/dyn-download target=""
Давайте попробуй разобрать, любую одну запись
add limit-at=10M/10M max-limit=100M/100M name=ether1.p3 packet-marks=p3 parent=ether1 priority=3/3 queue=dyn-upload/dyn-download target=""
- limit-at=10M/10M — Даже в самом худшем сценарии данная очередь получит своим 10M, я предпочитаю рассчитывать по принципу 1/10 от пропускной способности провайдера (родительской очереди). Главное помните что суммарное значение limit-at всех наследников не должно быть больше чем max-limit родителя. Однако это не обязательное правило, если вы его нарушите, то поведение будет другим очередей и это надо учитывать.
- max-limit=100M/100M — очередь может получить все 100M (максимум от родителя), но такие скорость очередь получит, только если другие очереди в момент не будут потреблять трафик.
- packet-marks=p3 — данная очередь будет ставить пакеты в очередь если у пакета есть соответствующая марка.
- priority=3/3 — приоритет очереди, говорит о том, какая очередь из наследников быстрее всех сможет достигнуть своего max-limit.
- queue=dyn-upload/dyn-download — между всеми пакетами будет балансировка трафика основанная на IP адресе, тем самым у всех хостов в этой очереди будет равномерное потребление трафика.
Также обратите внимание на последнюю запись, та которая p8, он также обрабатывает пакеты без марки.
Настройка mangle
Прежде чем продолжить, необходимо создать список, в котором будут описаны все интерфейсы провайдеров. Если вы уже ознакомились с моим блогом и применяете на практике информацию, вероятнее всего у вас уже есть такой список.
/interface list
add name=ISP
/interface list member
add interface=ether1 list=ISP
add interface=ether2 list=ISP
Далее простая конфигурация mangle
/ip firewall mangle
add chain=forward connection-mark=no-mark out-interface-list=ISP src-address-list=queue-p1 action=mark-connection new-connection-mark=queue-p1
add chain=forward connection-mark=no-mark out-interface-list=ISP src-address-list=queue-p2 action=mark-connection new-connection-mark=queue-p2
add chain=forward connection-mark=no-mark out-interface-list=ISP src-address-list=queue-p3 action=mark-connection new-connection-mark=queue-p3
add chain=forward connection-mark=no-mark out-interface-list=ISP src-address-list=queue-p4 action=mark-connection new-connection-mark=queue-p4
add chain=forward connection-mark=no-mark out-interface-list=ISP src-address-list=queue-p5 action=mark-connection new-connection-mark=queue-p5
add chain=forward connection-mark=no-mark out-interface-list=ISP src-address-list=queue-p6 action=mark-connection new-connection-mark=queue-p6
add chain=forward connection-mark=no-mark out-interface-list=ISP src-address-list=queue-p7 action=mark-connection new-connection-mark=queue-p7
add chain=forward connection-mark=no-mark out-interface-list=ISP src-address-list=queue-p8 action=mark-connection new-connection-mark=queue-p8
add chain=postrouting connection-mark=queue-p1 action=mark-packet new-packet-mark=p1 passthrough=no
add chain=postrouting connection-mark=queue-p2 action=mark-packet new-packet-mark=p2 passthrough=no
add chain=postrouting connection-mark=queue-p3 action=mark-packet new-packet-mark=p3 passthrough=no
add chain=postrouting connection-mark=queue-p4 action=mark-packet new-packet-mark=p4 passthrough=no
add chain=postrouting connection-mark=queue-p5 action=mark-packet new-packet-mark=p5 passthrough=no
add chain=postrouting connection-mark=queue-p6 action=mark-packet new-packet-mark=p6 passthrough=no
add chain=postrouting connection-mark=queue-p7 action=mark-packet new-packet-mark=p7 passthrough=no
add chain=postrouting connection-mark=queue-p8 new-packet-mark=p8 passthrough=no
Хочу отметить, что в данном случае маркировка соединения не является мерой для повышения производительности, а скорее предназначена для ясной фильтрации RX-пакета, полученного через провайдера и прошедшего процесс NAT.
Кто-то может возразить, что использование connection-state=new для первоначальной маркировки соединений может привести к уменьшению нагрузки на CPU, Но некоторые соединения и пакеты, прошедшие правила dst-nat (например, для почты), не будут попадать под данные правила. Для таких соединений мы фильтруем на основании отсутствия марки соединения, а значит сюда может попасть и new и established.
Один из аргументов, который может быть приведен, заключается в том, что можно уменьшить нагрузку на систему, оптимизировав правила с помощью кастомных цепочек. Это, безусловно, верно, но основная цель данной статьи заключается не в оптимизации конкретных правил, а в объяснении принципа работы данного подхода. Таким образом, данный конфигурационный подход может быть более наглядным и понятным для читателя, и оптимизация всегда может быть выполнена позже.
Затем вам нужно внести ваши хосты или сети в соответствующий список queue-p1 — queue-p8, где номер списка (или приоритет) определяет важность данного ресурса для вашего бизнеса — чем выше номер, тем выше приоритет.
Например:
/ip firewall address-list
add list=queue-p2 address=192.168.100.100 comment="asterisk"
add list=queue-p2 address=192.168.100.200 comment="postfix"
add list=queue-p3 address=192.168.100.0/24 comment="Servers"
add list=queue-p4 address=192.168.200.10 comment="Zarplata"
add list=queue-p4 address=192.168.200.11 comment="GenDir"
add list=queue-p7 address=192.168.200.0/24 comment="local Users"
add list=queue-p8 address=192.168.0.0/24 comment="Guest wifi"
Возникает вопрос о том, как расставить приоритеты. Следует придерживаться простого правила: первый приоритет должен быть выделен ТОЛЬКО для управления с самого MikroTik, поскольку насыщенный канал может привести к потере возможности управлять RouterOS.
Для того чтобы отправить пакет в определенную очередь в RouterOS, необходимо правильно пометить соединение. Именно поэтому цепочка postrouting используется для маркировки пакетов, а не forward, так как в forward не попадает трафик который, генерирует сам маршрутизатор.
Несколько примеров:
/ip firewall mangle
add action=mark-connection chain=output connection-mark=no-mark new-connection-mark=queue-p1 protocol=tcp src-port=8291
add action=mark-connection chain=output connection-mark=no-mark new-connection-mark=queue-p1 protocol=tcp src-port=22
add action=mark-connection chain=output connection-mark=no-mark new-connection-mark=queue-p1 protocol=vrrp
add action=mark-connection chain=output connection-mark=no-mark dst-port=53 new-connection-mark=queue-p1 protocol=udp
Как проверить результат
- Запустите контролируемый поток в upload и download.
- Сверьте rate, bytes, queued и dropped у нужной очереди.
- Проверьте, что FastTrack не обходит тестируемый трафик и соседние сети не попадают в target.
Источники и связанные материалы
Команды в статье меняют сетевую конфигурацию. Перед работой сохраните экспорт, подготовьте способ восстановления доступа и применяйте изменения сначала в тестовой среде.