Родительский контроль на роутере mikrotik

parental-control-mikrotik-000.pngСегодня интернет плотно проник во все сферы нашей жизни и превратился в столь же привычный и необходимый предмет, как электричество или водоснабжение. И это не преувеличение: работа, обучение, онлайн-сервисы — все это требует доступа в сеть, что не только открывает новые возможности, но порождает новые проблемы. Одна из них — защита детей от неподходящей для их возраста информации, а также контроль времени, проводимого ими в сети. При том, что решать данную задачу следует гибко, с учетом возраста и реальных потребностей детей, не ограничивая при этом возможности родителей.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

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

В данной статье мы рассмотрим комплекс мер, который основан на собственном опыте и отражает наше видение политики гибкого родительского контроля, который будет реализован на базе RouterOS.

Распределение устройств по группам

В основе любых ограничительных мер лежат списки объектов, к которым данные меры применяются. И чем более гибкие политики мы хотим создать, тем более точным должно быть разделение на группы. Да, можно создать единственную группу — Дети, но вряд ли вы сумеете настроить ограничения таким образом, чтобы они подходили и ребенку 7-8 лет и 14-15 летнему подростку. Поэтому далее будем предполагать, что у нас есть условный младшеклассник Иван, подросток Маша и некоторое количество устройств общего пользования, такие как умный телевизор или компьютер в зале.

Каждый из детей имеет собственные устройства и все эти устройства нам нужно учесть и распределить по группам, здесь нам поможет резервирование DHCP.

Перейдем в раздел DHCP Server — Leases и зарезервируем за каждым устройством сетевые настройки. Для этого выбираем нужное устройство в списке, открываем его свойства и нажимаем Make Static.

parental-control-mikrotik-001.pngПосле чего на закладке General станут доступны дополнительные настройки, нам нужно указать для каждого устройства свой список адресов. В нашем случае мы создадим свой список для каждого ребенка и еще один для устройств общего пользования. Внизу закладки найдите поле Address List и выберите нужный список, если он отсутствует, то просто укажите его название, он будет создан автоматически.

parental-control-mikrotik-002.pngВ итоге у вас должен получиться набор динамических списков, каждый из которых содержит адреса нужной группы устройств:

parental-control-mikrotik-003.png

Не забывайте снабжать комментариями объекты, добавляемые в списки, это поможет сохранять удобочитаемость настроек и облегчит дальнейшее сопровождение.

Блокировка нежелательных ресурсов

Один из самых сложных и ответственных вопросов. Мы уже обсуждали вопрос блокировки на основе списков в наших статьях, но в данном случае это поможет мало. Одно дело — заблокировать наиболее популярные ресурсы-пожиратели времени в офисе и совсем иное — оградить детей от всего возможного объема нежелательной информации. Здесь нам на помощь придут специализированные DNS.

Первое, что приходит на ум, это Яндекс.DNS Семейный и аналогичные сервисы других DNS-провайдеров. Но, на наш взгляд, для детей младшего возраста такой фильтрации недостаточно, так как Яндекс Семейный фильтрует только явные материалы 18+, оставляя очень много неоднозначного контента за бортом.

Поэтому для наиболее полной фильтрации мы используем сервис SkyDNS, который представляет гораздо более специализированное коммерческое решение, тариф SkyDNS.Домашний обходится всего в 395 руб/год, что по силам любому семейному бюджету. Сервис имеет гибкие настройки и позволяет достаточно тонко управлять блокируемыми тематиками.

parental-control-mikrotik-004.pngМы будем использовать оба DNS-сервиса, Яндекс для более взрослых детей, которых уже не требуется ограждать от всего и вся и SkyDNS для младших, которым пока требуется более безопасная выдача.

Перенаправлять запросы клиентских устройств на нужные нам DNS можно сделать различными способами, мы будем использовать перехват пакетов на роутере, что позволит одновременно организовать защиту от ручного изменения настроек на клиенте. Для этого перейдем в IP — Firewall — NAT и добавим новое правило. Закладка General : Chain — dstnat, Protocol — udp, Dst.Port — 53.

parental-control-mikrotik-005.png

На закладке Advanced в поле Src. Address List выбираем нужный нам список устройств.

parental-control-mikrotik-006.png

И на закладке Action укажем действие: Action — dst-nat, To Addresses — 193.58.251.251, где в качестве адреса укажем IP-адрес нужного нам сервиса DNS, в данном случае приведен адрес SkyDNS.

parental-control-mikrotik-007.pngЗатем сделаем копию этого же правила для протокола tcp.

В консоли добавить правила можно командами:

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=53 protocol=udp src-address-list=IVAN to-addresses=193.58.251.251
add action=dst-nat chain=dstnat dst-port=53 protocol=tcp src-address-list=IVAN to-addresses=193.58.251.251

Аналогичным образом добавляем перенаправление для других групп устройств к своим DNS-серверам. Отдельного разговора требует группа общих устройств, для них мы укажем дополнительное условие. Для этого перейдем на закладку Extra, развернем блок Time и в полях Time и Days укажем расписание, по которому будем применять ограничения. В указанное время все запросы будут идти к безопасным серверам, а в остальное — к основному DNS-серверу и фильтрация производиться не будет.

parental-control-mikrotik-008.pngЭто же действие в терминале:

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=53 protocol=udp src-address-list=COMMON time=8h-18h,mon,tue,wed,thu,fri to-addresses=77.88.8.7
add action=dst-nat chain=dstnat dst-port=53 protocol=tcp src-address-list=COMMON time=8h-18h,mon,tue,wed,thu,fri to-addresses=77.88.8.7

В результате у вас должен получиться набор правил для каждой группы устройств, обратите внимание, что правило для группы общих устройств выделено красным и снабжено комментарием # inactive time, в данный момент указанные нами условия не выполняются и такое правило применено не будет.

parental-control-mikrotik-009.pngПри использовании общих устройств учитывайте такой момент, как локальный DNS-кеш и DNS-кеш браузера. Что может привести к тому, что блокировки не будут работать, несмотря на то что правило активно. Как правило, в большинстве случаев, достаточно перезапустить браузер, но это помогает не всегда. Поэтому имейте это ввиду при посещении ресурсов на общих устройствах.

Проверим работу фильтров в действии, начнем со SkyDNS, попробуем посетить сайт одного неоднозначного шоу:

parental-control-mikrotik-010.pngОтлично, все работает. Кроме фильтрации сайтов данный сервис принудительно включает безопасный режим для Youtube и эффективно контролирует содержимое его роликов. Сравним выдачу по одному и тому же запросу через SkyDNS и обычный DNS-сервер:

