MikroTik - блокировка нежелательных сайтов (на примере youtube и facebook)

May 10, 2021 04:38







На написание данной статьи меня сподвиг тот факт, что старший ребенок  стал по ночам вместо того чтобы укладываться спать, смотреть на своем  смартфоне всякие ролики на youtube, до поздней ночи, а так же замена  домашнего роутера с TP-Link TL-WR1043ND на MikroTik RB951G-2HnD.

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

Начнем с часто предлагаемого варианта в интернете (так не надо делать!!!):

● /ip firewall layer7-protocol add name=youtube regexp="^.+(youtube).*$" add name=facebook regexp="^.+(facebook).*$"  ● /ip firewall filter add action=drop chain=forward layer7-protocol=facebook add action=drop chain=forward layer7-protocol=youtube
У данного решения следующие минусы: высокая нагрузка на cpu, увеличенная  latency, потеря пакетов, youtube и facebook не блокируются.

Почему так происходит? Каждое соединение проверяется снова и снова,  Layer7 проверяется не в том месте, что приводит к проверке всего  трафика.

Правильное решение

Создаем правило с регулярным выражением для Layer7:

● /ip firewall layer7-protocol add name=youtube regexp="^.+(youtube).*$"



Я блочил только ютуб, если нужен фейсбук или что-то иное, создает отдельные правила

add name=facebook regexp="^.+(facebook).*$"
Можно создавать правила и для других сервисов стримминга видео, вот один из вариантов:

regexp=”^.*youtube.com|youtu.be|netflix.com|vimeo.com|screen.yahoo.com|dailyMotion.com|hulu.com|twitch.tv|liveleak.com|vine.co|break.com|tv.com|metacafe.com|viewster.com).*$”
Далее создаем правила для маркировки соединений и пакетов:

● /ip firewall mangle add action=mark-connection chain=prerouting protocol=udp  dst-port=53 connection-mark=no-mark layer7-protocol=youtube new-connection-mark=youtube_conn passthrough=yes  add action=mark-packet chain=prerouting connection-mark=youtube_conn new-packet-mark=youtube_packet





и правила для фильтра файрвола:

● /ip firewall filter add action=drop chain=forward packet-mark=youtube_packet add action=drop chain=input packet-mark=youtube_packet





У меня в домашней сети по dhcp раздаются статические ip-адреса, поэтому  фильтр я применял к ip-адресу смартфона ребенка, можно создать группу  адресов и применить к ней. Идем в меню IP>Firewall>AddressList нажимаем кнопку Add, вводим название группы и не забываем заполнить список адресов для блокировки.

Далее идем меню IP>Firewall>Mangle выбираем наши mark_connection и mark_packet и в поле Src. Address вбиваем блокируемый ip либо группу.



Все, девайс остался без ютуба, жестко, но в воспитательных целях нужно.
#MikroTik #Lauer7 #HowTo

#mikrotik, #lauer7, #howto

Previous post Next post
Up