Возникла необходимость заблокировать Youtube в сети, где шлюзом выступает роутер MikroTik BR750Gr3. Первоначальные настройки роутера выполнены по этой  инструкции.

Информация по блокировке взята отсюда.

В сокращенном виде терминальных команд это выглядит так:

/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 connectionmark=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

(Нажимаем в роутере New Terminal и вводим построчно команды)

Принцип действия таков: мы маркируем соединения и пакеты, относящиеся к ютубу, затем правилами фаервола их блокируем.

Для тех, кто всё понял, дальше может не читать.

В микротик рекомендуют такой способ вместо одиночного правила блокировки т.к. он снижает нагрузку на оборудование.

Помимо настроек через команды, написанные выше, настройки можно выполнить через графический интерфейс. Рассмотрим этот способ подробнее.

Подключаемся к роутеру через WinBox.

Переходим по пути меню: IP>>Firewall>>Layer7 Protocols

Нажимаем синий плюсик и создаем новое правило.

В поле Name пишем имя youtube.

В поле Regexp: вводим значение для идентификации ютуба   ^.+(youtube).*$

* если необходимо заблокировать социальные сети или другие ресурсы, то необходимо создать правила с другими идентификаторами (доменными именами)

Создадим два правила для маркировки соединений и пакетов.

Переходим на вкладку Mangle. Нажимаем синий плюсик.

В открывшемся окне на вкладке General вводим значения, как на скриншоте ниже:

Chain: prerouting.

Src.Address: 192.168.x.x (адрес ПК, у которого нужно заблокировать доступ на ютуб, src – исходящий адрес, dst – адрес назначеня).

Protocol: udp.

Dst.port: 53.

Connection Mark: no-mark

Нажимаем кнопку «Apply».

Переходим на вкладку Advanced.

Layer7 Protocol: youtube

Переходим на вкладку Action, выполняем настройки.

Action: mark connection

New Connection Mark: youtube_conn

Passthrough – активируем галочкой.

Нажимаем Apply или OK.

Этим правилом мы будем маркировать все соединения с ютуб именем youtube_conn.

Создаем еще одно правило на вкладке Mangle нажав синий плюсик.

В открывшемся окне, на вкладке General вводим значения, как на скриншоте ниже:

Chain: prerouting.

Src.Address: 192.168.x.x (адрес ПК, у которого нужно заблокировать доступ на ютуб).

Connection Mark: youtube_conn.

Нажимаем кнопку «Apply».

Переходим на вкладку Action, выполняем настройки.

Action: mark packet

New Connection Mark: youtube_packet

Passthrough – активируем галочкой.

Нажимаем Apply или OK.

Этим правилом мы будем маркировать все пакеты ютуба.

Получилось два правила.

Переходим на вкладку Filter Rules. Создаем правило, нажав плюс.

Выполняем настройки. На вкладке General:

Chain: forward.

Packet Mark: youtube_packet.

Переходим на вкладку Action.

Action: drop

Можно добавить комментарий к правилу.

Нажимаем Apply или ОК. Правило готово.

Создадим еще одно правило в этом же разделе (Filter Rules).

На вкладке General отмечаем:

Chain: input

Packet Mark: youtube_packet

Переходим на вкладку Action.

Action: drop

Добавляем комментарий.

Нажимаем Apply, чтоб сохранить правило.

В итоге получились два правила.

После этих действий YouTube на компьютере перестал работать.

Блокировка ресурса для нескольких пользователей.

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

Переходим по пути: IP>>Firewall>>Address Lists

Нажимаем синий плюсик.

В открывшемся окне New Firewall Address List пишем название группы и диапазон необходимых IP-адресов. Нажимаем ОК.

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

Переходим на вкладку Mangle, выбираем по очереди два наших созданных ранее правила по маркировке соединений и пакетов. В разделе General из строчки Src.Address убираем IP адрес, а на вкладке Advanced добавляем в строчке Src.Address List созданную группу. ОК.

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

Иногда может потребоваться некоторое время, чтоб правило начало действовать.

Если есть какие-то другие запрещающие правила в списке фаервола, то данные правила лучше разместить выше них (или по обстоятельствам, в соответствии с тем, что и  как блокируется).

Разрешение доступа на YouTube определенным пользователям и запрет всем остальным.

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

Если нужны какие-то определенные IP-адреса, помимо перечисленного диапазона, то создаем еще один объект в разделе Address Lists, называем его точно так же и добавляем в него нужный IP.

С помощью консольной команды это можно сделать так:

/ip firewall address-list add list=GR3 address=192.168.0.60

Таким способом добавляем все нужные адреса.

Создаем группу GR5, в которую добавляем все IP-адреса сети.

В двух правилах на вкладке Mangle в разделе Advanced указываем созданную группу со всеми IP адресами. OK.

В двух правилах на вкладке Firewall в разделе General указываем диапазон всех IP-адресов сети в поле Src.Address.

Переходим на вкладку Advanced и в поле Src.Address выбираем группу пользователей, которым доступ разрешен. Важный момент – отмечаем значок «!» в квадратике слева от выбранной группы. Он означает инверсию действия, т.е. вместо запрещения разрешение. Нажимаем ОК.

Смысл всех этих действий таков: Соединения и пакеты Ютуба будут маркироваться для всех пользователей сети. Фильтр фаервола будет обрывать (drop) маркированные соединения и пакеты всем пользователям, за исключением пользователей группы GR3, для которых действие наоборот, т.е. разрешающее.

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