parental-control-mikrotik-011.pngКак видим, фильтр работает весьма эффективно, отсекая практически весь нежелательный контент, при этом возможность изменить параметры фильтров в браузере будут заблокированы, даже при наличии прав локального администратора. А что будет, если на нежелательный ролик кто-то пришлет ссылку? Ничего страшного:

parental-control-mikrotik-012.pngРазблокировать такие ролики локально также невозможно. Дополнительно можно включить безопасный поиск, когда все поисковый запросы будут перенаправляться на Безопасный поиск SkyDNS.

В общем, за два года использования данный сервис подтвердил свою эффективность и гибкость в использовании, по мере взросления ребенка часть фильтров можно отключать, предоставляя ему больше свободы в сети, не отказываясь при этом от контроля по тематикам ресурсов.

Яндекс.DNS Семейный подобной гибкостью похвастаться не может, он фильтрует преимущественно ресурсы, явно относящиеся к категории 18+. Неоднозначное шоу имея более низкий возрастной рейтинг (16+) будет спокойно доступно к просмотру.

parental-control-mikrotik-013.pngТем не менее явные сайты категории «для взрослых» будут однозначно заблокированы.

parental-control-mikrotik-014.pngНа наш взгляд, сервисы Яндекса хорошо подходят для более старших детей и использования на устройствах общего пользования, возможно даже на постоянной основе. Вместе с категорией 18+ блокируются явно нежелательные сайты: фишинг, мошенничество, варез и т.д., что неплохо подходит и для остальных членов семьи, особенно технически малограмотных.

Кроме Семейного у Яндекса есть безопасный Безопасный режим, который блокирует большинство небезопасных сайтов, но пропускает сайты 18+, его можно использовать, например, для старших членов семьи, которые не обладают достаточными навыками безопасного поведения в интернете.

Ограничение времени доступа в интернет при помощи функции Kid Control

Ограничение времени пребывания в сети — вторая по актуальности задача родительского контроля. В актуальных версиях RouterOS для этой цели есть специальный инструмент. Для его настройки перейдем в IP — Kid Control и на вкладке Kids добавим записи для каждого ребенка и группы устройств общего пользования, если доступ нужно ограничивать и к ним. В открывшемся окне добавляем промежутки времени для каждого дня недели в которые будет разрешена работа, таких промежутков может быть несколько.

parental-control-mikrotik-015.pngЗатем к каждой записи ребенка нужно привязать устройства, принцип здесь аналогичен резервированию DHCP — точно также привязываем MAC-адрес. Для этого на закладке Devices создаем новую запись и указываем там нужный MAC, его можно скопировать из динамической записи, которая исчезнет после привязки устройства.

parental-control-mikrotik-016.pngТаким образом получим еще один список, содержащие записи детей и расписание доступа в сеть для них, заблокированная запись обозначается в списке флагом B.

parental-control-mikrotik-017.png

Блокировка устройств, связанных с записью, осуществляется при помощи динамически формируемых правил брандмауэра, которые запрещают прохождение транзитных пакетов от устройства и к нему.

parental-control-mikrotik-019.png

Кроме блокировок мы можем задавать ограничение скорости интернета, для этого придется в первую очередь заполнить время доступа, если этого не сделать, то будет считаться, что работа пользователя запрещена, затем выше, в полях Unlimited Rate для каждого дня недели указываем промежутки, когда возможен доступ без ограничения скорости, таких промежутков может быть несколько. И наконец в самом низу, в поле Rate Limit указываем ограничение скорости, в нашем случае 1 Мбит/с.

parental-control-mikrotik-018.pngПри указании даты есть свои особенности, формат записи не поддерживает значение секунд отличное от нуля, поэтому для окончания суток вместо 23:59:59 используйте запись вида 1d 00:00:00.

Следующий момент — ограничение скорости не работает при включенном Fasttrack, отключение которого может привести к высокой нагрузке на процессор, поэтому для слабых роутеров такой вариант скорее всего будет неприменим. Да и скажем честно, ограничение скорости — нетипичный сценарий для домашнего использования.

Также мы неоднократно наблюдали высокую нагрузку на CPU просто при включении ограничения времени доступа, что может сделать применение Kid Control на слабых устройствах невозможным. Но это не является серьезной проблемой, ограничение по времени можно без особых проблем реализовать обычными правилами брандмауэра.

Ограничение времени доступа в интернет при помощи брандмауэра

По сути, Kid Control не делает ничего нового или уникального, он является всего лишь высокоуровневым интерфейсом для управления правилами брандмауэра и очередями. А значит все это можно сделать руками и в некоторых случаях это будет еще гораздо проще.

Есть два сценария реализации поставленной задачи: либо мы указываем диапазоны времени когда доступ клиента разрешен и запрещаем его в остальное время, либо запрещаем определенный временной промежуток и разрешаем вне его пределов.

Для начала рассмотрим первый вариант. Допустим мы хотим разрешить доступ с 10:00 до 23:00 вы выходные и с 17:00 до 23:00 в рабочие дни. Переходим в IP — Firewall — Filter и создаем новое правило. На закладке General указываем цепочку для транзитного трафика: Chain — forward.

parental-control-mikrotik-020.pngНа закладке Advanced в опции Src. Address List указываем список адресов устройств ребенка.

parental-control-mikrotik-021.pngНа закладке Extra в разделе Time выбираем нужные дни и указываем требуемый временной диапазон (ниже указано расписание для выходных дней).

parental-control-mikrotik-022.pngПосле чего сохраняем правило. Затем делаем его копию и настраиваем расписание для рабочей недели. Если требуется задать несколько диапазонов, то создаем необходимое количество правил копированием, в каждом из которых меняем время действия правила на закладке Extra.

И завершаем наш набор правил запрещающим, для него мы заполняем закладки: General — указывая цепочку Chain — forward, Advanced — задав список адресов в Src. Address List и Action — reject.

В терминале это можно сделать командами:

/ip firewall filter
add action=accept chain=forward src-address-list=IVAN time=10h-23h,sun,sat
add action=accept chain=forward src-address-list=IVAN time=17h-23h,mon,tue,wed,thu,fri
add action=reject chain=forward reject-with=icmp-network-unreachable src-address-list=IVAN

Другой вариант предусматривает запрет только в определенный период времени, для этого мы создаем новое правило, как и в предыдущем примере заполняя закладки General, Advanced и Extra, после чего на закладке Action добавляем действие reject. Разрешающего правила в комплект с ним не нужно, так как политика по умолчанию разрешает все исходящие транзитные соединения.

