mikrotik-wiki.ru
Главная
Загрузка...

Родительский контроль на MikroTik — Kid Control

RouterOS 7.xIP13 мин230 мар. 2026 г.
TelegramVK

Kid Control — встроенный модуль RouterOS для ограничения интернет-доступа детских устройств по расписанию, скорости и категориям сайтов. Появился в RouterOS 6.42, значительно доработан в версии 7. В отличие от firewall-правил или DNS-блокировки, Kid Control предоставляет простой и понятный интерфейс для создания профилей с расписанием, привязкой устройств по MAC-адресу и мгновенной паузой. Модуль доступен через WinBox, WebFig и CLI, что делает его удобным инструментом даже для администраторов без глубоких знаний firewall. В этом руководстве настроим Kid Control для типовой домашней сети, разберём ограничение по времени, скорости и DNS-фильтрацию, а также рассмотрим способы обхода и защиту от них.

Описание

Что такое Kid Control

Kid Control — это встроенная функция MikroTik RouterOS, объединяющая несколько механизмов контроля доступа в единый профиль:

ФункцияМеханизмОписание
РасписаниеFirewall + schedulerРазрешённое время доступа по дням недели
Привязка устройствMAC-адресИдентификация устройств ребёнка
Ограничение скоростиSimple QueueRate limit для каждого профиля
Мгновенная паузаWinBox / WebFig / CLIНемедленное отключение интернета
МониторингВстроенный счётчикВремя онлайн за день

Kid Control не требует дополнительных пакетов и работает на любом устройстве MikroTik с RouterOS 7.x.

Архитектура модуля

Kid Control создаёт динамические firewall-правила и очереди на основе профиля. При активации профиля RouterOS автоматически:

  1. Добавляет правила в /ip/firewall/filter для блокировки трафика вне расписания
  2. Создаёт Simple Queue для ограничения скорости
  3. Привязывает устройства по MAC-адресу из DHCP lease
code
[Устройство ребёнка]
       │
       ▼
[Bridge / Wi-Fi]
       │
       ▼
[Kid Control Profile]
   ├── Расписание → firewall filter (drop вне времени)
   ├── Rate Limit → Simple Queue (max-limit)
   └── DNS → блокировка категорий через DNS override

Сравнение методов ограничения доступа

КритерийKid ControlFirewall FilterDNS Blocking
Сложность настройкиНизкаяВысокаяСредняя
Расписание по днямВстроенноеЧерез scheduler + address-listВручную через scripting
Ограничение скоростиВстроенноеНет (нужны queues)Нет
Мгновенная паузаОдна кнопка в WinBoxВручную disable/enable правилНет
Мониторинг времениВстроенныйТолько через accountingНет
Блокировка сайтовDNS-категорииLayer 7, address-listПолноценная (DoH, Pi-hole)
Обход через VPNЛегко обходитсяМожно заблокировать порты VPNЛегко обходится
ГибкостьОграниченнаяМаксимальнаяСредняя

Kid Control — оптимальный выбор для домашней сети, когда нужно быстро настроить расписание и лимиты для 2–5 устройств ребёнка. Для корпоративной сети или сложных сценариев лучше использовать комбинацию firewall + DNS.

Терминология

ТерминОписание
ProfileНабор правил для конкретного ребёнка (расписание, лимиты)
DeviceУстройство, привязанное к профилю по MAC-адресу
TimeРазрешённое время доступа к интернету по дням
Rate LimitОграничение скорости загрузки и выгрузки
PauseМгновенное отключение интернета для профиля
BlockedСостояние профиля, когда доступ запрещён (вне расписания или пауза)

Настройка

Шаг 1: Создание профилей Kid Control

Создадим два профиля — для младшего и старшего ребёнка с разным расписанием.

[admin@MikroTik] >
# Профиль для младшего ребёнка — строгое расписание
/ip/kid-control add name=junior \
    mon=15h-20h \
    tue=15h-20h \
    wed=15h-20h \
    thu=15h-20h \
    fri=15h-21h \
    sat=10h-21h \
    sun=10h-20h \
    rate-limit=10M/10M \
    disabled=no

# Профиль для старшего ребёнка — более свободное расписание
/ip/kid-control add name=senior \
    mon=14h-22h \
    tue=14h-22h \
    wed=14h-22h \
    thu=14h-22h \
    fri=14h-23h \
    sat=9h-23h \
    sun=9h-22h \
    rate-limit=50M/50M \
    disabled=no

Формат времени: HHh-HHh, где HH — часы. Каждый день недели указывается отдельным параметром (mon, tue, wed, thu, fri, sat, sun). Если день не указан, доступ в этот день запрещён полностью.

Шаг 2: Привязка устройств по MAC-адресу

Сначала проверим DHCP lease, чтобы найти MAC-адреса устройств.

