Подготовленный ранее цикл статей, посвященный организации безопасности сетей, построенных на оборудовании 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.
Комментарии (98)
skymal4ik
25.10.2021 12:57Столкнулся с тем, что на айфонах по умолчанию стоит галка динамически менять mac-адрес при подключении к вайфай, потому все эти привязки Mac-IP-пользователь в kid-control нормально не работали.
В итоге просто сделал отдельную вай-фай с сеть (с отдельным security profile), которая включалась и выключалась шедулером на несколько часов в день.
А вот как сделать квоту на несколько часов, чтобы пользователь мог сам выбирать когда потратить своё время без сложных решений, типа RADIUS, так и не придумал :(
olegtsss Автор
25.10.2021 13:51MAC рандомится в сетях wi-fi без пароля.
dartraiden
25.10.2021 14:19+1На Android рандомится в любых сетях, если пользователь явно не указал использовать статический MAC в свойствах сети.
Stam_emg
25.10.2021 19:38С Android 10 (Q) и выше - рандомизация стоит по умолчанию для любого типа WiFi.
выдержка из документации
For devices running Android 10 or higher, the framework uses randomized MAC address by default.
Users can enable or disable MAC randomization for individual networks through an option in the Network details screen in Settings, as shown in Figure 1.
If a user disables MAC randomization for a network, the framework uses the factory MAC address (globally unique address).
https://source.android.com/devices/tech/connect/wifi-mac-randomization-behavior
olegtsss Автор
25.10.2021 19:52+2Решение для этой (IOS + Android) ситуации прогнозируется. Подготовлю материал позднее.
olegtsss Автор
25.10.2021 17:56+1Подробно про рандомизацию MAC на IOS (https://support.apple.com):
Starting with iOS 14, iPadOS 14, and watchOS 7, your device improves privacy by using a different MAC address for each Wi-Fi network. This unique MAC address is your device's private Wi-Fi address, which it uses for that network only.
In some cases, your device will change its private Wi-Fi address:
If you erase all content and settings or reset network settings on the device, your device uses a different private address the next time it connects to that network.
Starting with iOS 15, iPadOS 15, and watchOS 8, if your device hasn’t joined the network in 6 weeks, it uses a different private address the next time it connects to that network. And if you make your device forget the network, it will also forget the private address it used with that network, unless it has been less than 2 weeks since the last time it was made to forget that network.
Во второй части статьи поговорим о других возможностях работы, которые применимы для данной ситуации с непринципиальными изменениями.
KMVp
26.10.2021 12:58Присоединюсь. Очень хочется ограничить именно квотой в день. Расписания явно не достаточно.
Kelsink
26.10.2021 21:08А просто управлять экранным временем не вариант? У меня у дочери айпад. На нем можно задавать квоты на приложения, вплоть до доменов в браузере. Подозреваю андроид это тоже умеет. Активно пользуюсь. Единственная проблема - музыка и аудиосказки. Ребенок понял, что можно выключить экран и время идти не будет.
olegtsss Автор
27.10.2021 03:41Конечно, вариант, можно перенести контроль на оконечные устройства. Но это выходит за границы статьи. Правда с тем же TV уже так не совладаешь.
KMVp
27.10.2021 09:17Вариант. И он используется. Но это только телефон. А что делать со старым андроид-планшетом и стационарным компьютером? Некоторое время помогал платный KasperskyKids (или как он там), но ребенок научился его обманывать.
olegtsss Автор
27.10.2021 09:44А как он его обманывал, вы не знаете ?
KMVp
27.10.2021 10:37Не раскололся. :) Но главное ему было не лочить учетку, иначе уже не мог войти.
Но после этого я перестал продлевать подписку.
gwynbleidd84
29.10.2021 03:41+1Kaspersky Kids как и пяток других подобных программ банально не работают, т. к. считают время активной сессии пользователя. достаточно сделать logout/login и сидеть дальше. проверено на личном опыте.
решилось путём написания PowerShell скрипта и 2-х задач в планировщике.
при входе в систему пользователя "child" - "триггерится" задача в планировщике, она же запускает скрипит. начинается отсчёт скажем в 2 часа. за 1 минуту до истечения срока пользователь получаем pop-up от системы об окончании сессии. далее происходит принудительный "logoff" этой учётной записи с последующим отключением. что называется - на сегодня хватит. на следующий день 2-я запланированная задача "триггерится" по таймеру, скажем вечером в 7 часов и включает учётную запись обратно.
ну и защита от livecd в лице bitlocker, хоть это и перебор на мой взгляд
MixaSg
30.11.2021 07:00Я детям ставил, если память не подводит, то обходили через режим SOS, потом открытие файла, таким образом добирались до проводника и запускали приклад из него.
Shaz
25.10.2021 13:11+12Итого родителям надо:
Купить микротик.
Научится в микротик.
Арендовать виртуалку.
Научится в Линукс и веб.
И в итоге дети будут прекрасно смотреть порно через мобильный инет?
janeproud
25.10.2021 17:57+2А что мешает ограничить трафик на мобильном интернете, чтобы хватало условно на мессенджеры только. Интернет для ребёнка нужен для учебы- учеба на компьютере эффективно проходит, а не на мизирном экране телефона. Было бы желание и тогда идеи появятся
Newbilius
26.10.2021 11:59Много ли того траффика детям на тексты соответствующего направления надо? Вот уж воистину, было бы желание...)
Dzzzen
25.10.2021 18:05Очень интересует, как на айфоне ограничить доступ к порно-сайтам через мобильный интернет? Есть какие-то программы?
janeproud
25.10.2021 20:08+1Например у МТС есть услуга под названием «Контроль интернета. Родитель»
Вы можете ограничивать доступ к ряду сайтов через приложение, можете установить расписание пользования интернетом и та и тд. У МТС стоимость 3₽/сутки.
Скорее всего у Билайн есть что то подобное.
Dzzzen
14.11.2021 17:57У Билайна такая услуга есть только для android-а. Потому что реализуется через приложение Eset.
savostin
25.10.2021 21:30+1Можно поставить 1.1.1.1 от Cloudflare и включить "семейный DNS с блокировкой порно".
Или платный DNS Override - в нем можно выбрать/указать ns.
Вот как запретить его отключать - вопрос.
dipierro
26.10.2021 09:27+2На айфоне есть встроенная функция «ограничения», переименованная в «экранное время». Там можно и сайты ограничить, и время использования девайса, как и отдельных приложений.
GryZin
25.10.2021 18:10Может наконец у меня получиться заблочить rutube, 1tv и прочие прелестные сайты:) Спасибо!
rionnagel
25.10.2021 19:17+1Да, так можно в пределах дома. Это +/- нормально. Подобным образом делал whitelist. Но проблема в том, что за пределами. Мобильный интернет, бесплатные wifi точки, точки без пароля, шаринг интернета у друга и т.д.
Вроде бы у google/ms/apple были свои child control/parent control на учётки и устройства. У гугла вроде вообще можно было делать так, чтобы подавали реквест на добавления сайта в разрешенные и много чего другого, у остальных хз.Хотя смотря на подобные цели именно по домашней сети невольно проскальзывает мысль "Как бы сюда хорошо подошел какой-нибудь check point 1590 (не реклама) со своим фильтром контента, контролем сигнатур приложений и потоковым антивирусом", а потом вспоминаешь цену и лицензии.
savostin
25.10.2021 21:32+2/ip dns static add address=127.0.0.1 regexp=\\*example\.com$
Вот только при большом размере этого списка MikroTik начинает жутко тормозить.
userint
25.10.2021 22:30Действительно. В чем смысл покупать выделенную VPS, если можно настроить DHCP сервер на выдачу разных адресов DNS серверов? Детям - локальный DNS MikroTik со статическими адресами-заглушками, всем остальным - какой-нибудь публичный или провайдерский.
olegtsss Автор
25.10.2021 22:58У вас «в руках» швейцарский нож, с которым можно подобрать наиболее оптимальное решение под конкретные условия.
olegtsss Автор
25.10.2021 23:01Регулярные выражения всегда затратная штука. Если сеть крупная и роутер слабый, есть смысл выноситься на отдельный сервер.
hackteck
25.10.2021 22:31Как по мне, то родители должны сами рассказать, что будешь сидеть много в интернете - потеряешь зрение, а не играться в блокировку :)
P.S. Справедливости ради отмечу, что это тоже иногда не срабатывает и тогда в ход идёт белый список на роутере :)sim31r
25.10.2021 23:25это тоже иногда не срабатывает
Никогда не срабатывает. На примере трех детей, старшая уже живет отдельно и зрение попортила зависанием в телефоне. Средний с 4 лет просто маниакальное стремление к играм проявлял, в 13 лет сидит по 12 часов в день легко, ничего кроме игр, достаточно примитивных его не интересует, любое другое занятие через 5 минут наводит тоску на ребенка, квадракоптер, пейнтбол, ремонт машины. Младшая 4 года, экстраверт и особого интереса к играм, мультикам и однообразным занятиям не проявляет, нужно общение, игры с человеком в шахматы, догонялки. Поиграть в телефоне может, но через 5-10 минут интерес пропадает.
Думаю в будущем компьютерные игры приравняют к наркотикам и следующее поколение будет удивляться, как можно было безлимитно играть без ограничений. Как мы удивляемся мемам с фотографиями начала века, где героин продавали как средство от кашля. Всё хорошо в меру, а мера не всегда самостоятельно устанавливается, вижу что обратные связи не у всех работают, даже наоборот, чем дольше сидишь в играх, тем больше хочется и сложнее в реальном мире.
hackteck
26.10.2021 14:05У меня была подобная картина; сын залипал в телефон и в одно время начал немного прищуриваться после игр. Просьбы, игрушки, прочее - результата не давало от слова совсем. Пришлось применить грубую силу - всё поставили под пароль, естессна была обратная реакция, но старались с женой как-то заинтересовывать, гулять, общаться, немного шантажа (увы, пришлось), потом в деревню на пару месяцев уехали, где даже моб.связь с трудом ловит. Сейчас слава Богу всё хорошо, дома на мобилке игр нет никаких, играет на телефоне, когда тётя/мама/etc приходят в гости. Единственное, когда я не работаею, играет исключительно на ПК (могу порекоммендовать Discovery Tour by Assassin's Creed, Мышкина энциклопедия, сейчас проходим It Takes Two) Мультики как я написал выше блокируются белым списком (моим 6,5 и 2,5; пока ещё верят, что это компьютер перегрелся и вообще интернет дядька отключил/не заплатили:)
Попробуйте поговорить с чадом (объяснить вред и последствия залипания в экран), провести побольше времени (нарисовать картину, сыграть в настолку, да сходить за продуктами в конце-концов) 13 лет это уже много, плюс-минус можно достучаться. Главное не опускать руки :) Ещё мысль пришла: создайте такие условия, чтобы телефоном пользоваться было невозмоно от слова совсем (приложение, в котором через вебсокет слушается команды на что-то нехорошее: ребут, бесконечный цикл... На андроиде это не должно быть сложно, с айос не знаком)
Было бы круто, если в будущем будут игры по талонам, но это очень вряд-ли, будущее кмк за VR/AR. Поживём - увидим :)sim31r
26.10.2021 22:58создайте такие условия, чтобы телефоном пользоваться было невозмоно от слова совсем
Тогда я стану злодеем и врагом №1, вместо дружеского общения и ребенку стресс. Тут похоже склад характера такой, склонность к игровой зависимости, простыми способами не получилось победить. У других детей такой проблемы нет вообще. Старшая еще есть, зависала в социальных сетях как все подростки, с 17 лет нормально зарабатывает и живет отдельно, много работает, проблем с телефоном и играм нет ни в каком виде. У младшей в 4 года тоже вижу что нет признаков как у сына в этом же возрасте. Телефону и компьютеру предпочтет живые игры в карты, монополию, шахматы. Я сам как интроверт предпочел бы за компьютером посидеть и желание позадротствовать в игры мне понятно (или покодить, посерфить в интернете, у сына такого нет к сожалению).
Если была бы только дочка младшая, я бы тоже мог свысока смотреть на проблемы родителей у которых дети с игровой зависимостью, типа уделите внимание ребенку и проблема исчезнет сама собой. А тут нет, вижу изначально разные склады характера, стремления и особенности поведения. Яркий пример экстраверта и глубокий интроверт. Экстраверту достаточно 5 минут побыть наедине с собой, а интроверту достаточно 5 минут общения в день и что свыше уже тяготит видно.
Было бы круто, если в будущем будут игры по талонам, но это очень вряд-ли, будущее кмк за VR/AR. Поживём - увидим :)
Так VR может быть сугубо рабочей, или еще более рабочей, без развлекательного контекста уже не так интересно. А залипание происходит на пестрые игрушки где минимальными усилиями максимум изменений достигается, дофаминовая наркомания, пробой в системе деятельности и мотивации. Зачем грызть гранит науки и/или работать, если дофамина много можно получить простым способом, обманув несложные защитные механизмы мозга.
Китай кстати борется давно с проблемой, статья 2015 года
Vrag
25.10.2021 23:02Зачем нагружать микрот непредназначенными для него задачами? proof of concept?
У вас ведь есть VDS на linux?
olegtsss Автор
25.10.2021 23:04При домашнем использовании присутствует соблазн иметь весь функционал внутри одного устройства.
Vrag
26.10.2021 11:15Простите. Редко пишу: то ли движок не даёт править, то ли я идиот. Короче говоря не дописал я вчера, а исправить не смог.
Я так понял дома нет желания держать сервер? Кстати, им может быть что-то NUCподобное, например на intel N4ххх уже встанет гипервизор - а такую коробку буквально не видно, не слышно, в счёте за электричество не заметно, и на юлито при определенном везении можно купить за 5-7К (примерно стоимость средне-начального микротика). Тогда на VPS ставьте Pi-Hole. И поднимайте до сервера site-to-site с микрота, чтобы Pi-hole мог различать клиентов (между ним и клиентами не было NAT). Настраивайте листы, группы, разбивайте клиентов по группам. Наслаждайтесь.
Есть конечно, в этом одна неприятная побочка: если вы подтяните те листы, ради которых обычно ставят Pi-hole, вы больше не сможете лицезреть прекрасную рекламу, лезущую из всех щелей. Но можно использовать только свои листы, для ограждения детей от интернета, и тогда всё будет норм. =)
И сразу по поводу возможных коментов про младшие микроты и VPN: даже если вы всей семьёй будете раз в 2-3 секунды открывать новую страницу, на загрузку камня из-за DNS трафика, обёрнутого в VPN, можно не рассчитывать.
olegtsss Автор
26.10.2021 11:21Я с вами согласен. Что-то можно реализовать сразу на роутере, что-то вынести на локальную или удаленную периферию. Вместо Intel можно глянуть на дешёвые малины. Гипервизора на них «не видать», но делать дело будут.
Karbofos42
26.10.2021 11:11А зачем люди сидят, хотя для этого не предназначены? Может быть потому, что это удобно?
Для чего же микрот предназначен? Как всякие D-link настроить на параметры от провайдера и сидеть как есть и не дай бог ничего не настраивать и не выжимать максимум из доступного функционала?
net_racoon
26.10.2021 10:44-1Зачем это все? Выдавайте ему DNS от Яндекса и все? Ну или возьмите РК от провайдера, щас только ленивый такое не предлагает. Как вам сказали выше, при большом списке сайтов - ваш микротик начнет загибаться.
olegtsss Автор
26.10.2021 11:15На рынке существует много различных готовых решений. Реализованных как в железе, так и софте. Локально и удаленно. Статья показывает решение прикладной задачи на средствах RouterOS.
KMVp
26.10.2021 13:10Вместо настройки своего днс можно поставить проект https://pi-hole.net/ например в докере на той же малинке. Неплохо блокирует всякую гадость "из коробки". В паре с кидс контролом у меня работает вполне устойчиво. По статистике в среднем 12.5% днс запросов из домашней сети оказывается заблокировано :)
olegtsss Автор
26.10.2021 15:19У нас с MikroTik-ом получится лучше), правда не из коробки )). А так pi-hole прикольный проект.
tpedko
28.10.2021 14:17на 7 версии ROS появилась возможность запускать docker, а там и pi-hole и AdGuard Home можно поднять.
DaemonGloom
26.10.2021 13:17Кстати, в седьмой версии RouterOS можно поднять контейнер через docker прямо на самом роутере. И никакой дополнительный сервер будет не нужен.
https://help.mikrotik.com/docs/display/ROS/Containernet_racoon
26.10.2021 17:27Ага, т.е. роутер будет и трафик рулить и ДНС- запросы фильтровать и страничку показывать? Он у вас загнется от такой нагрузки, ресурсы то не бесконечные.
olegtsss Автор
26.10.2021 17:50/system resource print interval=00:00:00.2
-> cpu-load: 9%
Следите за нагрузкой ЦП, если идете в 30% и выше, ищите что так перегружает его. Обязательно к использованию:
/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
13werwolf13
26.10.2021 13:21полезное, добавлю в закладки
а от себя хочу поделиться своим решением по "безопасному DNS" (больше для жены ибо дитятко пока маловато в интернеты тыкаться) построенным на базе https://github.com/StevenBlack/hosts и openwrt: https://itrus.su/itrus.su--linux_t&t--OpenWRT--StevenBlack_hosts.html
Admaer
26.10.2021 15:33Минут десять пытался въехать, почему вначале предлагают просто редиректить DNS запросы на DNS сервер, запущенный на микротике, а потом предлагают их уже NAT'ить. Завтра ещё раз попробую.
olegtsss Автор
26.10.2021 15:40"… предварительно отключив описанное выше правило /ip firewall nat add action=redirect…" — статья раскрывает различные возможности RouterOS, подходите к представленным материалам с головой, это все-таки не manual в чистом виде.
Admaer
26.10.2021 15:50Нет, я вижу, что правило редиректа отключается. Я понял всё описанное так.
В первом варианте на роутере запускается служба DNS и на всех клиентах в настройках сети стоит полученный по DHCP DNS 10.0.0.1 - адрес роутера. Чтобы дети не настроили свой DNS настроен перехват DNS запросов и заворот их на DNS службу роутера.
Во втором случае клиента по DHCP получают нормальные DNS сервер, без родительского контроля (Кстати, было бы здорово, если бы в примере IP отличались не одной цифрой. Я на самом деле очень сонный сейчас и заметил разницу только скопировав адреса в блокнот), а DNS запросы с устройств из списка "Children" опять перехватываются и уже не просто перенаправляются, но ещё и натяться в адрес 10.0.0.1 и вот тут я слишком сонный, чтобы это понять. Просто чтобы показать, что можно и так и так?
olegtsss Автор
26.10.2021 16:49Давайте я прокомментирую второй случай. Взрослым при помощи помощи DHCP-сервера раздаём обычные внешние DNS сервера. Детским IP адресам раздаём в качестве DNS сервера себя самого (ip роутера, на котором работает DNS служба (сервер) с кучей статики и родительским DNS).
firs058
27.10.2021 08:49Эм, зачем городить весь этот огород? Просто ставится куда-нибудь пихуль (Pi-hole) и два бриджа со своими dhcp и dns - для своих устройств и для детей. И то, если это так уж надо. Все. Но тогда будет не о чем статьи писать, верно?
А что ограничивать - дело такое. Сам себе заблокировал 840 тысяч доменов. Реклама, трекинг, казино, всякие подозрительные ресурсы и мой личный список хейта - мейлрушечки, векашечки и вот это вот все. А ограничивать порно... зачем? Изверги что ли?olegtsss Автор
27.10.2021 09:41Pi-hole - это подделка (сделай сам) на одноплатнике. А MikroTik - это маршрутизатор корпоративного уровня. Статья написана для тех, кто его установил дома, а компетенции настроить под собственные задачи не хватает .
firs058
27.10.2021 10:14-1Какое еще сделай сам? Дистрибутив Pi-hole ставится одной командой на обычный Debian. А обычный Debian без разницы на чем работает. У меня на одной из виртуалок. Сами себе придумали проблему и сами героически ее решили.
Человек без компетенции не купит себе микрот. А даже если и купит, то прописать свой локальный dns проще, чем городить все, что в статье.
Впрочем, каждый развлекается как хочет.
olegtsss Автор
27.10.2021 11:45Raspberry Pi, Black hole, Pi hole - интересная игра слов. Можно установить целый сервер с Linux, который заменит роутер. Все все там настроить. Но для этой задачи существуют отдельные устройства. Тема статьи - организация родительского контроля на оборудовании MikroTik, написана для пула пользователей оборудованием данного производителя, которым интересно, как это можно сделать на RouterOS.
firs058
27.10.2021 12:14Да, а давайте на микротике заодно еще и сайт поднимем. Ну а что, можно же. У железки ограниченные ресурсы. Вам выше уже писали, что микрот загнется от больших списков.
Не делайте троллейбус из буханки просто потому, что можете. И Вы сами же в статье пишите в итоге про отдельный VDS. А значит, все-равно все сводится к отдельной тачке для dns.
Ну и кто тут со словами играет?olegtsss Автор
27.10.2021 14:22Давайте ещё раз проговорим основные тезисы. Задача: организация родительского контроля. Входные данные: оборудование MikroTik. Применяем: DNS, Firewall Filter, Firewall Mangle, Kid Controle. Если надо масштабироваться - делаем. Как проверить нагрузку на маршрутизатор, в комментах я писал. Если все сделано адекватно - получим отлично работающее качественное решение.
KPEBETKA
27.10.2021 16:42К сожалению, функционал родительского контроля в микротике очень неочень, а предлагаемое вами решение несколько переусложнено и не покрывает кейс когда у чилдренов есть ещё тачки с ethernet-линком
Я в своё время перебрал достаточно много вариантов и, в итоге, пришёл к тому, что был сделан бридж со своим пулом серых ip специально для детей, этот бридж обслуживает и отдельный "детский" wlan и ethernet-розетки в детской. Все dns-запросы с этого пула ip редиректятся в "днс для детей", в частности 77.88.8.7 (не реклама, тут может быть любой другой dns), а вместо того чтобы гасить wlan и/или ethernet, просто по времени реджектится любой исходящий траффик правилами фильтрацииolegtsss Автор
27.10.2021 17:37Еще раз анонсирую вторую часть статьи, в которой мы поговорим про возможности Firewall Mangle в контексте решаемой задачи. Я бы сказал, что это наиболее классная штука в RouterOS, которую многие обходят стороной. Какой функционал родительского контроля вы бы хотели видеть в оборудовании MikroTik?
KPEBETKA
28.10.2021 16:13Мои вкусы очень специфичны, а потому хотелось бы видеть:
– Возможность определять устройства не по MAC, а по IP (с маской и без) и по имени учётной записи из радиуса, например
– Возможность гибко настраивать каждый день, т.е., условно, "интернет есть в понедельник с 16 до 17 и с 20 до 21, а в воскресенье есть с 9 до 16 и с 19 до 21" и т.д. и т.п. Для примера, у меня настроено вот так:olegtsss Автор
28.10.2021 17:42Современные IOS и Android телефоны рандомят MAC по различным правилам. Сходу решением данной проблемы будет работающий Radius, c этим я согласен полностью.
Hisoka
29.10.2021 07:23+1По поводу настройки bind - правильно делать RPZ:
https://blog.bissquit.com/unix/nastrojka-response-policy-zone-rpz-v-bind9/
Или вот, даже:
Alekxandr
29.10.2021 18:32/ip dns static add address=127.0.0.1 regexp=\\\\*example\.com$
Выдаёт ошибку.
syntax error (line 1 column 45)
olegtsss Автор
29.10.2021 18:33Вы забыли кавычки.
/ip dns static add address=127.0.0.1 regexp="\\\\*example\.com$"grims
31.10.2021 16:21С кавычками синтаксис на * ругается.
olegtsss Автор
31.10.2021 17:43/ip dns static add address=127.0.0.1 regexp="\\\\*example\\.com$"
Разница -> \\.Alekxandr
01.11.2021 15:10/ip dns static add address=127.0.0.1 regexp="\\\\*example\\.com$"
Ответ - failure: name or regexp required
Дописал имя
/ip dns static add name=example address=127.0.0.1 regexp="\\\\*example\\.com$"
Запись появляется, но в поле regexp ничего не прописывается.
cepera_ang
Микротик сейфы дети? Что этот заголовок вообще значит?
/s
olegtsss Автор
Сейчас исправлю), опечатка в фотошопе.