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

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

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

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

Данная статья является частью единого цикла статьей про Mikrotik.

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

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

Блокировка сайта в Mikrotik

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

Блокируем одноклассники

Мы заполнили 2 поля:

  1. Name - имя списка. Может быть любым.
  2. Address - адрес сайта. Параметр может принимать значения как ip адреса, так и доменного имени.

После добавления списка с адресом в виде доменного имени, происходит автоматический резолв имени в ip адрес. После этого создаются динамические записи в списке уже из конкретных IP адресов. Эти IP адреса берутся из записей типа A в DNS.

ip адреса одноклассников

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

Полный список адресов и доменов для блокировки

Я добавил на всякий случай адрес odnoklassniki.ru, но по факту в этом нет смысла, так как он резолвится в те же самые ip адреса, что и ok.ru. Новых динамических записей не добавилось.

Теперь настраиваем правило блокировки с использованием созданного ранее списка. Для этого идем на вкладку Filter Rules и добавляем новое правило.

Правило блокировки сайта в firewall

  • Chain - forward. Цепочка для транзитных пакетов, которые идут через роутер. В том числе все, что проходит из локальной сети.
  • Src. Address - 192.168.13.16. IP ардес, для которого будет работать блокировка. Если хотите заблокировать сайт для всех, можно просто не заполнять это поле. Вместо ip адреса можно указать разом всю подсеть - 192.168.13.0/24.
  • Protocol - tcp. Если не указывать протокол, то тоже будет работать блокировка, но чем более конкретно указано правило, тем лучше в общем случае.

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

Выбор адреса назначения в виде списка

Далее открываем вкладку Action.

Действие - reject

Тут все просто - отбрасываем указанные пакеты, отправляя в ответ ошибку icmp - icmp-network-unreachable. На время отладки можете поставить галочку log, чтобы в логе видеть все сработанные правила с блокировкой социальной сети.

Лог заблокированных запросов

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

Список правил в firewall

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

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

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

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

Для того, чтобы не создавать отдельные правила для каждого сайта, можно просто создать общий список блокировки и добавлять туда домены. Покажу на примере популярных видеохостингов. Настроим блокировку одним правилом youtube.com, vimeo.com, rutube.ru, ivi.ru, video.mail.ru. Для этого идем в раздел IP -> Firewall -> Address List и добавляем их все туда. Получился такой статический список.

Блокирование сайтов в mikrotik по списку

На основе этого списка сформировался набор динамических записей с ip адресами добавленных доменов.

Полный список доменов и ip адресов

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

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

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

Сейчас на примере списка социальных сетей разберу еще один подход к блокировке сайтов в mikrotik. Он будет основываться не на резолве доменных имен в ip адреса, а на анализе содержимого пакетов с помощью Layer7 Protocol. Его преимущество именно в том, что он анализирует содержимое пакетов. Теоретически, это более надежный способ блокировки, так как ip адреса сайтов могут меняться. В случае статических правил с ip адресами это может приводить к тому, что в какой-то момент они станут не актуальны. С эти тоже можно бороться, обновляя списки, но это отдельная тема.

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

Для этого создаем правило Layer7 Protocol в соответствующем разделе Winbox IP -> Firewall -> Layer7 Protocols для блокировки социальной сети facebook.

Блокировка социальных сетей в микротике

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

Теперь нам нужно промаркировать все соединения и пакеты в dns запросах, где будет совпадение с созданным ранее правилом. Идем во вкладку Mangle и добавляем правило маркировки соединений.

Маркировка соединенийМаркировка соединений

Маркировка соединенийЧтобы не перепутать какие-то параметры, можете просто ввести в консоли команду и проверить созданное правило.

/ip firewall mangle
add action=mark-connection chain=prerouting protocol=udp dst-port=53 connection-mark=no-mark layer7-protocol=facebook new-connection-mark=facebook_conn passthrough=yes

И еще одно правило для маркировки пакетов на основе промаркированного выше соединения.

Маркировка пакетов Маркировка пакетов

add action=mark-packet chain=prerouting connection-mark=facebook_conn new-packet-mark=facebook_packet

Пакеты промаркировали. Теперь создаем 2 блокирующих правила для цепочек input и forward. Для этого идем во вкладку Filter Rules и добавляем 2 правила. Я не буду показывать картинки, их и так уже полно в статье. Правила простые, введите их в консоль сами.

add action=drop chain=forward packet-mark=facebook_packet
add action=drop chain=input packet-mark=facebook_packet