[admin@MikroTik] >
# Посмотрим текущие DHCP leases
/ip/dhcp-server/lease print where status=bound

# Привязка устройств младшего ребёнка
/ip/kid-control/device add name=junior-phone \
    mac-address=AA:BB:CC:11:22:33 \
    user=junior

/ip/kid-control/device add name=junior-tablet \
    mac-address=AA:BB:CC:44:55:66 \
    user=junior

# Привязка устройств старшего ребёнка
/ip/kid-control/device add name=senior-phone \
    mac-address=DD:EE:FF:11:22:33 \
    user=senior

/ip/kid-control/device add name=senior-laptop \
    mac-address=DD:EE:FF:44:55:66 \
    user=senior

Рекомендуется также создать static DHCP lease для этих устройств, чтобы они всегда получали один и тот же IP-адрес.

[admin@MikroTik] >
# Статические leases для привязанных устройств
/ip/dhcp-server/lease make-static [find where mac-address=AA:BB:CC:11:22:33]
/ip/dhcp-server/lease make-static [find where mac-address=AA:BB:CC:44:55:66]
/ip/dhcp-server/lease make-static [find where mac-address=DD:EE:FF:11:22:33]
/ip/dhcp-server/lease make-static [find where mac-address=DD:EE:FF:44:55:66]

Шаг 3: Ограничение скорости

Rate limit уже задан при создании профиля. Формат: upload/download. RouterOS автоматически создаёт Simple Queue для каждого устройства в профиле.

[admin@MikroTik] >
# Изменение лимита скорости для существующего профиля
/ip/kid-control set junior rate-limit=5M/5M
/ip/kid-control set senior rate-limit=30M/30M

# Проверка созданных очередей
/queue/simple print where dynamic=yes

Если нужна более тонкая настройка скорости (burst, приоритет), лучше создать queue вручную и не использовать rate-limit в Kid Control.

Шаг 4: Блокировка категорий сайтов через DNS

Kid Control поддерживает блокировку категорий сайтов через внешние DNS-сервисы (CleanBrowsing, OpenDNS Family, Yandex DNS Family). Принцип: для устройств из профиля DNS-запросы перенаправляются на фильтрующий DNS.

[admin@MikroTik] >
# Включаем DNS-сервер на MikroTik
/ip/dns set allow-remote-requests=yes

# Создаём список адресов для детских устройств
/ip/firewall/address-list add list=kids-devices address=192.168.88.0/24 comment="placeholder"
# Убираем placeholder и добавляем конкретные IP
/ip/firewall/address-list remove [find where list=kids-devices comment="placeholder"]

/ip/firewall/address-list add list=kids-devices address=192.168.88.50 comment="junior-phone"
/ip/firewall/address-list add list=kids-devices address=192.168.88.51 comment="junior-tablet"
/ip/firewall/address-list add list=kids-devices address=192.168.88.60 comment="senior-phone"
/ip/firewall/address-list add list=kids-devices address=192.168.88.61 comment="senior-laptop"

Перенаправление DNS-запросов от детских устройств на фильтрующий сервер.

[admin@MikroTik] >
# NAT-правило: все DNS-запросы от детских устройств → CleanBrowsing Family Filter
/ip/firewall/nat add chain=dstnat \
    src-address-list=kids-devices \
    protocol=udp dst-port=53 \
    action=dst-nat to-addresses=185.228.168.168 to-ports=53 \
    comment="Kid Control - redirect DNS to CleanBrowsing"

/ip/firewall/nat add chain=dstnat \
    src-address-list=kids-devices \
    protocol=tcp dst-port=53 \
    action=dst-nat to-addresses=185.228.168.168 to-ports=53 \
    comment="Kid Control - redirect DNS TCP to CleanBrowsing"

Популярные фильтрующие DNS-серверы:

СервисIP-адресЧто блокирует
CleanBrowsing Family185.228.168.168Adult, вредоносные, фишинг
CleanBrowsing Adult185.228.168.10Только adult
OpenDNS FamilyShield208.67.222.123Adult, proxy, анонимайзеры
Yandex DNS Family77.88.8.7Adult, вредоносные, мошенничество
AdGuard DNS Family94.140.14.15Adult, реклама, трекеры

Шаг 5: Блокировка DoH (DNS over HTTPS) для предотвращения обхода

Дети с техническими навыками могут настроить DoH в браузере, обходя DNS-фильтрацию. Блокируем популярные DoH-серверы.

[admin@MikroTik] >
# Блокировка известных DoH серверов
/ip/firewall/address-list add list=doh-servers address=1.1.1.1 comment="Cloudflare DoH"
/ip/firewall/address-list add list=doh-servers address=1.0.0.1 comment="Cloudflare DoH"
/ip/firewall/address-list add list=doh-servers address=8.8.8.8 comment="Google DoH"
/ip/firewall/address-list add list=doh-servers address=8.8.4.4 comment="Google DoH"
/ip/firewall/address-list add list=doh-servers address=9.9.9.9 comment="Quad9 DoH"
/ip/firewall/address-list add list=doh-servers address=208.67.222.222 comment="OpenDNS DoH"
/ip/firewall/address-list add list=doh-servers address=208.67.220.220 comment="OpenDNS DoH"