В терминале выполните (для примера мы запретили доступ с 08:00 до 17:00):

/ip firewall filter
add action=reject chain=forward reject-with=icmp-network-unreachable src-address-list=MASHA time=8h-17h,mon,tue,wed,thu,fri

Данные правила следует разместить в самом начале цепочки FORWARD (т.е. выше всех остальных правил), также не забывайте снабжать правила понятными комментариями. Неактивные правила также будут выделены красным цветом и комментарием # inactive time.

parental-control-mikrotik-023.pngПодобные наборы правил фактически делают все тоже самое, что и Kid Control, но не создают при этом лишней нагрузки на устройство.

Как видим, роутеры Mikrotik предоставляют достаточно широкие возможности по родительскому контролю, которые, к тому же, можно настроить несколькими разными способами.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Summary

Sub-menu: /ip kid-control

«Kid control» is a parental control feature to limit internet connectivity for LAN devices.

Property Description

In this menu it is possible to create a profile for each Kid and restrict internet accessibility.

Property Description
name (string) Name of the Kids profile
mon,tue,wed,thu,fri,sat,sun (time) Each day of week. Time of day is selected, when internet access should be allowed
disabled (yes | no) Whether restrictions is enabled
rate-limit (string) Maximum available data rate for flow
tur-mon,tur-tue,tur-wed,tur-thu,tur-fri,tur-sat,tur-sun (time) Time unlimited rate. Time of day is selected, when internet access should be unlimited

Time unlimited rate parameters have higher priority than rate-limit parameter.

Devices

Sub-menu: /ip kid-control device

This sub-menu contains information if there is multiple connected devices to internet (phone, tablet, gaming console, tv etc.). Device is identified by MAC address that is retrieved from the ARP table. The appropriate IP address is taken from there.

Property Description
name (string) Name of the device
mac-address (string) Devices mac-address
user (string) To which profile append the device
reset-counters ([id, name]) Reset bytes-up and bytes-down counters.

Application example

With following example we will restrict access for Peters mobile phone:

  • Disabled internet access on Monday,Wednesday and Friday
  • Allowed unlimited internet access on:
    • Tuesday
    • Thursday from 11:00-22:00
    • Sunday 15:00-22:00
  • Limited bandwidth to 3Mbps for Peters mobile phone on Saturday from 18:30-21:00
[admin@MikroTik] > /ip kid-control add name=Peter mon="" tur-tue="00:00-24h" wed="" tur-thu="11:00-22:00" fri="" sat="18:30-22:00" tur-sun="15h-21h" rate-limit=3M
[admin@MikroTik] > /ip kid-control device add name=Mobile-phone user=Peter mac-address=FF:FF:FF:ED:83:63

Internet access limitation is implemented by adding dynamic firewall filter rules or simple queue rules. Here are example firewall filter rules:

[admin@MikroTik] > /ip firewall filter print

1  D ;;; Mobile-phone, kid-control
      chain=forward action=reject src-address=192.168.88.254 

2  D ;;; Mobile-phone, kid-control
      chain=forward action=reject dst-address=192.168.88.254

Dynamically created simple queue:

[admin@MikroTik] > /queue simple print
Flags: X - disabled, I - invalid, D - dynamic 

 1  D ;;; Mobile-phone, kid-control
      name="queue1" target=192.168.88.254/32 parent=none packet-marks="" priority=8/8 queue=default-small/default-small limit-at=3M/3M max-limit=3M/3M burst-limit=0/0 
      burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1  

It is possible to monitor how much data use specific device:

[admin@MikroTik] > /ip kid-control device print stats

Flags: X - disabled, D - dynamic, B - blocked, L - limited, I - inactive 
 #    NAME                                                                                                                 IDLE-TIME    RATE-DOWN   RATE-UP   BYTES-DOWN     BYTES-UP
 1 BI Mobile-phone                                                                                                               30s         0bps      0bps    3438.1KiB       8.9KiB

It is also possible to pause all restrictions and then resume them whenever you want it:

[admin@MikroTik] > /ip kid-control pause Peter 
[admin@MikroTik] > /ip kid-control print
Flags: X - disabled, P - paused, B - blocked, L - rate-limited 
 #   NAME                                                                                                                    SUN      MON      TUE      WED      THU      FRI      SAT     
 0 PB Peter                                                                                                                 15h-21h                             11h-22h          18:30h-22h  

Время на прочтение
8 мин

Количество просмотров 29K

Подготовленный ранее цикл статей, посвященный организации безопасности сетей, построенных на оборудовании MikroTik, вызвал определенный интерес у сообщества. В процессе обсуждения представленного материала стало понятно, что у некоторых пользователей подобное оборудование установлено дома (не удивительно, ведь сама простая модель стоит всего 1500 рублей), в связи с чем решено подготовить отдельный материал, посвященный возможностям RouterOS по организации родительского контроля. Поговорим о различных подходах, настройках, сопрягаемых решениях, касающихся предметной области.

Материалы поделены на две статьи. В первой части подробно рассмотрим организацию функционирования DNS, поговорим о работе с проходящим через маршрутизатор трафиком на L3 уровне посредством Firewall Filter и связанного с ним Ip Kid-control. Во второй части статьи подробно рассмотрим прикладное применение маркировки трафика посредством Firewall Mangle и сделаем выводы, касающиеся возможностей оборудования MikroTik по организации родительского контроля. Что-то новое никому не известное материалы статьи не раскрывают, но при этом показывают прикладное применение различных сетевых настроек, и решение поставленной задачи.

▍ 1. Настройка DNS

Определим имеющиеся условия. Роутер MikroTik подключен к интернет провайдеру, работает NAT, раздается сеть Wi-Fi, которой пользуются все члены семьи. Классическое домашнее решение. Первое, с чего следует начать, это с указания настроек для DNS сервера маршрутизатора:

/ip dns set allow-remote-requests=yes servers=77.88.8.7,77.88.8.3

В примере указаны, так называемые, семейные общедоступные сервера от Яндекса, которые должны «фильтровать» часть взрослого контента. На самом деле, там полно всего, чего бы многие предпочли не показывать детям. На рынке существуют более гибкие платные настраиваемые под себя решения, такие как Skydns и другие. Они имеют личные кабинеты, в которых выполняются необходимые настройки. Всего 500 рублей в год, очень даже адекватная стоимость.

Чтобы заданные на клиентах статические DNS сервера не смогли отработать (хотя вряд ли дети смогут сделать что-то подобное), редиректим все DNS запросы на маршрутизатор:

