Всем привет!!!
Мы все, особенно сейчас не любим разные ограничения, но к сожалению в некоторых случаях они нужны и дети нуждаются в контроле, пока сами не смогут его соблюдать. Для этих целей в Mikrotik есть функция Kids Control.

Я по изучал очень много инструкций по настройке родительского контроля на роутерах Mikrotik и выработал для себя определенную стратегию (какое громкое название). Дело в том, что существует очень много разных вариантов настройки родительского контроля на Mikrotik. Кто-то предлагает настраивать его в правилах фаервола, кто-то предлагает настраивать в правилах очередей. Я же выбрал настраивать специальную функцию Kids Control, которая сама создает правила в фаерволе и очередях, в зависимости от настроек и не нужно привязывать устройство в dhcp сервере.
В интернете некоторые пишут, что функция Kids Control может влиять на производительность роутера. Мой RB5009 не заметил никакой нагрузки.
Тут есть момент связанный с телефонами и возможно с ПК. Дело в том, что в современных устройствах по умолчанию включена функция ротации мак адреса. Предварительно вам нужно выключить ее на всех детских устройствах, да и на своих тоже. Установите либо выключение, либо статический MAC адрес. Тогда проблем с функцией Kids Control не будет.


Тут нужно отметить, что на телефоне ребенок может выключить WI-FI и сидеть в интернете через мобильного оператора. Тогда вам придется как-то мобильный интернет еще отключать. В моем случаи все оказалось гораздо проще. Дело в том, что я живу в зоне отчуждения, у нас уже с лета 2025 года нет мобильного интернета. Его отключили из-за террористической угрозы и включать пока не собираются.
Kids Control — это функция родительского контроля в роутерах MikroTik, которая позволяет:
- Ограничивать скорость интернета для детских устройств
- Устанавливать расписание доступа (например, отключать интернет ночью)
- Автоматически создавать очереди для ограничения скорости
- Управлять доступом по MAC-адресам устройств
Особенности MikroTik Kids Control:
- Настраивается через WinBox/WebFig/Телефон (ограничена)
- Создает динамические Simple Queues
- Работает только с IPv4 трафиком
- Требует тонкой настройки приоритетов очередей
Начнем настраивать Kids Control на Mikrotik. Для этого перейдите в IP > Kids Control. В открывшемся окне создайте профиль для первого ребенка как показано на картинке ниже. Тут нужно пояснить, т.к. я изначально запутался в этих казалось бы простых параметрах.
- Это промежутки времени, когда профилю доступен интернет. Например, если вы хотите что бы интернет был с 15 до 21 часов, то так и указывайте. Причем в каждый день можно делать много промежутков когда будет доступен интернет. Я выбрал весь день как вы видите 00:00:00-1d 00:00:00
- Rate Limit — эта опция включает в указанные выше промежутки времени ограничение. Если ее не указать, то в эти промежутки интернет будет, а в не этих промежутков интернете не будет. Я решил, что в течении дня у детей будет интернет на скорости до 2Мб\с. Например, что бы я сам мог им написать в чат MAX или Телеграм.
- Unlimit Rate — это промежутки, когда не будет никаких ограничений. В моем случаи это промежутки, когда дети могут свободно пользоваться интернетом. Т.к. сейчас лето дал больше времени чем обычно.

Стратегии могут быть разные, можно рубить интернет полностью и тогда безлимитные промежутки совсем не указывать, можно наоборот когда-то ограничивать скорость, а можно как я. Делайте так как вам хочется, тут простор для фантазии.
Кстати, тут же есть кнопка Pause и Resume. Этими кнопками вы можете в любой момент отключить интернет у выбранного профиля и включить так же в любой момент времени вручную.
Теперь когда профили созданы переходим на вкладку Devices, в которой после создания первого профиля сразу появятся динамические устройства помеченные буквой D. Открываем нужное устройство, нажимаем копировать, придумываем ему имя и назначаем профилю нужного ребенка. Устройства назначенные отмечаются буквой L.

Сразу после этих манипуляций правила родительского контроля Kids Control на Mikrotik начнут работать.
Если откроете правила фаервола, то увидите, что в самом верху создалось динамическое правило в цепочке форвардинг, а в самом низу правила запрещающие или разрешающие детским устройствам доступ в интернет через роутер. В правилах фаервола Kids Control работает правильно тут ничего делать больше не надо.

А вот с ограничением скорости есть проблема. Если вы не настраивали Simple Queues, то в принципе вам дальше ничего делать не нужно. Я же настраивал QOS на Mikrotik в этих правилах. Функция Kids Control некорректно создает правила в этом случаи.