# Блокировка HTTPS-трафика к DoH-серверам от детских устройств
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    dst-address-list=doh-servers \
    protocol=tcp dst-port=443 \
    action=drop \
    comment="Kid Control - block DoH bypass"

# Также блокируем QUIC (UDP 443) к DoH-серверам
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    dst-address-list=doh-servers \
    protocol=udp dst-port=443 \
    action=drop \
    comment="Kid Control - block QUIC to DoH servers"

Шаг 6: Мгновенная пауза

Kid Control позволяет мгновенно приостановить доступ к интернету для конкретного профиля — без изменения расписания.

[admin@MikroTik] >
# Поставить на паузу — интернет отключается немедленно
/ip/kid-control pause junior

# Снять с паузы — доступ восстанавливается (если текущее время в расписании)
/ip/kid-control resume junior

# Проверить состояние
/ip/kid-control print

В WinBox пауза доступна через IP → Kid Control → правый клик → Pause / Resume. В WebFig — аналогичная кнопка.

Шаг 7: Дополнительная защита — блокировка VPN-протоколов

Продвинутые дети могут попытаться использовать VPN для обхода всех ограничений. Блокируем основные VPN-протоколы для детских устройств.

[admin@MikroTik] >
# Блокировка WireGuard (UDP 51820)
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=udp dst-port=51820 \
    action=drop \
    comment="Kid Control - block WireGuard"

# Блокировка OpenVPN (TCP 1194, UDP 1194)
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=tcp dst-port=1194 \
    action=drop \
    comment="Kid Control - block OpenVPN TCP"
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=udp dst-port=1194 \
    action=drop \
    comment="Kid Control - block OpenVPN UDP"

# Блокировка L2TP/IPsec (UDP 500, 4500, 1701)
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=udp dst-port=500,4500,1701 \
    action=drop \
    comment="Kid Control - block L2TP/IPsec"

Обратите внимание: полная блокировка VPN невозможна, так как многие VPN-сервисы работают на порту 443 (HTTPS). Для более надёжной блокировки потребуется DPI (Deep Packet Inspection), который MikroTik не поддерживает.

Проверка

Проверка профилей и устройств

[admin@MikroTik] >
# Список профилей Kid Control
/ip/kid-control print

# Ожидаемый вывод:
# Flags: X - disabled, P - paused, B - blocked
#  0   name="junior" mon=15h-20h tue=15h-20h wed=15h-20h thu=15h-20h
#      fri=15h-21h sat=10h-21h sun=10h-20h rate-limit=5M/5M

# Список привязанных устройств
/ip/kid-control/device print

# Ожидаемый вывод:
#  0   name="junior-phone" mac-address=AA:BB:CC:11:22:33 user=junior
#  1   name="junior-tablet" mac-address=AA:BB:CC:44:55:66 user=junior

Проверка динамических правил

[admin@MikroTik] >
# Kid Control создаёт динамические firewall-правила
/ip/firewall/filter print where dynamic=yes

# Проверка динамических очередей
/queue/simple print where dynamic=yes

# Проверка NAT-правил для DNS-перенаправления
/ip/firewall/nat print where comment~"Kid Control"

Мониторинг времени онлайн

[admin@MikroTik] >
# Просмотр статистики по времени
/ip/kid-control print stats

# Сброс счётчиков
/ip/kid-control reset-counters junior

Тестирование расписания

Чтобы проверить работу расписания, не дожидаясь нужного часа, временно измените системное время.

[admin@MikroTik] >
# Проверяем текущее время
/system/clock print

# Тестирование: меняем время на период блокировки (осторожно в production!)
# После проверки не забудьте включить NTP
/system/ntp/client set enabled=yes

Проверка DNS-фильтрации

[admin@MikroTik] >
# С детского устройства попробуйте резолвить заблокированный сайт
# Если DNS-фильтрация работает, CleanBrowsing вернёт 0.0.0.0 или страницу блокировки

# Проверка, что DNS-перенаправление работает
/ip/firewall/nat print stats where comment~"Kid Control"

# Проверка через torch — видим DNS-трафик от детских устройств
/tool/torch interface=bridge-lan src-address=192.168.88.50 protocol=udp port=53 duration=10

Проверка блокировки DoH

[admin@MikroTik] >
# Проверяем счётчики правил блокировки DoH
/ip/firewall/filter print stats where comment~"block DoH"

