Умный родительский контроль на MikroTik: Как разрешать доступ в интернет с вашего телефона
Стандартные методы родительского контроля часто бывают неудобными: либо вы блокируете всё, кроме пары сайтов, либо тратите кучу времени на ручное ведение "белых списков". Этот метод предлагает элегантное и гибкое решение.
Идея проста: по умолчанию интернет на устройстве ребенка полностью заблокирован. Но как только вы заходите на какой-либо сайт или используете приложение на своем "контрольном" телефоне, его адрес автоматически добавляется в "белый список", и ребенок тут же получает к нему доступ. Вы управляете доступом, просто пользуясь своим телефоном.
Как это работает (концепция)
Блокировка по умолчанию: Мы создаем правило, которое блокирует весь интернет-трафик для устройства ребенка, идентифицируя его по уникальному MAC-адресу.
Динамический "белый список": Мы создаем специальный список адресов (Address List), который изначально пуст.
Правило-шпион: Мы настраиваем правило, которое следит за интернет-активностью контрольного телефона. Когда он заходит на новый ресурс, его IP-адрес автоматически заносится в "белый список".
Правило-исключение: Мы создаем еще одно, самое важное правило. Оно стоит выше блокировки и разрешает ребенку доступ только к тем адресам, которые в данный момент находятся в "белом списке".
Что вам понадобится
Доступ к настройкам вашего роутера MikroTik (через WinBox или веб-интерфейс).
MAC-адрес устройства ребенка (например, AA:BB:CC:11:22:33).
MAC-адрес вашего контрольного телефона (например, DD:EE:FF:44:55:66).
Шаг 1: Пошаговая настройка в терминале
Откройте в WinBox или веб-интерфейсе New Terminal и последовательно введите следующие команды. Не забудьте заменить MAC-адреса на ваши!
Создаем "белый список"
/ip firewall address-list add list=allowed_for_child comment="Whitelist for Child"
Эта команда создает пустой список адресов с именем allowed_for_child. Именно сюда будут автоматически добавляться разрешенные IP-адреса.
Создаем правило для отслеживания контрольного телефона
/ip firewall mangle add action=add-dst-to-address-list address-list=allowed_for_child address-list-timeout=none chain=prerouting src-mac-address=DD:EE:FF:44:55:66 connection-state=new comment="Populate whitelist from control phone"
Это самое умное правило. Оно следит за трафиком контрольного телефона (с MAC-адресом DD:EE:FF:44:55:66) и, как только обнаруживает новое соединение, добавляет IP-адрес назначения в наш "белый список" allowed_for_child. Параметр address-list-timeout=none означает, что адрес добавляется навсегда.
Создаем разрешающее правило для ребенка
/ip firewall filter add action=accept chain=forward dst-address-list=allowed_for_child src-mac-address=AA:BB:CC:11:22:33 comment="ALLOW child access to whitelist"
Это правило разрешает устройству ребенка (определяемому по его MAC-адресу AA:BB:CC:11:22:33) обращаться к любому IP-адресу, который находится в списке allowed_for_child.
Создаем блокирующее правило по умолчанию
/ip firewall filter add action=drop chain=forward src-mac-address=AA:BB:CC:11:22:33 comment="BLOCK all other internet for child"
Это финальное правило. Оно блокирует весь остальной интернет-трафик для устройства ребенка, который не был разрешен предыдущим правилом.
Шаг 2: Проверка порядка правил (Критически важно!)
Брандмауэр MikroTik обрабатывает правила последовательно, сверху вниз. Чтобы наша система работала, разрешающее правило обязательно должно стоять выше блокирующего.
Перейдите в IP -> Firewall.
Откройте вкладку Filter Rules.
Убедитесь, что правило с комментарием ALLOW child access to whitelist находится НАД правилом с комментарием BLOCK all other internet for child.
Если порядок неверный, просто нажмите на разрешающее правило и, удерживая левую кнопку мыши, перетащите его выше блокирующего.
Шаг 3: Как этим пользоваться и управлять
Система полностью настроена и уже работает.
Чтобы дать доступ: Просто откройте нужный сайт, игру или приложение на своем контрольном телефоне. Их сетевые адреса автоматически попадут в "белый список".
Чтобы отозвать доступ: Поскольку мы установили бесконечное время (timeout=none), "белый список" нужно чистить вручную.
Перейдите в IP -> Firewall -> вкладка Address Lists.
Найдите и выделите IP-адрес, доступ к которому вы хотите закрыть.
Нажмите на красный минус (-) для удаления. Доступ будет мгновенно закрыт.
На каких еще роутерах можно это настроить?
Описанная схема очень изящно реализуется на MikroTik благодаря одной ключевой функции — action=add-dst-to-address-list. Это встроенный инструмент, который делает всю сложную работу за нас. На других платформах достижение того же результата потребует больше усилий.
Категория 1: Почти невозможно (Обычные домашние роутеры)
На стоковых (заводских) прошивках большинства роутеров от TP-Link, D-Link, Asus, Netgear и т.д. реализовать такую схему не получится. Их брандмауэры не обладают необходимой гибкостью для отслеживания трафика и динамического изменения списков доступа.
Категория 2: Возможно, но сложнее (Продвинутые и Pro-роутеры)
OpenWrt: Потребуется комбинация iptables, ipset и написание кастомного скрипта, который будет анализировать системные логи и добавлять IP-адреса в ipset. Сложность: Высокая.
Keenetic: Принцип схож с OpenWrt, но потребует адаптации скриптов под синтаксис и особенности KeeneticOS. Сложность: Средняя/Высокая.
Ubiquiti UniFi (USG/UDM): Потребует глубокой работы с конфигурационными файлами в формате JSON, что выходит далеко за рамки стандартных настроек. Сложность: Высокая.
Категория 3: Возможно для энтузиастов (pfSense / OPNsense)
На программных роутерах это реализуемо, но, как и в OpenWrt, потребует настройки логирования трафика и создания скрипта, который будет парсить лог и добавлять IP-адреса в нужную таблицу брандмауэра. Сложность: Высокая.