Далее важно эти правила правильно расположить в списке правил. Они обязательно должны быть выше разрешающих правил для цепочек input и forward. Примерно так.

add action=drop chain=input comment="block facebook" log=yes packet-mark=facebook_packet
add action=accept chain=input comment="Local Input" in-interface=!ether2-wan src-address=192.168.13.0/24

add action=drop chain=forward comment="block facebook" log=yes packet-mark=facebook_packet
add action=accept chain=forward comment="accept forward from local to internet" in-interface=!ether2-wan

На время отладки я включаю логирование правил, обнуляю счетчики и начинаю тестировать. Если что-то пойдет не так, проверьте так же счетчики в разделе Mangle. Если там будет пусто, значит ошибка либо в правиле Layer7 Protocols, либо в самих правилах маркировки. Я, когда тестировал, неправильно расположил правила в Firewall. В итоге в правилах маркировки счетчики росли, пакеты маркировались, но блокировки не было. Это было видно по нулевым счетчикам в Firewall. После того, как правильно расположил правила, блокировка социальной сети facebook заработала как надо.

Объясняю логику работы данной блокировки. Мы маркируем все соединения к dns серверу, удовлетворяющие указанному regex в правиле Layer7. Далее маркируем все пакеты из этого соединения. Потом в фаерволе блокируем эти соединения. Если клиент использует DNS сервер на микротике, запросы блокируются правилом цепочки input, если используется сторонний, то в блок пакеты попадают по правилу цепочки forward. В итоге у клиента не работает резолвинг доменного имени в ip и он не может попасть на сайт через браузер. Конечно, при желании, эту блокировку соцсети можно обойти. Для наибольшей эффективности надо комбинировать оба предложенных в статье способа.

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

Блокировка рекламы средствами 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).*$

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

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

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

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

Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.

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

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

Помогла статья? Подписывайся на telegram канал автора

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

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