# Тест: ping DoH-серверов с детского устройства — должен работать (ICMP не блокируем)
# Но HTTPS-соединение к ним — должно быть заблокировано

Типичные ошибки

Ошибка 1: Ребёнок обходит Kid Control через смену MAC-адреса

Проблема: на современных смартфонах по умолчанию включён рандомизированный MAC-адрес (Private Wi-Fi Address в iOS, Randomized MAC в Android). При каждом подключении к сети устройство может использовать новый MAC, и Kid Control не распознаёт его.

Решение: отключите рандомизацию MAC на устройстве ребёнка. Дополнительно добавьте firewall-правило, блокирующее незнакомые MAC-адреса.

[admin@MikroTik] >
# Создаём address-list всех разрешённых устройств (не только детских)
/ip/firewall/address-list add list=known-devices address=192.168.88.1 comment="router"
/ip/firewall/address-list add list=known-devices address=192.168.88.10 comment="parent-phone"
/ip/firewall/address-list add list=known-devices address=192.168.88.11 comment="parent-laptop"
/ip/firewall/address-list add list=known-devices address=192.168.88.50 comment="junior-phone"
/ip/firewall/address-list add list=known-devices address=192.168.88.51 comment="junior-tablet"
/ip/firewall/address-list add list=known-devices address=192.168.88.60 comment="senior-phone"
/ip/firewall/address-list add list=known-devices address=192.168.88.61 comment="senior-laptop"

# Блокируем интернет-доступ для неизвестных устройств в LAN
/ip/firewall/filter add chain=forward \
    in-interface=bridge-lan \
    src-address-list=!known-devices \
    action=drop \
    comment="Block unknown devices from internet"

Ошибка 2: Kid Control не работает — профиль создан, но трафик не блокируется

Проблема: профиль Kid Control создан, устройства привязаны, но интернет доступен вне расписания.

Причины и решения:

  1. Профиль disabled — проверьте флаг X в выводе print.
[admin@MikroTik] >
# Проверка
/ip/kid-control print
# Если есть флаг X — включаем
/ip/kid-control set junior disabled=no
  1. MAC-адрес указан неверно — проверьте MAC в DHCP lease.
[admin@MikroTik] >
/ip/dhcp-server/lease print where status=bound
# Сравните с
/ip/kid-control/device print
  1. Динамические правила не создаются — перезапустите профиль.
[admin@MikroTik] >
/ip/kid-control set junior disabled=yes
/ip/kid-control set junior disabled=no

Ошибка 3: Обход через DNS over HTTPS (DoH)

Проблема: Firefox, Chrome и другие браузеры поддерживают встроенный DoH. Ребёнок включает DoH в настройках браузера, и DNS-фильтрация перестаёт работать.

Решение: блокировка DoH-серверов (описана в шаге 5). Дополнительно можно заблокировать домены DoH через статические DNS-записи.

[admin@MikroTik] >
# Статические DNS-записи, указывающие DoH-домены на 0.0.0.0
/ip/dns/static add name=dns.google address=0.0.0.0 comment="Block Google DoH"
/ip/dns/static add name=cloudflare-dns.com address=0.0.0.0 comment="Block Cloudflare DoH"
/ip/dns/static add name=dns.quad9.net address=0.0.0.0 comment="Block Quad9 DoH"
/ip/dns/static add name=doh.opendns.com address=0.0.0.0 comment="Block OpenDNS DoH"
/ip/dns/static add name=mozilla.cloudflare-dns.com address=0.0.0.0 comment="Block Firefox DoH"

Ошибка 4: Обход через VPN-приложения и прокси

Проблема: ребёнок устанавливает VPN-приложение (Psiphon, 1.1.1.1 Warp, ProtonVPN) и весь трафик идёт через зашифрованный туннель, обходя все ограничения.

Решение: полностью заблокировать VPN на уровне роутера невозможно, но можно значительно усложнить обход.

[admin@MikroTik] >
# Блокируем нестандартные порты (многие VPN используют порты выше 10000)
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=tcp dst-port=10000-65535 \
    action=drop \
    comment="Kid Control - block high TCP ports"

/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=udp dst-port=10000-65535 \
    action=drop \
    comment="Kid Control - block high UDP ports"

Внимание: блокировка высоких портов может нарушить работу некоторых приложений и игр. Тестируйте и добавляйте исключения по необходимости.

Ошибка 5: Rate limit не работает

Проблема: в профиле задан rate-limit=10M/10M, но скорость не ограничивается.

Причины:

  1. Конфликт с существующими очередями — если уже есть Simple Queue для этого IP, Kid Control не может создать свою.
[admin@MikroTik] >
# Проверяем все очереди
/queue/simple print

# Удаляем конфликтующие статические очереди
/queue/simple remove [find where target~"192.168.88.50"]
  1. FastTrack — если включён FastTrack, трафик обходит очереди.
