Иногда есть необходимость запрещать доступ к веб-сайтам социальных сетей, таким как VK, YouTube, Telegram и другим. Также может возникнуть потребность блокировать все веб-сайты, кроме одного.
В этой статье я представил три различных метода блокировки веб-сайтов на Mikrotik. В отличие от других устройств брандмауэра, брандмауэр MikroTik автоматически разрешает все веб-сайты. Поэтому для запрета доступа к конкретному веб-сайту необходимо создать правило брандмауэра.
Таким образом, чтобы заблокировать доступ ко всем веб-сайтам, разрешив лишь несколько, необходимо выполнить обратную настройку. Это включает в себя создание правила брандмауэра, блокирующего все веб-сайты, и еще одного правила, использующего брандмауэр MikroTik для разрешения доступа к определенному набору веб-сайтов.
Приглашаю вас принять участие в тестировании моего бота EasyTools в Telegram.
EasyTools — это централизованный бот, который поможет получить необходимую информацию не выходя из мессенджера.
Многообразие IT-инструментов доступно во вкладке «Утилиты».
Содержание
- Брандмауэр MikroTik как решение для блокировки веб-сайтов
- Метод 1. Использование веб-прокси для блокировки веб-сайта
- Метод 2. Использование протоколов уровня 7 (L7P) для блокировки веб-сайта
- Метод 3. Использование Mangle для блокировки HTTPS
- Разрешение доступа к заблокированному веб-сайту для определенного пользователя
- Заключение
Брандмауэр MikroTik как решение для блокировки веб-сайтов
Брандмауэр MikroTik блокирует веб-сайты с использованием правил фильтрации, каждое из которых включает две составляющие.
- Conditional part: В данном разделе условия сопоставляются с использованием различных атрибутов, таких как протокол уровня 7, порт источника, порт назначения, протокол, chain и т.д.
- Action part: Этот фрагмент блокирует доступ к любому веб-сайту с применением одного действия “drop”.
Примечание: Если условия правила фильтрации соблюдаются, брандмауэр MikroTik сбросит соединение. Таким образом, пользователь не сможет использовать маршрутизатор MikroTik для доступа к данному веб-сайту.
Роль протокола уровня 7
Брандмауэр MikroTik может блокировать любой веб-сайт, использующий протокол уровня 7 вместе с его исходными или целевыми адресами. Для поиска ключевого слова в URL протокол уровня 7 использует Perl Regex (регулярное выражение). При совпадении срабатывает правило фильтрации, использующее этот протокол уровня 7, и принимаются соответствующие меры. Чтобы запретить доступ к веб-сайтам, содержащим определенное ключевое слово, такое как Facebook, YouTube и другие, мы будем использовать регулярные выражения для создания протокола уровня 7, который затем применим в наших правилах фильтрации.
Весь процесс создания правила фильтрации включает в себя два этапа:
- Создание протокола уровня 7 для выбора необходимого веб-сайта.
- Создание правила брандмауэра для блокировки выбранного веб-сайта.
Метод 1. Использование веб-прокси для блокировки веб-сайта
Чтобы воспользоваться этим методом блокировки веб-сайта на Mikrotik, необходимо активировать и настроить веб-прокси на вашем сервере.
Для просмотра настроек доступа к веб-прокси, следуйте по указанному пути:
- Перейдите в меню “IP” > “Веб-прокси” (в самом нижнем разделе), чтобы просмотреть настройки.
- Найдите навигацию справа на странице под General опцией веб-прокси и выберите “Access”.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic1.jpg)
Нажмите синий знак + в верхнем правом углу панели меню, чтобы добавить заблокированный веб-сайт, а затем заполните необходимую информацию.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic2.jpg)
Вышеуказанные выделенные опции функционируют следующим образом:
- Dst Port: заполняется портом, используемым пользователями для просмотра веб-сайтов.
- Dst Host: заполняется адресом веб-сайта, который вы хотите заблокировать.
- Actions: Заблокируйте адрес веб-сайта, который вы написали, в поле “Dst Host”
- Redirect to: Перенаправьте заблокированный сайт на другой.
Когда вы заполните, нажмите кнопку “OK”.
Таким образом, после перехода по адресу, который вы указали в поле “Dst Host”, вы увидите “Access Denied”.
Как использовать веб-прокси для блокировки веб-сайтов в MikroTik
Одним из недостатков использования веб-прокси для блокировки веб-сайтов является невозможность блокировки HTTPS-сайтов, таких как Facebook и YouTube. Поэтому для блокировки HTTPS-сайтов используйте функции протокола уровня 7 и Mangle, о которых подробно рассказал в следующих разделах.
Метод 2. Использование протоколов уровня 7 (L7P) для блокировки веб-сайта
Пройдем к описанию второго метода блокировки веб-сайтов на Mikrotik, где мы рассмотрим использование протокола уровня 7 для этой цели. В данном случае приводится пример того, как заблокировать доступ к Facebook на Mikrotik с использованием протоколов уровня 7.
Для доступа к протоколам уровня 7 следуйте указанному пути:
- Нажмите в меню “IP” > “Firewall”.
- Выберите вкладку “Layer 7 Protocols”.
Затем требуется создать и настроить сценарий L7P. Для этого:
- Нажмите синий знак +, чтобы открыть новое окно “Firewall L7 Protocol”.
- В колонке с именем укажите название сценария и регулярного выражения. Например, чтобы заблокировать Facebook, введите в поле ввода “Regexp” следующее регулярное выражение: ^.+(Facebook.com).*$
- Нажмите Apply и OK
- Для блокировки желаемых вами веб-сайтов необходимо использовать собственные протоколы уровня 7 в правилах фильтрации, которые вы создали. Таким образом, следующим шагом является создание правила фильтрации для нашего брандмауэра.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic3.jpg)
На этом этапе, когда вы создали сценарий L7P, вы готовы создавать правила фильтрации для запуска этого сценария. Итак, следуйте следующим шагам:
- Перейдите в меню “IP” > “Firewall” на вкладку “Filter Rules”.
- Чтобы создать новую конфигурацию, нажмите знак +.
- Заполните столбец “Chain” на вкладке “General” значением “forward”.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic4.jpg)
На вкладке “Advanced” введите имя ранее созданного сценария L7P в поле “Layer 7 Protocols”.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic5.jpg)
Как показано на следующем скриншоте, выберите “drop” и нажмите “OK” на вкладке “Action”.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic6.jpg)
Таким образом, доступ к Facebook на вашем ПК будет закрыт.
Примечание: Все пользователи, посещающие веб-сайт, созданный с использованием L7P (на вкладке “Advanced”), будут переадресованы (Chain: Forward) и получат запрет на выполнение действий (Action: Drop).
Это был второй метод блокировки веб-сайтов в Mikrotik. Есть еще один способ!
Метод 3. Использование Mangle для блокировки HTTPS
Если предыдущие два варианта вас не устраивают или не работают в вашей системе, вы можете воспользоваться этим методом, используя Mangle в правилах фильтрации для блокировки веб-сайтов на Mikrotik.
Для начала создайте настройки Mangle, следуя приведенным ниже шагам:
- Перейдите в меню “IP” > “Firewall”.
- Выберите вкладку “Mangle.
- Нажмите знак + для создания настроек.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic7.jpg)
Затем на вкладке “General”:
- Заполните поле “Chain” значением “Forward”.
- Поле “SRC. Address” должно быть заполнено IP-сетью, которую вы собираетесь заблокировать.
Примечание: Если вы используете более одной сети, заполните 0.0.0.0/0 (применяется ко всем сетям).
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic8.jpg)
На вкладке “Advanced:
- В поле “Content” введите имя целевого веб-сайта, который вы хотите заблокировать.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic9.jpg)
На вкладке “Action” в настройках Mangle:
- Заполните столбец “Action” значением “add to address list”.
- В поле “Address list” укажите название списка IP-адресов для заблокированных сайтов.
Теперь пришло время проверить список адресов. Попробуйте получить доступ к заблокированному сайту и дождитесь завершения процесса загрузки.
- Проверьте в прокси-сервере в меню “IP” > “Firewall” > вкладка “Address List”.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic10.jpg)
Примечание: Конфигурация Mangle успешна, если на вкладке “Address List” есть содержимое в виде IP-адреса. Теперь вы можете создать новое правило фильтрации.
Чтобы создать новое правило фильтрации:
- Заполните поле “Chain” значением “Forwards”.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic11.jpg)
На вкладке “Advanced”:
- В поле “Dst. Address List” укажите название списка, который вы только что создали.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic12.jpg)
Наконец, на вкладке “Action:
- В поле “Reject With укажите “icmp network unreachable”.
- Нажмите ОК.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic13.jpg)
Примечание: Каждый пользователь, посещающий веб-сайт, который включен в список адресов “Dst. Address”, получит ответ “Reject” и увидит уведомление о недоступности сети в своем веб-браузере “Reject With”.
Разрешение доступа к заблокированному веб-сайту для определенного пользователя
До этого вы ознакомились с тем, как заблокировать веб-сайт на Mikrotik с использованием трех различных методов. Таким образом, вы настроили правило фильтрации, которое запрещает доступ всем пользователям в вашей локальной сети. Тем не менее иногда возникает необходимость предоставить доступ к ограниченному веб-сайту (например, Facebook, YouTube) определенным лицам.
В этом пункте вы узнаете, как разрешить доступ определенному пользователю к ограниченным веб-сайтам. Следуйте указаниям ниже, чтобы добавить в белый список выбранных вами пользователей и предоставить им доступ к заблокированным веб-сайтам на Mikrotik:
- Чтобы создать новое правило фильтрации, перейдите на вкладку “Filter Rules” и нажмите знак плюс (+). В результате откроется новое окно для настроек брандмауэра.
- На вкладке “General выберите “forward” в выпадающем меню “Chain”.
- Введите IP-адрес вашего пользователя в поле ввода “Address input box“, чтобы предоставить ему доступ к веб-сайтам, которые обычно запрещены.
- Выберите “tcp” из выпадающего меню “Protocol”, сделав клик по нему.
- Укажите порты 80 и 443 в поле ввода “Dst. Port”.
- На вкладке “Advanced” выберите из выпадающего меню “Layer7 Protocol” протокол уровня 7, который пользователь может использовать.
- На вкладке “Action” выберите “accept” из выпадающего меню “Action”.
- Нажмите Apply и OK.
![](https://networkadmin.ru/wp-content/uploads/2024/01/mikrotik-blockweb-pic14.jpg)
Примечание: Правило разрешения должно находиться перед правилом блокировки. В противном случае разрешенный пользователь будет поддаваться правилу блокировки, и ему будет отказан доступ к запрошенному веб-сайту.
Заключение
В этой статье вы узнали, как заблокировать веб-сайты на Mikrotik. В разумных целях увеличения рабочего времени, обеспечения безопасности и управления сетью такое действие может быть полезным. Блокировка сайтов с помощью веб-прокси, блокировка сайтов с применением протоколов уровня 7 и блокировка HTTPS-сайтов с использованием Mangle – это три решения, которые вы можете попробовать, чтобы заблокировать или разблокировать веб-сайты на Mikrotik.