/ip firewall nat
add action=redirect chain=dstnat comment="Redirect DNS in NAT" dst-port=53 protocol=udp src-address=10.0.0.0/24 to-ports=53

Гипотетическим минусом использования платных DNS серверов является факт передачи открытой привязанной к себе (или членам семьи) информации третьим лицам, тем же DNS провайдерам. Поэтому идем дальше. Будем использовать общедоступные DNS сервера, при этом для не благонадежных сайтов установим статические записи прямо на MikroTik:

/ip dns static add address=127.0.0.1 regexp=\\\\*example\\.com\$

Как видно из примера, запросы на сайты вида example.com, other.example.com, abrakatabra.example.com (субдомены) будут направлены на localhost, другими словами, в никуда. Команда для очистки кеш DNS сервера, если что:

/ip dns cache flush

Подготовим простейшую html страничку заглушку для родительского контроля:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Родительский контроль</title>
</head>
<body>
	<h1>Заблокировано!</h1>
</body>
</html>


Чтобы ее демонстрировать при попытках перехода детей на контент, запрещенный родителями, нужно развернуть web сервер. Сделать это на MikroTik, конечно, заманчиво. Скажу сразу, что пытаться прикручивать сюда работу Hotspot – это плохая идея, потому что он предназначен для других целей и не нужно городить огород. Как вариант, можно воспользоваться технологией виртуального роутера от MikroTik (/metarouter). Как это сделать ранее рассмотрено на Хабре. Однако есть минимальные требования к аппаратной части вашего роутера: процессор mips или ppc, наличие свободных 48Мб оперативной памяти и 24Мб на диске. А это уже не устройства для дома, и 1500 рублями здесь не отделаешься. Поэтому рекомендую посмотреть в сторону одноплатника Raspberry Pi или VDS всего за 130 рублей в месяц:

Вынести страницу заглушку на внешний сервер – это отличная идея, ведь всегда его можно использовать и под другие задачи, а также никаких проблем с электричеством и вписыванием железа в семейный интерьер. Устанавливаем web сервер:

apt install apache2
a2enmod ssl
mkdir -p /var/www/example.com/
chown www-data:www-data /var/www/example.com/
Сюда кладем нашу HTML заглушку => /var/www/example.com/index.html
nano /etc/apache2/sites-available/example.com.conf

<VirtualHost *:443>
        RewriteEngine On
        RewriteCond %{HTTPS} on
        RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
		
        SSLEngine on
        SSLCertificateFile /root/example.com.crt
        SSLCertificateKeyFile /root/example.com.key
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /var/www/example.com/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

a2ensite example.com.conf
a2dissite 000-default.conf
systemctl restart apache2

Запросы к web серверу на любые домены отправляем на нашу страницу заглушку (<VirtualHost *:443 / 80>), при этом запросы по HTTPS редиректим на HTTP. Сертификат используем невалидный (или самоподписанный), о чем, конечно, браузер будет нас настойчиво уведомлять:

Теперь необходимо составить список сайтов, которые подлежат родительской блокировке. Начнем логировать все DNS запросы прямо на RouterOS (пропускаем мимо содержание пакетов):

/system logging action add name=DNS target=memory
/system logging add action=DNS topics=dns,!packet

Логи можно собирать и обрабатывать на удаленном устройстве, например на VDS при помощи Graylog. Данный вопрос уже раскрыт ранее. Для того, чтобы все остальные члены семьи, в том числе телевизор, не попадал под контроль, следует настроить на маршрутизаторе следующие действия:

1) В DHCP сервере статически закрепить IP адреса за детскими устройствами:

/ip dhcp-server lease
add address=10.0.0.254 client-id=1:11:22:33:cc:bb:aa mac-address=11:22:33:cc:bb:aa server=server_home
add address=10.0.0.253 client-id=1:22:33:44:cc:ba:aa mac-address=22:33:44:cc:ba:aa server=server_home

Или так:

/ip dhcp-server lease make-static numbers=1
/ip dhcp-server lease make-static numbers=2

2) Собрать полученные IP адреса в один address-list:


/ip firewall address-list
add address=10.0.0.254 list=children
add address=10.0.0.253 list=children

3) Указать в DHCP сервере общедоступные DNS (предварительно отключив описанное выше правило /ip firewall nat add action=redirect…):


/ip dhcp-server network
add address=10.0.0.0/24 dns-server=77.88.8.8,77.88.8.1 gateway=10.0.0.1 netmask=24

4) Перехватывать DNS запросы от детских устройств и натировать соответственно:


/ip firewall nat
add action=dst-nat chain=dstnat comment="DST-NAT Children to localDnsServer" dst-port=53 protocol=udp  src-address-list=children to-addresses=10.0.0.1

Теперь представим, что у нас есть еще дача, на которой необходимо так же иметь родительский контроль, кроме этого родственники с детьми, друзья, коллеги, которые просят сделать им аналогичные сервисы. Тогда уже есть смысл вынести DNS сервер с MikroTik на VDS, IP адрес которого использовать на различных устройствах. Настраиваем необходимый софт:


apt install bind9 dnsutils
nano /etc/bind/named.conf.options

options {
        interface-interval 0;
        version none;
        recursion yes;
        forwarders { 77.88.8.7; 77.88.8.3; };
        allow-query { 127.0.0.1; 192.168.15.0/24 };
};

Имеем ввиду, что зоны, которые не обслуживаются нашим сервером, будут рекурсивно запрошены у forwarders. Таким образом, ваш сервер может быть задействован в DDOS атаках, когда боты найдут IP вашего VDS и начнут постоянно запрашивать ANY DNS записи для атакуемого ресурса. Или обратная вариация, когда запрашиваться будут значительные легитимные ANY DNS записи, а в качестве источника запроса указываться IP адрес атакуемого ресурса (DNS Amplification Attack). Поэтому рекомендую ограничить запросы только с VPN сетки 192.168.15.0/24 (или пула IP вашего провайдера хотя бы).

Далее настраиваем зоны, которые будем «глушить»:


nano /etc/bind/named.conf.local

zone "example.com" {
    type master;
    file "/etc/bind/db.example.com ";
};

nano /etc/bind/db.example.com

$TTL 360
$ORIGIN example.com.

@ IN SOA example.com. admin.example.com. (
        1 ; Serial
        1d ; Refresh
        1h ; Retry
        1w ; Expire
        2h ; Negative Cache TTL
    )