[admin@MikroTik] >
# Проверяем наличие FastTrack
/ip/firewall/filter print where action=fasttrack-connection

# Добавляем исключение для детских устройств ДО правила FastTrack
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    action=accept \
    comment="Skip FastTrack for kids (allow queues)" \
    place-before=[find where action=fasttrack-connection]

/ip/firewall/filter add chain=forward \
    dst-address-list=kids-devices \
    action=accept \
    comment="Skip FastTrack for kids (allow queues)" \
    place-before=[find where action=fasttrack-connection]

Ошибка 6: Расписание работает некорректно — сдвиг по времени

Проблема: интернет блокируется/разрешается не в то время, которое указано в профиле.

Решение: проверьте настройки системного времени и часового пояса.

[admin@MikroTik] >
# Проверяем время и часовой пояс
/system/clock print

# Устанавливаем правильный часовой пояс
/system/clock set time-zone-name=Europe/Moscow

# Включаем NTP-синхронизацию
/system/ntp/client set enabled=yes
/system/ntp/client/servers add address=time.google.com
/system/ntp/client/servers add address=pool.ntp.org

# Проверяем синхронизацию
/system/ntp/client print

Ошибка 7: Kid Control влияет на родительские устройства

Проблема: после настройки Kid Control замедлился интернет или появились проблемы с DNS у родительских устройств.

Решение: убедитесь, что NAT-правила для DNS-перенаправления применяются только к address-list kids-devices, а не ко всей сети. Проверьте порядок правил.

[admin@MikroTik] >
# Проверяем, что NAT-правила ограничены списком kids-devices
/ip/firewall/nat print where comment~"Kid Control"

# Правила должны содержать src-address-list=kids-devices
# Если нет — исправляем
/ip/firewall/nat set [find where comment~"Kid Control" and !src-address-list] \
    src-address-list=kids-devices

Рекомендации по эксплуатации

Комплексная стратегия

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

УровеньМетодЧто защищает
РоутерKid Control + DNS фильтрацияРасписание, базовая фильтрация контента
УстройствоВстроенный родительский контроль (Screen Time, Family Link)Приложения, время использования
БраузерРасширения (uBlock Origin)Реклама, трекеры
РазговорОбъяснение правил ребёнкуОсознанное использование

Полная конфигурация (итоговый скрипт)

[admin@MikroTik] >
# === Kid Control — полная настройка ===

# Профили
/ip/kid-control add name=junior \
    mon=15h-20h tue=15h-20h wed=15h-20h thu=15h-20h \
    fri=15h-21h sat=10h-21h sun=10h-20h \
    rate-limit=10M/10M disabled=no

/ip/kid-control add name=senior \
    mon=14h-22h tue=14h-22h wed=14h-22h thu=14h-22h \
    fri=14h-23h sat=9h-23h sun=9h-22h \
    rate-limit=50M/50M disabled=no

# Устройства
/ip/kid-control/device add name=junior-phone mac-address=AA:BB:CC:11:22:33 user=junior
/ip/kid-control/device add name=junior-tablet mac-address=AA:BB:CC:44:55:66 user=junior
/ip/kid-control/device add name=senior-phone mac-address=DD:EE:FF:11:22:33 user=senior
/ip/kid-control/device add name=senior-laptop mac-address=DD:EE:FF:44:55:66 user=senior

# DNS-фильтрация
/ip/firewall/address-list add list=kids-devices address=192.168.88.50 comment="junior-phone"
/ip/firewall/address-list add list=kids-devices address=192.168.88.51 comment="junior-tablet"
/ip/firewall/address-list add list=kids-devices address=192.168.88.60 comment="senior-phone"
/ip/firewall/address-list add list=kids-devices address=192.168.88.61 comment="senior-laptop"

/ip/firewall/nat add chain=dstnat \
    src-address-list=kids-devices protocol=udp dst-port=53 \
    action=dst-nat to-addresses=185.228.168.168 to-ports=53 \
    comment="Kid Control - DNS redirect"
/ip/firewall/nat add chain=dstnat \
    src-address-list=kids-devices protocol=tcp dst-port=53 \
    action=dst-nat to-addresses=185.228.168.168 to-ports=53 \
    comment="Kid Control - DNS redirect TCP"

# Блокировка DoH
/ip/firewall/address-list add list=doh-servers address=1.1.1.1 comment="Cloudflare"
/ip/firewall/address-list add list=doh-servers address=1.0.0.1 comment="Cloudflare"
/ip/firewall/address-list add list=doh-servers address=8.8.8.8 comment="Google"
/ip/firewall/address-list add list=doh-servers address=8.8.4.4 comment="Google"
/ip/firewall/address-list add list=doh-servers address=9.9.9.9 comment="Quad9"

/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices dst-address-list=doh-servers \
    protocol=tcp dst-port=443 action=drop \
    comment="Kid Control - block DoH"

