Настройки mikrotik

Как заблокировать сайт микротиком

Популярная серия бюджетных маршрутизаторов из Латвии на базе RouterOS предоставляет пользователям широкие возможности по настройке. Сегодня я подробно рассмотрю возможности mikrotik по блокировке сайтов, рекламы, социальных сетей, по созданию списка запретов на доступ. Все эти средства присутствуют в роутерах из коробки и не требуют специальных знаний для настройки, кроме стандартных средств управления.

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Все подробности читайте ниже.

Содержание:

  • 1 Как быстро закрыть доступ к сайту
  • 2 Черный список сайтов для фильтрации
  • 3 Запретить социальные сети в mikrotik
  • 4 Блокировка рекламы средствами mikrotik
  • 5 Заключение
  • 6 Онлайн курсы по Mikrotik

Как быстро закрыть доступ к сайту


Как заблокировать сайт микротиком

Начнем с самого простого. У нас есть роутер Mikrotik, утилита winbox и желание конкретному пользователю установить запрет на посещение определенного сайта. Подключаемся к роутеру и идем в раздел IP -> Firewall, открываем закладку Filter Rules:

mikrotik блокировка сайтов

Нажимаем на + и добавляем новое правило блокировки сайта:

добавление правила запрета

На первой вкладке General заполняем:

  1. Указываем цепочку Forward.
  2. Указываем адрес пользователя, которому будет закрыт доступ к сайту.
  3. Выбираем протокол TCP.

Дальше переходим на вкладку Advanced:

правило для vk.com

В поле Content указываем адрес сайта, который нужно заблокировать, например vk.com. Переходим на вкладку Action:

mikrotik заблокировать сайт

Здесь выполняем следующие действия:

  1. В поле Action выбираем reject.
  2. В пункте Reject With указываем tcp reset.
  3. Нажимаем OK.

На этом основная настройка закончена. В данный момент правило по фильтрации сайта уже работает. Мы с помощью стандартных средств mikrotik смогли заблокировать vk.com. Это нетрудно проверить на клиенте. При попытке открыть адрес сайта популярной соц. сети он получит следующее сообщение в браузере chrome:

не открывается заблокированный сайт

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

Черный список сайтов для фильтрации

Давайте создадим отдельно список сайтов и укажем его в правиле, чтобы не создавать запрет для каждого имени отдельно. Сделать это не сложно. Для этого опять идем в раздел IP -> Firewall, открываем вкладку Layer7 Protocols и нажимаем «+» для добавления списка:

добавление layer7 правила

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

^.+(youtube|rutube|smotri).*$

Список можно расширить, добавляя значения в скобках через знак вертикальной палки, что означает логическое «или».

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

подключение списка layer7

 

Вместо поля Content выбираем название нашего списка для блокировки video в поле Layer7 Protocol.

Если у вас настроен firewall на микротике и в нем присутствуют какие-то правила, то текущее правило блокировки нужно правильно разместить в списке, чтобы оно работало. Например, у меня есть материал на тему настройки firewall. Там есть правила:

Разрешаем установленные подключения

add chain=input action=accept connection-state=established
add chain=forward action=accept connection-state=established

Текущее правило блокировки списка сайта на основе Layer7 Protocol должно стоять выше этого правила, иначе оно не будет работать. Я не до конца понял, почему, но я провел достаточно много тестов, чтобы убедиться, что его реально надо ставить выше. Ну и, разумеется, оно должно стоять выше правила, разрешающего соединения forward из локальной сети.

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

Вот как у меня выглядит список моих правил на фаерволе с учетом добавленного правила блокировки:

Список правил фаервола в микротике

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

Вы можете включить логирование заблокированных соединений с сайтами из списка на вкладке Action самого правила:

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

Mikrotik будет генерировать подобные логи:

текст логов запрета в mikrotik

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

Запретить социальные сети в mikrotik

Как заблокировать сайт микротиком

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

закрытие социальных сетей

Текст регулярки:

^.+(vk.com|vkontakte|odnoklassniki|odnoklasniki|facebook|ok.ru).*$

Дальше создаем правило, как мы это делали выше и выбираем список, который только что добавили:

regexp правило для социальных сетей

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

Блокировка рекламы средствами mikrotik

С помощью изученного средства по ограничению доступа к сайтам достаточно просто блокировать рекламу. Для примера рассмотрим вариант по блокировке рекламы в Skype. Так как я знаю адреса серверов, куда скайп лезет за рекламой, я могу его заблокировать в mikrotik. У меня есть список:

rad.msn.com

apps.skype.com
vortex-win.data.microsoft.com
settings-win.data.microsoft.com

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

Дальше как обычно создаем regexp выражение для списка адресов:

^.+(rad.msn.com|apps.skype.com|vortex-win.data.microsoft.com|settings-win.data.microsoft.com).*$

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

Заключение

Как заблокировать сайт микротиком

Материала в интернете по Микротику много. Я сам пока разбирался в данном вопросе перечитал кучу статей. И все они какие-то недоделанные. Либо вопрос слабо раскрыт, либо что-то вообще не работает. Не знаю, в чем причина такой ситуации. Возможно что-то меняется в настройках и информация становится неактуальной. Сходу у меня не заработала фильтрация на основе Layer7 Protocols, пришлось повозиться, покопаться в regexp, в правилах, в их расположениях. Надеюсь мой материал немного исправит данную ситуацию.

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

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курсы по ИТ. Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области.


СМОТРИ ТАКЖЕ