< meta name="referrer" content="origin">
Home » Mikrotik » Как заблокировать сайт микротиком

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

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

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

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

Начнем с самого простого. У нас есть роутер 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. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курсы по ИТ. Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области.


Помогла статья? Есть возможность отблагодарить автора

Рекомендую полезные материалы по схожей тематике:

44 комментария

  1. Здравствуйте!
    Можно блокированный соц сеть перенаправить локальный страничку который говорят что сайт закрыть из за …..
    Спасибо!

    • Добрый день. Думаю можно, надо подумать, как это сделать.

    • Добрый день. Можно. Есть 2 способа:
      1. Перенаправление через фаерволл (firewall>nat)
      2. Есть используется прозрачный прокси (webporxy>access>+ «path»- сайт,»redirect to» — куда отправлять пользователя)

  2. Надежда

    Спасибо за статью, работает всё, но! У меня большое количество пользователей, как им всем закрыть доступ в соц. сети? правило работает только на одном ИП адресе.

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

  3. Надежда

    Еще вопрос. Как сделать редирект с сайта, например ok.ru, на сайт предприятия? Спасибо.

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

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

  5. Все настроил, отлично работает, для определенного IP адреса всё блокируется, Спасибо.
    Но возник вопрос, а можно ли блокировать, не весь ресурс, в моём случае это youtube, а определенные каналы на нём.

    • Можно все, что угодно. Пример есть, на его основе выделяйте любые блоки адреса и блокируйте по ним сайты, либо их части.

  6. Я тоже заблокировал соцсети и еще некоторые сайты для определенных пользователей, через адрес лист и фаервол, а также в лайер7 — работает!
    Но!
    Пользователи в гугл хроме ставят расширение браузсек или заходят с эпик браузера и все у них работает.
    Как с таким бороться?
    Подскажите!

    • Посмотреть, как работает это расширение или эпик браузер. Скорее всего они проксируют запросы. Надо забанить адреса, через которые они гоняют трафик.

  7. Сергей

    Сделал по образу и подобию с протоколом 7-го уровня для собственного компьютера.
    —-
    Forward
    172.20.0.200
    6(tcp)
    ss-Lock (^.+(vk.com|vkontakte|odnoklassniki|odnoklasniki|facebook|ok.ru).*$)
    reject
    tcp reset
    —-
    Но на любой ресурс захожу более, чем спокойно. Что я сделал не так?

    • Не знаю. В статье рабочий пример, если что-то не работает, надо искать ошибку.

      • Сергей

        Дома тоже микротик, проверил, поискал.
        Обратил внимание на то, что трафик уходит в https и… Милости прошу! Все открывается!

  8. Добрый вечер,

    Спасибо за статью, все правила реально работают.
    Вопрос, хотелось бы блокировать не сайты а видео расшерения, например mp4 swf flv ogg flv webm, какое решение для этого есть?

    тестил пару правил, но ничего не работает, например: ^.*(get|GET).+\\.mp4.*\$

  9. Помощь в написании регулярных выражений это не ко мне. Я сам постоянно спотыкаюсь на этих правилах.

  10. Алексей

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

    • Подменный сертификат нужен, если хочется смотреть по каким страничкам пользователь ходил на самом сайте. Если стоит цель просто заблокировать сайт, то подменный сертификат не нужен. Микротик блокирует https. Сайты из примера работают по https, тем не менее их получилось заблокировать.

  11. Я думаю будет актуально для списка блокировок росконадзора
    Вопрос. Два писка address list — первый состоящий из ip , а второй из url
    address list ip и address list url
    Как сделать чтобы траффик сначало проходил по списку Ip и в случае какого либо попадания проверялся уже по списку url
    Т.е. двойная проверка

  12. пора переделывать статью и уходить от тяжелого Layer7. С версии 6.36 уже поддерживаются списки урлов в адресных листах. При введении адреса микротик автоматом создает динамические списки. Ну и кроме того https тоже блокируется.

    • Надо будет разобраться на досуге. На все времени не хватает.

      • Михаил

        Zerox, Вы неверно используете термин»заблокировать».
        Вы отбрасываете пакеты а не блокируете их.
        Блокировка происходит с помощью Web-proxy, но Web-proxy не умеет блокировать https трафик, только http.

    • Спасибо тебе, добрый человек! Прямо такое счастье!
      Что характерно, поле ввода адреса содержит разделительные точки, у меня даже и мысли не возникло, что туда можно ввести доменное имя, а его, тем не менее, можно!

  13. Аноним

    И если пользователь пишет на сайте КиноГАвно@vk.com в поле логина микротик посылает такой запрос куда ? Правильно ! Решение огонь ! =) Микротик будет рыскать даже в веденых формах и банит банить банить… Тонна гемороя обеспечена таким методом..

  14. Добрый день. Сделал запрещающее правило на сайт как по статье. Но вот незадача — сайт все равно открывается. Правило в самом начале списка, правила файервола по-умолчанию (дефолтные). В чем может быть проблема? MikroTik RB951G-2HnD, RouterOS 6.38.

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

  15. Здравствуйте. Сразу к сути. Сайт блокируется, НО если сайт уже был открыт в браузере, то правило на него не действует. К примеру, блокируем vk и vkontakte. При вводе в строке или переходе по закладке — не открывает. Но если сайт был открыт, когда правило включилось (допустим, нужно только в обед разрешить доступ), то можно спокойно работать дальше — переходить куда захочешь на страничке и, даже, закрыть окно и восстановить его из истории — будет работать. Какие идеи?
    Больше чем уверен, что если вы все это повторите у себя, то результат будет такой же.

    П.С. В случае с блокировкой через ДНС — тот же результат (но там грешил на переброс контента на другой сервер сайта)

    • Лично мое мнение — занимать голову такой проблемой — страдать ерундой. Но если это действительно надо, тогда возможно поможет сброс всех сетевых подключений в момент включения блокировки, но не уверен на 100%, что это сработает.

  16. Александр

    Как сделать чтобы вместе с сайтом ok.ru не блокировался сайт к примеру, такой — book.ru ?

  17. Как сделать обратную историю, заблокировать всё и открыть доступ к отдельным сайтам? Ваш вариант с блокировкой работает, но ВПН в опере его обходит, но это для меня не самое страшное. Меня интересует доступ по белому списку сайтов. Подскажите пожалуйста если знаете. Заранее спасибо. И второй вопрос как настроить чтобы все запросы отправлялись например на http://search.skydns.ru.

    • А в чем проблема сделать обратную историю? Надо просто сделать на список сайтов разрешение, а все остальное закрыть. Но мне кажется, это все будет работать очень плохо. Сейчас для загрузки сайта подгружается информация из разных доменов. Многие сайты просто не будут нормально работать в таком режиме — кто-то картинки грузит с cdn, у кого-то модули и виджеты подгружаются с других доменов и т.д. Нужно будет постоянно мониторить такие ситуации и редактировать белый список. Я занимался этим и знаю, как муторно и много времени отнимает. Считаю, это неэффективным решением. Но против vnp в браузерах простого решения сходу не придумал.

      • Добрый утро. Не могли бы Вы расписать порядок действий, я пытался и у меня не получается, меня данный вариант интересует. Буду вам при много благодарен. То ли баран, то ли лыжи не едут. (

        И вариант с перенаправлением любого запроса на нужный мне сайт. Заранее спасибо.

  18. Антон создаем два правила, один на запрет через reject, второе разрешающее через ACCEPT
    Правило ACCEPT должно быть выше правила reject

    В первом правиле прописываем разрешение на ^+.(book.ru).*$
    Во втором, которое на запрем ^+.(ok.ru).*$

    Всё пашет!

  19. Аноним

    C ФБ — не работает, вообще. Перепробовали все.

  20. Лучше не создавать запрещающие правила. Лучше занять людей зарплатой, адекватной их занятости. Проверено. Но тут надо и начальство чтобы это понимало.

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

  21. Доброго времени суток. С роутерами «Microtik» столкнулся относительно недавно. Суть вопроса состоит в чем: возможно ли заблокировать доступ к определенному ресурсу по Wi-Fi соединению, но при этом «медные» клиенты на данный ресурс могли заходить без всяких ограничений? Заранее спасибо.

    • Да, так сделать можно. Достаточно тем или иным образом указать клиентов, которые пользуются wifi в ограничивающем правиле firewall. Это можно сделать либо указав подсеть wifi клиентов, либо их сетевой интерфейс.

  22. Сергей

    как настроить для одного ip доступ в соцсети?

    • Если реально нужен только один ip адрес, которому разрешен доступ, то можно сделать очень просто. В правиле блокировки указать адрес того человека, которому нужен доступ, только с восклицательным знаком. То есть запретить для всех, кто не этот адрес. Надеюсь понятно объяснил 🙂

Добавить комментарий

Ваш e-mail не будет опубликован.