# NTP для корректного расписания
/system/clock set time-zone-name=Europe/Moscow
/system/ntp/client set enabled=yes
/system/ntp/client/servers add address=time.google.com
[admin@MikroTik] >
[Устройство ребёнка]
       │
       ▼
[Bridge / Wi-Fi]
       │
       ▼
[Kid Control Profile]
   ├── Расписание → firewall filter (drop вне времени)
   ├── Rate Limit → Simple Queue (max-limit)
   └── DNS → блокировка категорий через DNS override
# Профиль для младшего ребёнка — строгое расписание
/ip/kid-control add name=junior \
    mon=15h-20h \
    tue=15h-20h \
    wed=15h-20h \
    thu=15h-20h \
    fri=15h-21h \
    sat=10h-21h \
    sun=10h-20h \
    rate-limit=10M/10M \
    disabled=no

# Профиль для старшего ребёнка — более свободное расписание
/ip/kid-control add name=senior \
    mon=14h-22h \
    tue=14h-22h \
    wed=14h-22h \
    thu=14h-22h \
    fri=14h-23h \
    sat=9h-23h \
    sun=9h-22h \
    rate-limit=50M/50M \
    disabled=no
# Посмотрим текущие DHCP leases
/ip/dhcp-server/lease print where status=bound

# Привязка устройств младшего ребёнка
/ip/kid-control/device add name=junior-phone \
    mac-address=AA:BB:CC:11:22:33 \
    user=junior

/ip/kid-control/device add name=junior-tablet \
    mac-address=AA:BB:CC:44:55:66 \
    user=junior

# Привязка устройств старшего ребёнка
/ip/kid-control/device add name=senior-phone \
    mac-address=DD:EE:FF:11:22:33 \
    user=senior

/ip/kid-control/device add name=senior-laptop \
    mac-address=DD:EE:FF:44:55:66 \
    user=senior
# Статические leases для привязанных устройств
/ip/dhcp-server/lease make-static [find where mac-address=AA:BB:CC:11:22:33]
/ip/dhcp-server/lease make-static [find where mac-address=AA:BB:CC:44:55:66]
/ip/dhcp-server/lease make-static [find where mac-address=DD:EE:FF:11:22:33]
/ip/dhcp-server/lease make-static [find where mac-address=DD:EE:FF:44:55:66]
# Изменение лимита скорости для существующего профиля
/ip/kid-control set junior rate-limit=5M/5M
/ip/kid-control set senior rate-limit=30M/30M

# Проверка созданных очередей
/queue/simple print where dynamic=yes
# Включаем DNS-сервер на MikroTik
/ip/dns set allow-remote-requests=yes

# Создаём список адресов для детских устройств
/ip/firewall/address-list add list=kids-devices address=192.168.88.0/24 comment="placeholder"
# Убираем placeholder и добавляем конкретные IP
/ip/firewall/address-list remove [find where list=kids-devices comment="placeholder"]

/ip/firewall/address-list add list=kids-devices address=192.168.88.50 comment="junior-phone"
/ip/firewall/address-list add list=kids-devices address=192.168.88.51 comment="junior-tablet"
/ip/firewall/address-list add list=kids-devices address=192.168.88.60 comment="senior-phone"
/ip/firewall/address-list add list=kids-devices address=192.168.88.61 comment="senior-laptop"
# NAT-правило: все DNS-запросы от детских устройств → CleanBrowsing Family Filter
/ip/firewall/nat add chain=dstnat \
    src-address-list=kids-devices \
    protocol=udp dst-port=53 \
    action=dst-nat to-addresses=185.228.168.168 to-ports=53 \
    comment="Kid Control - redirect DNS to CleanBrowsing"

/ip/firewall/nat add chain=dstnat \
    src-address-list=kids-devices \
    protocol=tcp dst-port=53 \
    action=dst-nat to-addresses=185.228.168.168 to-ports=53 \
    comment="Kid Control - redirect DNS TCP to CleanBrowsing"
# Блокировка известных DoH серверов
/ip/firewall/address-list add list=doh-servers address=1.1.1.1 comment="Cloudflare DoH"
/ip/firewall/address-list add list=doh-servers address=1.0.0.1 comment="Cloudflare DoH"
/ip/firewall/address-list add list=doh-servers address=8.8.8.8 comment="Google DoH"
/ip/firewall/address-list add list=doh-servers address=8.8.4.4 comment="Google DoH"
/ip/firewall/address-list add list=doh-servers address=9.9.9.9 comment="Quad9 DoH"
/ip/firewall/address-list add list=doh-servers address=208.67.222.222 comment="OpenDNS DoH"
/ip/firewall/address-list add list=doh-servers address=208.67.220.220 comment="OpenDNS DoH"