Mikrotik Kid Control для ограничения скорости работы устройств автоматически создаёт динамические Simple Queues. Однако, эти правила добавляются в конец списка очередей. Если у вас уже настроены собственные Simple Queues для QoS, они имеют более высокий приоритет (обрабатываются раньше), поэтому ограничения от Kid Control могут не применяться или игнорироваться.
Эти правила можно поднять вручную на самый верх, но каждый раз так делать не удобно и не практично. Для решения этой проблемы я попросил ИИ DeepSeek сделать скрипт
# Назначение: Находит все динамические очереди, созданные Kids Control (по комментарию),
# и перемещает их в начало списка Simple Queues, чтобы они имели высший приоритет.
:local kidQueues [/queue simple find where comment~"kid-control"]
:local queueCount [:len $kidQueues]
:if ($queueCount > 0) do={
:local needMove false
# Проверяем КАЖДУЮ очередь Kid Control
:foreach kidId in=$kidQueues do={
:local kidPosition [:find [/queue simple find] $kidId]
:if ($kidPosition >= $queueCount) do={
:set needMove true
}
}
:if ($needMove) do={
:log info "Очереди Kid Control не в начале - перемещаю $queueCount шт. вверх"
:foreach id in=$kidQueues do={
/queue simple move $id 0
}
:log info "Перемещение завершено"
} else={
:log info "Очереди Kid Control уже в начале - пропускаю"
}
} else={
:log info "Очереди Kid Control не найдены"
}
🎯 Назначение скрипта
Автоматически перемещать все очереди Kid Control в самые верхние позиции списка очередей, но только если они еще не находятся в начале.
🔍 Пошаговая работа скрипта
Шаг 1: Поиск очередей Kid Control
:local kidQueues [/queue simple find where comment~"kid-control"] :local queueCount [:len $kidQueues]
/queue simple find where comment~"kid-control"— ищет все очереди где в комментарии есть «kid-control»kidQueues— сохраняет ID найденных очередей (например:*7, *8, *9)queueCount— подсчитывает количество найденных очередей (например:3)
Шаг 2: Проверка наличия очередей
:if ($queueCount > 0) do={
- Если найдено больше 0 очередей → выполняем дальнейшие действия
- Если 0 очередей → переходим к
else
Шаг 3: Проверка текущих позиций
:local needMove false
:foreach kidId in=$kidQueues do={
:local kidPosition [:find [/queue simple find] $kidId]
:if ($kidPosition >= $queueCount) do={
:set needMove true
}
}
needMove false— флаг «нужно ли перемещение» (изначально false)- Цикл по всем очередям Kid Control:
[/queue simple find]— получает список всех очередей в текущем порядке[:find ... $kidId]— находит позицию конкретной очереди Kid Control в общем спискеkidPosition >= $queueCount— если позиция очереди ≥ количеству очередей Kid Control → устанавливаем флагneedMove true
Шаг 4: Логика перемещения
:if ($needMove) do={
:log info "Очереди Kid Control не в начале - перемещаю $queueCount шт. вверх"
:foreach id in=$kidQueues do={
/queue simple move $id 0
}
:log info "Перемещение завершено"
} else={
:log info "Очереди Kid Control уже в начале - пропускаю"
}
- Если
needMove = true— перемещаем ВСЕ очереди Kid Control на позицию 0 - Если
needMove = false— просто логируем что все уже на местах
Шаг 5: Сценарий когда очередей нет
} else={
:log info "Очереди Kid Control не найдены"
}
- Если очередей Kid Control не найдено → логируем эту информацию
🧠 Ключевая логика проверки
Условие: kidPosition >= $queueCount
Это означает: «Если очередь Kid Control находится НЕ среди первых N позиций» (где N = количество очередей Kid Control)
Пример для 3 очередей:
- Очереди должны быть на позициях: 0, 1, 2
- Если хоть одна очередь на позиции ≥ 3 → нужно перемещение
Пример для 6 очередей:
- Очереди должны быть на позициях: 0, 1, 2, 3, 4, 5
- Если хоть одна очередь на позиции ≥ 6 → нужно перемещение
✅ Что делает скрипт умным
- Не перемещает без необходимости — если очереди уже в начале
- Работает с любым количеством очередей Kid Control
- Корректно логирует все состояния
- Экономит ресурсы — не выполняет лишние операции
Скрипт полностью автоматизирует поддержание правильного порядка очередей! 🚀
Как часто запускать скрипт остается под вопросом. Можно раз в 10 минут, а можно раз в час. Решать вам. В теории скрипт не нагружает роутер.

На этом статья родительский контроль на Mikrotik с функцией Kids Control подошла к концу. Если вам помогла эта или любая другая информация, то можете отблагодорить меня как автора контента.