@				IN	NS	ns1.example.com.
@				IN	NS	ns2.example.com.
@				IN	A	IP VDS сервера
ns1.example.com.		IN	A	IP VDS сервера
ns2.example.com.		IN	A	IP VDS сервера
*				IN	A	IP VDS сервера

Разумеется, сюда же на VDS переедет и web сервер с HTML заглушкой. Настраиваем логирование DNS запросов, чтобы можно было их анализировать и дополнять блокируемые зоны:


nano /etc/apparmor.d/usr.sbin.named

/var/log/bind9/** rw,
/var/log/bind9/ rw,

systemctl restart apparmor

mkdir /var/log/bind9
chown bind:bind /var/log/bind9/
nano /etc/bind/named.conf

logging {
	channel my_file {
		file "/var/log/bind9/bind.log" versions 3 size 100m;
		severity info;
		print-time yes;
		print-category yes;
		print-severity yes;
	};

	category default { my_file; };
	category queries { my_file; };

	category lame-servers { null; };
};

systemctl restart bind9
tail /var/log/bind9/bind.log -F

Лог будет выглядеть примерно так:


14-Oct-2021 00:10:52.237 queries: info: client @0xb3785670 192.168.1.8#37426 (example.com): query: example.com IN A + (192.168.1.9)
14-Oct-2021 00:10:52.243 queries: info: client @0xb3785670 192.168.1.8#33533 (example.com): query: example.com IN AAAA + (192.168.1.9)

Здесь мы настроили Bind9 — наиболее распространенный DNS сервер. Конечно, он должен работать как минимум в паре, так называемые master и slave. Однако MikroTik разрешает работать только с одним сервером.

Если зон будет много, тогда есть смысл выбрать более мощное виртуальное устройство. Сейчас это стоит не больших денег. В результате получается что-то вроде нашего собственного частно-коллективного решения, которое можно обкрутить web интерфейсом, внутренней логикой и после этого даже попытаться монетизировать )).

▍ 2. Firewall Filter

Теперь вернемся к нашему MikroTik и покажем, как еще можно ограничить трафик. В дело вступает Firewall. RouterOS позволяет динамически создавать address-list по доменному имени:


/ip firewall address-list
add address=youtube.com list=Block_site_by_dns_name
add address=vk.com list=Block_site_by_dns_name
add address=www.youtube.com list=Block_site_by_dns_name

Доменные имена автоматически разрезолвятся в IP адреса:


/ip firewall address-list print 
Flags: X - disabled, D - dynamic 
 #   LIST                     ADDRESS                                      CREATION-TIME        TIMEOUT             
3   Block_site_by_dns_name   youtube.com                               oct/10/2021 22:25:51
5   Block_site_by_dns_name   vk.com                                       oct/10/2021 22:26:40
6 D ;;; vk.com
Block_site_by_dns_name   87.240.190.72                                oct/10/2021 22:26:40
7 D ;;; vk.com
Block_site_by_dns_name   87.240.190.78                                oct/10/2021 22:26:40
8 D ;;; vk.com
Block_site_by_dns_name   87.240.190.67                                oct/10/2021 22:26:40
9 D ;;; vk.com
Block_site_by_dns_name   93.186.225.208                               oct/10/2021 22:26:40
10 D ;;; vk.com
Block_site_by_dns_name   87.240.139.194                               oct/10/2021 22:26:40
11 D ;;; vk.com
 Block_site_by_dns_name   87.240.137.158                               oct/10/2021 22:26:40
12 D ;;; youtube.com
Block_site_by_dns_name   173.194.221.91                               oct/10/2021 22:36:53
13 D ;;; youtube.com
Block_site_by_dns_name   173.194.221.136                              oct/10/2021 22:36:53
14 D ;;; youtube.com
Block_site_by_dns_name   173.194.221.93                               oct/10/2021 22:36:53
15 D ;;; youtube.com
Block_site_by_dns_name   173.194.221.190                              oct/10/2021 22:36:53

Ну и далее просто блокируем весь не угодный трафик на L3:


/ip firewall filter
add action=accept chain=input comment="Accept established,related" connection-state=established,related
add action=drop chain=input comment="Drop invalid" connection-state=invalid
add action=accept chain=forward comment="Accept established,related" connection-state=established,related
add action=drop chain=forward comment="Drop invalid" connection-state=invalid
add action=drop chain=forward comment=Drop_sites_by_address_list dst-address-list=Block_site_by_dns_name

Первые правила перед блокировкой важны. Они разгружают ваш маршрутизатор, так как установленные и связанные с ними соединения не будут обрабатываться всеми правилами Firewall.

▍ 3. Kid-control

В самом конце данной статьи расскажу про имеющееся в RouterOS готовое решение Kid-control. Его функционал позволяет удобно автоматизировать то, что можно всегда сделать скриптами. Добавляем по MAC адресам в /ip kid-control device все детские устройства:


/ip dhcp-server lease print 
Flags: X - disabled, R - radius, D - dynamic, B - blocked 
 #   ADDRESS              MAC-ADDRESS       HOST-NAME     SERVER     RATE-LIMIT     STATUS  LAST-SEEN               
 0 D 10.0.0.253           AA:BB:11:22:33:44 LittleFood     server_...                bound   21m2s                   

/ip kid-control device add mac-address=AA:BB:11:22:33:44 name=Pasha_Iphone user=Pasha

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


/ip kid-control add name=Pasha

В результате RouterOS создаст динамические правила в Firewall Filter:


/ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic 
 0  D ;;; Pasha_Iphone, kid-control
      chain=forward action=reject dst-address=10.0.0.253 

Вот и весть /ip kid-controlот RouterOS, по мне так полная скука.

▍ 4. Подведем промежуточные итоги

Представленные возможности уже позволяют ограничить трафик, проходящий через ваш маршрутизатор. Но RouterOS на этом еще не заканчивается. Самое интересное будет в следующей части статьи. Там же будут сделаны общие выводы по комплексной технической организации родительского контроля на оборудовании MikroTik.

В этой статье мы расскажем, как с помощью роутера MikroTik закрыть детям доступ к порно сайтам, а также научим включать / отключать интернет по расписанию.

Содержание:

  1. Блокировка порно сайтов с помощью DNS серверов
  2. Проверяем блокировку порно сайтов
  3. Защита от альтернативных DNS серверов
  4. Отключаем блокировку сайтов для родителей
  5. Добавление собственных запрещенных сайтов
  6. Включение и отключение интернета по времени

Блокировка порно сайтов с помощью DNS серверов

Чтобы закрыть доступ к порно сайтам проще всего использовать сторонние DNS серверы, которые самостоятельно мониторят сайты для взрослых и обновляют их базу.

Мы приведем пример с серверами Norton DNS.

Сервера с блокировкой вредоносных сайтов:
DNS1: 198.153.192.40
DNS2: 198.153.194.40

Сервера с блокировкой вредоносных сайтов и порно сайтов:
DNS1: 198.153.192.50
DNS2: 198.153.194.50

Сервера с блокировкой вредоносных сайтов, порно сайтов и файлообменников:
DNS1: 198.153.192.60
DNS2: 198.153.194.60

Нам подходит сервер с блокировкой вредоносных сайтов и порно сайтов, например, 198.153.192.50. Настроим роутер MikroTik на его использование:

  1. Откройте меню IP — DNS
  2. В поле Servers добавьте адрес 198.153.192.50
  3. Нажмите кнопку OK.

Блокировка порно сайтов в MikroTik

Проверяем блокировку порно сайтов

Чтобы проверить блокировку на компьютере с ОС Windows, сначала очистите кэш DNS. Для этого выполните следующее:

  1. Нажмите комбинацию клавиш Windows + R, наберите cmd и намжите OK, чтобы запустить терминал.

    Открываем терминал в Windows 7
     

  2. Также это можно сделать через меню Пуск — Найти программы файлы.

    Запуск терминала Windows 7 через меню Пуск
     

  3. В терминале выполните команду ipconfig /flushdns и нажмите Enter.

    Очистка кэша DNS в Windows

В конце выключите и включите сетевой интерфейс на компьютере, чтобы он получил новый адрес DNS сервера. Или можете просто перезагрузить компьютер.

Теперь в браузере наберите в поиске «порно» и попробуйте перейти по нескольким ссылкам. При переходе вы получите окно блокировки. Значит все работает.

Блокировка порно сайтов

Данный способ позволяет заблокировать большинство сайтов для взрослых, но не абсолютно все. Каждый день открывается огромное количество новых порно сайтов, и сотрудникам DNS сервисов нужно время, чтобы их найти и добавить в базу.

Защита от альтернативных DNS серверов

В настройках сетевой карты можно указать вручную альтернативный DNS сервер. Тогда запросы будут идти мимо необходимого нам DNS сервера, и блокировка работать не будет. Поэтому все DNS запросы необходимо завернуть на наш роутер. Для этого откройте меню New Terminal и выполните следующие команды:

/ip firewall nat
add chain=dstnat protocol=udp dst-port=53 action=redirect 
add chain=dstnat protocol=tcp dst-port=53 action=redirect 

Далее перейдите в меню IP — Firewall и на вкладке NAT переместите созданные правила вверх. Теперь все DNS запросы будут идти через наш роутер.

Защита от альтернативных DNS серверов в роутере MikroTik

Отключаем блокировку сайтов для родителей

Однажды у меня был телефонный разговор с клиентом:

  • «Здравствуйте, вы можете настроить блокировку порно сайтов на роутере MikroTik?»
  • «Да, могу».
  • «А блокировать порно будет всем пользователям?»
  • «Да, всем».
  • «Тогда не нужно».

Я учел пожелания таких клиентов, поэтому ниже пойдет речь о том, как сделать, чтобы у родителей был доступ к порно сайтам, а у детей — нет. Обязательное условие — у детей и родителей должны быть разные компьютеры или смартфоны.

Сначала нужно привязать MAC адреса всех домашних устройств к IP адресам. Для этого подключите все необходимые устройства к роутеру. Далее откройте меню IP — DHCP Server, перейдите на вкладку Leases, кликните правой кнопкой мыши на каждом устройстве и выберите Make Static.

Привязка MAC адресов к IP адресам в роутере MikroTik

Теперь составим два списка с IP-адресами:

  • Parents-List — список IP-адресов устройств родителей
  • Kids-List — список IP-адресов устройств детей

Списки добавляются в меню IP — Firewall — Address Lists. Проще всего это сделать командами ниже. Не забудьте поменять IP адреса на соответствующие вашим устройствам.

/ip firewall address-list add list=Parents-List address=192.168.88.254
/ip firewall address-list add list=Parents-List address=192.168.88.253
/ip firewall address-list add list=Kids-List address=192.168.88.252
/ip firewall address-list add list=Kids-List address=192.168.88.251

Далее создадим правила, по которым устройства из родительского списка Parents-List будут использовать DNS сервер без блокировки Google 8.8.8.8, а устройства из детского списка будут использовать сервер Norton DNS 198.153.192.50 с блокировкой вредоносных и порно сайтов.

/ip firewall nat add chain=dstnat protocol=udp dst-port=53 src-address-list=Parents-List action=dst-nat to-addresses=8.8.8.8
/ip firewall nat add chain=dstnat protocol=tcp dst-port=53 src-address-list=Parents-List action=dst-nat to-addresses=8.8.8.8
/ip firewall nat add chain=dstnat protocol=udp dst-port=53 src-address-list=Kids-List action=dst-nat to-addresses=198.153.192.50
/ip firewall nat add chain=dstnat protocol=tcp dst-port=53 src-address-list=Kids-List action=dst-nat to-addresses=198.153.192.50

Перейдите в меню IP — Firewall и на вкладке NAT переместите созданные правила в самый вверх.

Перемещение правил NAT

После этого переподключите устройства к роутеру MikroTik и проверяйте работу.

Добавление собственных запрещенных сайтов

Если вы желаете добавлять свои запрещенные сайты, то рекомендую использовать сервис OpenDNS. Он позволяет настроить категории сайтов, которые нужно блокировать, а также добавлять свои запрещенные и разрешенные сайты.

Перейдите на сайт https://signup.opendns.com/homefree/ и зарегистрируйте новый бесплатный аккаунт.

Регистрация на сайте OpenDNS

В следующем окне появятся адреса DNS серверов 208.67.222.222 и 208.67.220.220, которые нужно будет указать в настройках роутера.

Настройки серверов OpenDNS

Далее откройте свой email, подтвердите регистрацию и залогинтесь на сайте.

Перейдите в «Dashboard — Settings». Здесь автоматически определится ваш IP адрес. Нажмите кнопку «ADD THIS NETWORK».

Добавляем свою сеть в OpenDNS

В появившемся окне укажите название сети, и поставьте галочку «Yes, it is dynamic», если роутер получает IP адрес от провайдера динамически (автоматически) по DHCP.

Указываем название своей сети в OpenDNS

Далее кликните на IP-адрес созданной сети, чтобы открыть настройки.

Переходим в настройки своей сети в OpenDNS

Выберите режим «Custom». Укажите галочками сайты из каких категорий должны блокироваться, и нажмите кнопку «Apply».

Ниже в «Manage Individual Domain» можно добавить свои сайты, которые нужно блокировать (Always block), или добавить в исключения и не блокировать (Never block).

Выбор категорий для блокировки в OpenDNS

Теперь осталось в роутере MikroTik указать адреса OpenDNS серверов 208.67.222.222 или 208.67.220.220.

  1. Откройте меню IP — DNS
  2. В поле Servers добавьте адрес 208.67.222.222
  3. Нажмите кнопку OK.

Добавление серверов OpenDNS в роутер MikroTik

На компьютере очищаем кэш DNS, отключаем и включаем сетевое подключение. Далее пробуем открыть порно сайт и получаем окно блокировки. Все работает.

Блокировка порно сайтов на роутере MikroTik через сервис OpenDNS

Включение и отключение интернета по времени

Родители часто жалуются, что их дети по ночам сидят в интернете, хотя должны спать. Также кто-то хочет, чтобы ребенок после прихода со школы, сначала выучил уроки, а не сидел в интернете.

В качестве примера рассмотрим следующую задачу: наш ребенок приходит со школы в 15:00. Мы хотим, чтобы он до 17:00 выучил уроки. В это время интернет должен быть отключен. В 17:00 включаем интернет. В 22:00 выключаем интернет, когда нужно идти спать. С утра тоже включим интернет с 6:00 до 9:00. Данные правила должны работать только в будние дни. На выходных доступ к интернету должен быть круглосуточно.

Итого:

  • 6:00 — включаем интернет
  • 9:00 — выключаем интернет
  • 17:00 — включаем интернет
  • 22:00 — выключаем интернет

Для реализации задуманного нам потребуется использовать в роутере MikroTik скрипт и планировщик.

Сначала нужно привязать MAC адреса всех домашних устройств к IP адресам, и составить два списка с IP-адресами родительских устройств и устройств детей. Если вы это уже делали выше, то пропустите этот шаг.

Чтобы привязать MAC адреса, подключите все необходимые устройства к роутеру. Откройте меню IP — DHCP Server, перейдите на вкладку Leases, кликните правой кнопкой мыши на каждом устройстве и выберите Make Static.

Привязываем MAC адреса к IP адресам в роутере MikroTik

Теперь составим два списка с IP-адресами:

  • Parents-List — список IP-адресов устройств родителей
  • Kids-List — список IP-адресов устройств детей

Списки добавляются в меню IP — Firewall на вкладке Address Lists. Проще всего это сделать командами ниже. Не забудьте поменять IP адреса на соответствующие вашим устройствам.

/ip firewall address-list add list=Parents-List address=192.168.88.254
/ip firewall address-list add list=Parents-List address=192.168.88.253
/ip firewall address-list add list=Kids-List address=192.168.88.252
/ip firewall address-list add list=Kids-List address=192.168.88.251

Добавляем правила NAT для разрешения доступа к интернету каждому списку IP адресов.

/ip firewall nat add chain=srcnat out-interface=ether1 src-address-list=Parents-List action=masquerade comment=Internet-For-Parents
/ip firewall nat add chain=srcnat out-interface=ether1 src-address-list=Kids-List action=masquerade comment=Internet-For-Kids

Старое правило NAT можно деактивировать, чтобы если к сети подключится незнакомое устройство, то у него не было интернета. Но если придут гости, включите его, чтобы у них появился интернет.

  1. Откройте меню IP — Firewall и перейдите на вкладку NAT.
  2. Нажмите левой кнопкой мыши на правило с комментарием «defconf: masquerade» и перетащите ниже созданных правил.
  3. Нажмите «красный крестик», чтобы деактивировать правило.

Деактивируем NAT правило по умолчанию в роутере MikroTik

Проверьте, что на роутере правильно установлена дата и время в меню System — Clock.

Проверяем настройки даты и времени в роутере MikroTik

Ниже указан скрипт включения / отключения интернета по расписанию. Отредактируйте в нем время, необходимое вам. Если вы использовали другой текст комментариев в правилах NAT, то измените параметр NatComment.

####################################
## Script to On / Off internet access for kids
####################################

:log warning «KidsInternetOnOff Script started.»;

################################
## Set the internet ON and OFF times here

:local InternetOnTime «6:00«;
:local InternetOffTime «9:00«;

:local InternetOnTime2 «17:00«;
:local InternetOffTime2 «22:00«;

:local NatComment «Internet-For-Kids«;

##
#################################

#################################
## Get Current Day Of Week

:local date [/system clock get date]

# Math Calculation here
:local result «»
:local months [:toarray «jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec»]
:local daytbl [:toarray «sun,mon,tue,wed,thu,fri,sat»]

:local month [:pick $date 0 3]
:local day [:pick $date 4 6]
:local dayc [:pick $date 5 6]
:local year [:pick $date 7 11]

# if the first char is a 0 (zero) only read last char, else script fails
:if ([:pick $date 4 5] = 0) do={ :set day ($dayc)}

:local sum 0
:local aaa 0
:local yyy 0
:local mmm 0
:local nmonth 1

:for mindex from=0 to=[:len $months] do={
:if ([:pick $months $mindex] = $month) do={:set nmonth ($mindex + 1) }
}

:set aaa ((14 — $nmonth) / 12)
:set yyy ($year — $aaa)
:set mmm ($nmonth + 12 * $aaa — 2)
:set sum (7000 + $day + $yyy + ($yyy / 4) — ($yyy / 100) + ($yyy / 400) + ((31 * $mmm) / 12))
:set sum ($sum — (($sum / 7) * 7))
:set result [:pick $daytbl $sum]
:log info «Today is $result.»

##
##################################

##################################
## Get Current Time and NAT Status

:local CurrentTime [/system clock get time];

## Setup log prefix
:local LogPrefix «KidsInternet $CurrentTime»;

## Check current ON or OFF status of Kids NAT#
:local InternetDisabled [/ip firewall nat get [find comment=$NatComment] disabled];
:log info «$LogPrefix Disabled = $InternetDisabled»;

##
##################################

##################################
## Check Time If It Is Workday

:local workday [:toarray «mon,tue,wed,thu,fri»]
:if ($workday ~ $result) do={
:log info «Today is Workday.»;

## Where the ON time is set earlier than the OFF time #
:if (($InternetOnTime < $InternetOffTime) || ($InternetOnTime2 < $InternetOffTime2)) do {
## Internet should be ON between these times #
:if ((($CurrentTime > $InternetOnTime) and ($CurrentTime < $InternetOffTime)) || (($CurrentTime > $InternetOnTime2) and ($CurrentTime < $InternetOffTime2))) do {
if ($InternetDisabled=true) do {
:log warning «$LogPrefix was OFF, now switching ON.»;
/ip firewall nat enable [find comment=$NatComment];
}
} else {
if ($InternetDisabled=false) do {
:log warning «$LogPrefix was ON, now switching OFF.»;
/ip firewall nat disable [find comment=$NatComment];
}
}
}

##################################
## Kids Internet ON If It Is NOT Workday

} else={
:log info «Today is NOT Workday.»
if ($InternetDisabled=true) do {
:log warning «$LogPrefix was OFF, now switching ON.»;
/ip firewall nat enable [find comment=$NatComment];
}
}
##
##################################

:log warning «KidsInternetOnOff Script completed.»;

Добавим скрипт в MikroTik.

  1. Откройте меню System — Scripts.
  2. На вкладке Scripts нажмите «синий плюсик».
  3. В поле Name укажите название скрипта KidsInternetOnOff.
  4. Ниже в поле Source вставьте текст скрипта.
  5. Нажмите кнопку OK.

Добавляем скрипт включения / отключения интернета по времени в роутере MikroTik

Проверим работу скрипта.

  1. Откройте меню IP — Firewall и перейтите на вкладку NAT, чтобы отслеживать активацию/деактивацию правила NAT с комментарием «Internet-For-Kids».
  2. Откройте меню Log, чтобы отслеживать выполнение скрипта.
  3. В меню System — Scripts выберите добавленный скрипт и нажмите кнопку Run Script.
    После этого вы увидите в логах процесс выполнения скрипта и сможете отслеживать активацию/деактивацию правила NAT.

Проверяем включение / отключение интернета по времени в роутере MikroTik

Теперь добавим в планировщик выполнение данного скрипта каждую минуту.

  1. Откройте меню System — Sheduler.
  2. Нажмите «синий плюсик», чтобы добавить задание.
  3. В поле Name укажите название KidsInternetOnOff.
  4. В поле Start Time укажите время 00:00:00
  5. В поле Interval укажите 00:01:00.
  6. В поле On Event укажите команду /system script run KidsInternetOnOff, которая будет запускать скрипт с названием KidsInternetOnOff.
  7. Нажмите кнопку OK.

Добавляем в планировщик выполнение скрипта включения / отключения интернета по расписанию

После этого в меню Log вы увидите, как каждую минуту выполняется скрипт.

Если вы не хотите, чтобы информационные сообщения выводились в лог и забивали его, откройте текст скрипта и поставьте символ решетки # перед командами, которые начинаются на «:log«. Оставьте не закомментированными строки :log warning «$LogPrefix was OFF, now switching ON.»; и :log warning «$LogPrefix was ON, now switching OFF.»; , чтобы отслеживать время включения / отключения интернета.

Вывод в лог работы скрипта включения / отключения интернета по расписанию в роутере MikroTik

Источник

Современный интернет дарит нам множество развлечений, на которые уходит большое количество времени. И если взрослый способен самостоятельно контролировать себя, то с детьми зачастую иная ситуация: ребенок вполне может «забыть» о мире вокруг и надолго погрузиться в пучину всемирной сети. Чтобы этого не допустить, многие родители ограничивают время, которое их любимое чадо тратит на интернет.

С роутерами Mikrotik добиться этого – проще простого. В прошивке RouterOS версии 6.42 разработчиками была добавлена новая функция Kid Control. Подробная информация о том, как правильно настроить работу этой службы – в нашей инструкции.

1. Предварительно загрузите последнюю прошивку на микротик: System – Packages – Check for Updates.

Микротик обновление прошивки

2. Откройте раздел IP – Kid Control.

Микротик - Детский контроль

3. Создайте учетную запись с временными отрезками, во время которых данному пользователю будет разрешен выход в интернет.

Например, у нас есть сын Антон. В будние дни он учится в школе, поэтому мы, как ответственный родитель, обязаны учитывать время его учебы и домашние дела. Учится Антон с 9 утра до 2 часов дня, а после того, как приходит домой – должен сделать уроки и работу по дому. Таким образом, мы решаем ограничить выход в интернет до 6 часов вечера – до того времени, как родители придут домой. К этому времени Антон успевает (надеемся) всё сделать и получает заслуженное разрешение посидеть в интернете – до 9 вечера. Что касается выходных, то мы практически никак не будем ограничивать выход в интернет, оставляя его отключенным лишь на время сна.

Итак, что мы делаем в службе Kid Control: во-первых, создаем профиль (вкладка Kids, нажимаем синий плюсик, чтобы добавить учетную запись)  и называем его (графа Name).

Далее на каждый день можно создать индивидуальное расписание работы интернета. Учтите, если в каком-либо дне не проставить время вообще – интернета в этот день у пользователя не будет!

В будние дни (Пн-Пт) разрешаем работу интернета с 07:00 до 08:00 и с 18:00 до 21:00. В субботу – с 10:00 до 21:00, а в воскресенье – с 10:00 до 19:00. Все это вы можете увидеть в представленном ниже расписании.

Микротик - установка ограничений для ребенка

Также можно ограничить скорость интернета у этой учетной записи (Rate Limit) и время, когда это ограничение будет действовать (Time for Rate Limit).

4. Расписание готово, осталось лишь добавить устройства, которые будут относиться к данной учетной записи. Открываем вкладку Devices и добавляем новой устройство. В открывшемся окне прописываем имя устройства и его MAC адрес, а также назначаем, к какой учетке будет относиться данный девайс (в нашем случае «Антон»).

микротик - добавление устройства в детский контроль

5. С этого момента устройства, добавленные в этот раздел и привязанные к созданной вами учетной записи, будут получать доступ в интернет строго по расписанию.

P.S.

Кстати, приостановить работу интернета в разрешенный промежуток можно без исправления расписания. Достаточно открыть IP – Kid Control, во вкладке Kids выбрать учетную запись и нажать Pause – тогда для всех устройств, относящихся к учетке, доступ в интернет будет заблокирован независимо от расписания. Чтобы восстановить допуск, достаточно нажать Resume.

Микротик - детский контроль - старт стоп

  • Родительский контроль тп линк роутер настройка
  • Розетки для подключения вай фай роутера
  • Родительский контроль на роутере eltex
  • Родительский контроль тп линк роутер не работает
  • Родительский контроль на роутере asus rt n12