85 комментариев

  1. Аватар
    Аноним

    Все сделано по Мануалу
    блокировал Ютуб
    блок происходит все супер.
    Но, когда я выключаю правило на микротике, блок продолжает работать, почему так?
    очистка кеша в браузере, сброс DNS на микротике не помог.
    как исправить?

    • Zerox

      Если блокировали с помощью маркировки запросов к dns, то надо еще на компьютере перезапускать браузер, чтобы он новые запросы к dns отправил. Либо просто другой браузер открыть и проверить.

      • Аватар
        Аноним

        Да, в том то и дело, что закрытие браузера не помогает, и открывал другой браузер, ютуб был по прежнему не доступен.
        Мне помогло только выключение/включение сетевого интерфейса на ПК.
        Это не удобно...

        • Zerox

          Можно вместо отключения сетевого интерфейса выполнить в консоли компьютера очистку dns кэша:

          ipconfig /flushdns

          • Аватар
            Аноним

            Это как вариант, но если у вас Парк ПК, то бегать и каждому кэш чистить не вариант, согласитесь...)

  2. Аватар

    Добрый день. Попробовал по инструкции автора. Если выставляю OK.RU, то работает корректно, а если http://www.youtube.com(youtube.com), то в хроме не блокируется, а в IE блочит. В чем может быть нюанс?

    • Аватар
      Евгений

      в хроме не сразу срабатывает! но у меня работает! и ок банит. и при этом когда ok.ru закрыт то и obok.ru сайт не работает! вот не знаю как решить данную проблемку!

      • Zerox

        Как это obok.ru тоже банит? Это могло быть, если настраивать по старому методу, который тут раньше был описан. Сейчас все обновилось в статье и такого быть не должно. Бан идет по ip сайта, а не по имени домена.

    • Zerox

      У меня везде блокирует. Каким способом блок настраивали?

      • Аватар
        Евгений

        через layer7 блочу и лочится сайт obok.ru вместе с ok.ru

        • Zerox

          Так вот же в статье описан другой способ. OK.RU банить через регулярку в layer7 нельзя как раз потому что под этот фильтр будет попадать огромное количество других сайтов. Забаньте его по списку через доменное имя.

  3. Аватар

    Сделал все как описал автор, заметил странность. Попробовал ok.ru блокирует на ура, изменил youtube.com(и http://www.youtube.com), не блокирует, НО это в хроме. В EI не открывается сайт. Есть какие то особенности? Или это хром производит подмену?

  4. Аватар

    Привет всем. Мне нужен дать доступ к программу Google Earth чтобы он работал(как узнать ip или как этот программа выходить в глобальный сеть)

  5. Аватар
    Евгений

    Доброе время суток! У меня проблема одна! я блокирую сайт ok.ru, а вместе с ним блокируются сайты у кого указаны такие символы типа:"abok.ru" как решить такую ситуацию! что только не пробовал не получается!

  6. Аватар
    Аноним

    может кому пригодится . сделал так же как и у автора но фастрак конекшин добавил 10000 байт
    /ip firewall filter
    add action=reject chain=forward layer7-protocol=youtube reject-with=\
    icmp-network-unreachable src-address=192.168.88.0/24
    /ip firewall layer7-protocol
    add name=youtube regexp="^.+(youtube|rutube|smotri).*\$"
    add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-bytes=10000-0 connection-state=established,related

  7. Аватар
    Алексей

    Добрый день. Вы пишите: в поле Src.Address вы можете указать конкретный ip пользователя, можете указать всю подсеть, либо вообще оставить поле пустым. Хочу спросить, а можно как-то указать не всю подсеть, а 2 или 3 ip адреса, как их вносить в Src.Adress, через запятую, разделитель или как?

    • Zerox

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

  8. Аватар

    Попробовал - "Как быстро закрыть доступ к сайту" для конкретного IP - не сработало!
    Стало срабатывать только после указания интерфейса, на котором сидит эта ЛАН :)

  9. Аватар

    Dobre!
    Zerоx,в примере выше блокируется сайты на определённом IP ,но пользователь меняет на какой хочет ,и сайты у него конечно открываются,нужен способ отключить сайты на порт где подключён юзер , есть идеи?

    • Аватар

      Ясненько! Непонятнеько :) У Вас что, все юзера с админскими правами штоб ip-шники на раб.станции менять? :)

  10. Аватар

    Раньше использовал Layer 7. Но интернет стал достаточно сильно тормозить, т.к. анализируется каждый пакет. Перешел на другой вариант. Анализирую содержимое запросов на хост и помещаю указанный хост в адрес лист. И блокирую уже IP под адрес листу в рабочее время.
    add action=reject chain=forward comment="Drop Social Network" dst-address-list=SocialNetwork protocol=tcp reject-with=tcp-reset time= 9h-17h,sun,mon,tue,wed,thu,fri,sat
    Собираем IP
    add action=add-dst-to-address-list address-list=SocialNetwork chain=forward content="Host: http://www.vk.com" protocol=tcp src-address=192.168.1.0/24
    В данном случае http://www.vk.com, размножаем последнее правило на хосты которые надо блокировать.
    Работает быстро, тормоза ушли.

    Сейчас можно наверно просто указать днс имя в адрес листе, для сбора IP адресов. Но не проверял.

    • Аватар
      Аноним

      Aleks можешь по подробней чего то не хватает если не трудно со скринами на почту mail@sarmontag.ru

      • Аватар

        Я попробую все таки тут объяснить.
        1. с первым правилом все надеюсь понятно. Блокируем все IP адреса что находится в адрес листе. Обращаю внимание что идет не drop пакетов, а reject-with=tcp-reset. В противном случае странички у клиентов будут долго загружаться пока не отвалятся по таймауту.
        2. Задача сформировать список ip адресов которые блокируем.
        При запросе какого то сайта идет запрос вида "Host: имя_домена". Причем http://www.site.com и site.com это разные домены, соответсвенно мы должны прописать их все, на каждый домен свое правило(дебелизм). Создаем новое правило chain=forward, protocol=tcp src-address=ip внутреней сети, переходим на вторую закладку "Advanced" в поле Content пишем "Host: имя_домена" Обрати внимание на пробел. ну и последняя закладка action=add-dst-to-address-list address-list=SocialNetwork
        Т.к. у нас сейчас некоторые соц сети заблокированы на гос уровне то мне это стало не актуально.
        P.S. Пункт 2 имеет смысл попробывать заменить на прописывание в Firewall -> Address list просто имена доменов, тогда IP адреса подтянутся в новых версия routeOS автоматически и будут обработаны первым правилом.

  11. Аватар
    Dmitry Nadein

    В предыдущем комментарии ошибся вместо параметра youtube надо sotial2

  12. Аватар
    Dmitry Nadein

    Просто оставлю это здесь:

    /ip firewall layer7-protocol
    add name=youtube regexp=”^.*(youtube.com|youtu.be|netflix.com|vimeo.com|twitch.tv|instagram.com|vk.com|ok.ru|facebook.com).*$”

    /ip firewall mangle
    add action=mark-connection chain=prerouting protocol=udp dst-port=53 connection-mark=no-mark layer7-protocol=sotial2 new-connection-mark=sotial2_conn passthrough=yes
    add action=mark-packet chain=prerouting connection-mark=sotial2_conn new-packet-mark=sotial2_packet

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

    Собрано по примеру https://habr.com/post/346052/

  13. Аватар

    Народ, забейте! Все эти правила легко обходятся Анонимайзером!

  14. Аватар

    не работает.

  15. Аватар

    Обновился уже до 6.42.7 так по Layeer 7 и не работает, только если в поле content указать

  16. Аватар
    Кирилл

    Палец вверх. На хабре нашел решение, не работает, в инете облазил - все бестолковое, тут не профи описал, но работает. Спасибо! =)

  17. Аватар
    Никита

    Всё сделал по статье, всё работает, всё ок. Но, почему-то через несколько дней перестаёт открываться сайт яндекса с почтой :-(

    • Zerox

      Возможно в строке браузера, когда переходишь на какое-то письмо, возникает одно из запрещенных имен домена. И срабатывает блокировка. Нужно понимать, что описанный способ самый простой и самый костыльный :) Много ложных срабатываний может быть. Нормальную блокировку не настроить без отдельного прокси сервера.

  18. Аватар

    Вопрос не по теме: при блокировании сайтов с помощью файла host, почему-то не блокируется https. Это норм или я что-то не так делаю? Никто не сталкивался?

  19. Аватар

    Настроил по layer7
    ^.+(vk.com|vkontakte|odnoklassniki|odnoklasniki|facebook|ok.ru).*$

    Доступ к похожим сайтам тоже закрылся, например
    avk.com

    Надо как то поправить рег выражение

  20. Аватар
    Владислав

    Если настраивать по данной статье, например, запрет на сайт vk.com, то все равно можно будет переходить по прямым ссылкам на сайт, т.е. мы блокируем vk.com, но если в адресной строке ввести vk.com/feed, то сайт откроется.

  21. Аватар
    Сергей

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

    • Zerox

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

  22. Аватар

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

    • Zerox

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

  23. Аватар

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

    • Zerox

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

  24. Аватар
    Аноним

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

  25. Аватар

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

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

    Всё пашет!

  26. Аватар

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

    • Zerox

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

      • Аватар

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

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

      • Аватар

        Есть специальный шаблон google chrome для групповых политик контроллера домена. Там в настройке шаблона создаете белый список расширение для хрома по хэш и все

  27. Аватар
    Александр

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

  28. Аватар

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

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

    • Zerox

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

  29. Аватар

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

    • Zerox

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

  30. Аватар
    Аноним

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

  31. Аватар

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

    • Zerox

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

      • Аватар
        Михаил

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

    • Аватар

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

    • Аватар
      Василий

      добрый день Yura
      А вкратце можете описать? "Ну и кроме того https тоже блокируется."

    • Аватар

      Приведите пример реализации, у меня по списку в address list блочит только сайты без https
      тот жен vk.com блочит только через layer7
      youtube.com и fb - вообще заблокировать не удалось

      • Аватар
        Алексей

        Уходите вы от этого Layer7 - это не задача роутера копаться на 7 уровне.
        Вот пример блокировки youtube:

        ip firewall mangle add chain=prerouting protocol=tcp tls-host=*youtube.com action=mark-connection new-
        connection-mark=youtube_conn passthrough=no
        ip firewall mangle add chain=prerouting protocol=tcp tls-host=*googlevideo.com action=mark-connection
        new-connection-mark=youtube_conn passthrough=no
        ip firewall mangle add chain=forward connection-mark=youtube_conn action=mark-packet new-packet-mark=y
        outube_packet passthrough=no
        ip firewall filter add chain=forward packet-mark=youtube_packet action=drop

        И будет Вам счастье!!!

  32. Аватар

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

  33. Аватар
    Алексей

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

    • Zerox

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

  34. Zerox

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

  35. Аватар

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

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

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

  36. Аватар
    Сергей

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

    • Zerox

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

      • Аватар
        Сергей

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

  37. Аватар

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

    • Zerox

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

  38. Аватар

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

    • Zerox

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

  39. Аватар

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

    • Zerox

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

  40. Аватар
    Надежда

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

  41. Аватар
    Надежда

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

    • Zerox

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

  42. Аватар

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

    • Zerox

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

    • Аватар

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

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

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.