# Блокировка HTTPS-трафика к DoH-серверам от детских устройств
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    dst-address-list=doh-servers \
    protocol=tcp dst-port=443 \
    action=drop \
    comment="Kid Control - block DoH bypass"

# Также блокируем QUIC (UDP 443) к DoH-серверам
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    dst-address-list=doh-servers \
    protocol=udp dst-port=443 \
    action=drop \
    comment="Kid Control - block QUIC to DoH servers"
# Поставить на паузу — интернет отключается немедленно
/ip/kid-control pause junior

# Снять с паузы — доступ восстанавливается (если текущее время в расписании)
/ip/kid-control resume junior

# Проверить состояние
/ip/kid-control print
# Блокировка WireGuard (UDP 51820)
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=udp dst-port=51820 \
    action=drop \
    comment="Kid Control - block WireGuard"

# Блокировка OpenVPN (TCP 1194, UDP 1194)
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=tcp dst-port=1194 \
    action=drop \
    comment="Kid Control - block OpenVPN TCP"
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=udp dst-port=1194 \
    action=drop \
    comment="Kid Control - block OpenVPN UDP"

# Блокировка L2TP/IPsec (UDP 500, 4500, 1701)
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=udp dst-port=500,4500,1701 \
    action=drop \
    comment="Kid Control - block L2TP/IPsec"
# Список профилей Kid Control
/ip/kid-control print

# Ожидаемый вывод:
# Flags: X - disabled, P - paused, B - blocked
#  0   name="junior" mon=15h-20h tue=15h-20h wed=15h-20h thu=15h-20h
#      fri=15h-21h sat=10h-21h sun=10h-20h rate-limit=5M/5M

# Список привязанных устройств
/ip/kid-control/device print

# Ожидаемый вывод:
#  0   name="junior-phone" mac-address=AA:BB:CC:11:22:33 user=junior
#  1   name="junior-tablet" mac-address=AA:BB:CC:44:55:66 user=junior
# Kid Control создаёт динамические firewall-правила
/ip/firewall/filter print where dynamic=yes

# Проверка динамических очередей
/queue/simple print where dynamic=yes

# Проверка NAT-правил для DNS-перенаправления
/ip/firewall/nat print where comment~"Kid Control"
# Просмотр статистики по времени
/ip/kid-control print stats

# Сброс счётчиков
/ip/kid-control reset-counters junior
# Проверяем текущее время
/system/clock print

# Тестирование: меняем время на период блокировки (осторожно в production!)
# После проверки не забудьте включить NTP
/system/ntp/client set enabled=yes
# С детского устройства попробуйте резолвить заблокированный сайт
# Если DNS-фильтрация работает, CleanBrowsing вернёт 0.0.0.0 или страницу блокировки

# Проверка, что DNS-перенаправление работает
/ip/firewall/nat print stats where comment~"Kid Control"

# Проверка через torch — видим DNS-трафик от детских устройств
/tool/torch interface=bridge-lan src-address=192.168.88.50 protocol=udp port=53 duration=10
# Проверяем счётчики правил блокировки DoH
/ip/firewall/filter print stats where comment~"block DoH"

# Тест: ping DoH-серверов с детского устройства — должен работать (ICMP не блокируем)
# Но HTTPS-соединение к ним — должно быть заблокировано
# Создаём address-list всех разрешённых устройств (не только детских)
/ip/firewall/address-list add list=known-devices address=192.168.88.1 comment="router"
/ip/firewall/address-list add list=known-devices address=192.168.88.10 comment="parent-phone"
/ip/firewall/address-list add list=known-devices address=192.168.88.11 comment="parent-laptop"
/ip/firewall/address-list add list=known-devices address=192.168.88.50 comment="junior-phone"
/ip/firewall/address-list add list=known-devices address=192.168.88.51 comment="junior-tablet"
/ip/firewall/address-list add list=known-devices address=192.168.88.60 comment="senior-phone"
/ip/firewall/address-list add list=known-devices address=192.168.88.61 comment="senior-laptop"

# Блокируем интернет-доступ для неизвестных устройств в LAN
/ip/firewall/filter add chain=forward \
    in-interface=bridge-lan \
    src-address-list=!known-devices \
    action=drop \
    comment="Block unknown devices from internet"
# Проверка
/ip/kid-control print
# Если есть флаг X — включаем
/ip/kid-control set junior disabled=no
/ip/dhcp-server/lease print where status=bound
# Сравните с
/ip/kid-control/device print
/ip/kid-control set junior disabled=yes
/ip/kid-control set junior disabled=no
# Статические DNS-записи, указывающие DoH-домены на 0.0.0.0
/ip/dns/static add name=dns.google address=0.0.0.0 comment="Block Google DoH"
/ip/dns/static add name=cloudflare-dns.com address=0.0.0.0 comment="Block Cloudflare DoH"
/ip/dns/static add name=dns.quad9.net address=0.0.0.0 comment="Block Quad9 DoH"
/ip/dns/static add name=doh.opendns.com address=0.0.0.0 comment="Block OpenDNS DoH"
/ip/dns/static add name=mozilla.cloudflare-dns.com address=0.0.0.0 comment="Block Firefox DoH"
# Блокируем нестандартные порты (многие VPN используют порты выше 10000)
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=tcp dst-port=10000-65535 \
    action=drop \
    comment="Kid Control - block high TCP ports"

/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    protocol=udp dst-port=10000-65535 \
    action=drop \
    comment="Kid Control - block high UDP ports"
# Проверяем все очереди
/queue/simple print

# Удаляем конфликтующие статические очереди
/queue/simple remove [find where target~"192.168.88.50"]
# Проверяем наличие FastTrack
/ip/firewall/filter print where action=fasttrack-connection

# Добавляем исключение для детских устройств ДО правила FastTrack
/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices \
    action=accept \
    comment="Skip FastTrack for kids (allow queues)" \
    place-before=[find where action=fasttrack-connection]

/ip/firewall/filter add chain=forward \
    dst-address-list=kids-devices \
    action=accept \
    comment="Skip FastTrack for kids (allow queues)" \
    place-before=[find where action=fasttrack-connection]
# Проверяем время и часовой пояс
/system/clock print

# Устанавливаем правильный часовой пояс
/system/clock set time-zone-name=Europe/Moscow

# Включаем NTP-синхронизацию
/system/ntp/client set enabled=yes
/system/ntp/client/servers add address=time.google.com
/system/ntp/client/servers add address=pool.ntp.org

# Проверяем синхронизацию
/system/ntp/client print
# Проверяем, что NAT-правила ограничены списком kids-devices
/ip/firewall/nat print where comment~"Kid Control"

# Правила должны содержать src-address-list=kids-devices
# Если нет — исправляем
/ip/firewall/nat set [find where comment~"Kid Control" and !src-address-list] \
    src-address-list=kids-devices
# === Kid Control — полная настройка ===

# Профили
/ip/kid-control add name=junior \
    mon=15h-20h tue=15h-20h wed=15h-20h thu=15h-20h \
    fri=15h-21h sat=10h-21h sun=10h-20h \
    rate-limit=10M/10M disabled=no

/ip/kid-control add name=senior \
    mon=14h-22h tue=14h-22h wed=14h-22h thu=14h-22h \
    fri=14h-23h sat=9h-23h sun=9h-22h \
    rate-limit=50M/50M disabled=no

# Устройства
/ip/kid-control/device add name=junior-phone mac-address=AA:BB:CC:11:22:33 user=junior
/ip/kid-control/device add name=junior-tablet mac-address=AA:BB:CC:44:55:66 user=junior
/ip/kid-control/device add name=senior-phone mac-address=DD:EE:FF:11:22:33 user=senior
/ip/kid-control/device add name=senior-laptop mac-address=DD:EE:FF:44:55:66 user=senior

# DNS-фильтрация
/ip/firewall/address-list add list=kids-devices address=192.168.88.50 comment="junior-phone"
/ip/firewall/address-list add list=kids-devices address=192.168.88.51 comment="junior-tablet"
/ip/firewall/address-list add list=kids-devices address=192.168.88.60 comment="senior-phone"
/ip/firewall/address-list add list=kids-devices address=192.168.88.61 comment="senior-laptop"

/ip/firewall/nat add chain=dstnat \
    src-address-list=kids-devices protocol=udp dst-port=53 \
    action=dst-nat to-addresses=185.228.168.168 to-ports=53 \
    comment="Kid Control - DNS redirect"
/ip/firewall/nat add chain=dstnat \
    src-address-list=kids-devices protocol=tcp dst-port=53 \
    action=dst-nat to-addresses=185.228.168.168 to-ports=53 \
    comment="Kid Control - DNS redirect TCP"

# Блокировка DoH
/ip/firewall/address-list add list=doh-servers address=1.1.1.1 comment="Cloudflare"
/ip/firewall/address-list add list=doh-servers address=1.0.0.1 comment="Cloudflare"
/ip/firewall/address-list add list=doh-servers address=8.8.8.8 comment="Google"
/ip/firewall/address-list add list=doh-servers address=8.8.4.4 comment="Google"
/ip/firewall/address-list add list=doh-servers address=9.9.9.9 comment="Quad9"

/ip/firewall/filter add chain=forward \
    src-address-list=kids-devices dst-address-list=doh-servers \
    protocol=tcp dst-port=443 action=drop \
    comment="Kid Control - block DoH"

# NTP для корректного расписания
/system/clock set time-zone-name=Europe/Moscow
/system/ntp/client set enabled=yes
/system/ntp/client/servers add address=time.google.com
IP / Родительский контроль на MikroTik — Kid Control