Блокировка сайтов на MikroTik

Осуществить блокировку сайта(ов) на MikroTik большое множество,
в статье рассмотрю некоторые из них. С помощью изученных средств по ограничению доступа к сайтам достаточно просто блокировать любую рекламу,соцсети и т.п. И так приступим к изучению блокировки на примере сайта facebook.com

Блокировка через Address List

  1. Подключаемся к роутеру через WinBox и идем в раздел IP→ Firewall, открываем вкладку Address List
  2. Нажимаем на синий и создаем список для блокировки сайта
Блокировка сайтов на MikroTik

Заполним несколько полей в окне New Firewall Address List

Блокировка сайтов на MikroTik

Name ─ Имя создаваемого списка. Можно назвать как угодно.
Address ─ Адрес сайта. Можно указать как IP адреса, так и доменное имя.

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

У сайта может быть несколько разных доменных имен. Следовательно у этих доменов может быть совсем другой IP адрес, поэтому лучше добавить в список все известные домены например:
• yandex.ru
• ya.ru
• cloud.yandex.ru
• mail.yandex.ru
• money.yandex.ru
и так далее

Блокировка сайтов на MikroTik

Если вносить в список IP адреса, то узнать все адреса сайта можно через сервис BGP Toolkit от Hurricane Electric по ссылке тут

В поле поиска вводим нужный сайт и жмем на кнопку Search , отоброзиться список IP адресов ресурса

Блокировка сайтов на MikroTik

При добавление IP адресов, удобнее использовать командную строку создав предварительно список, например:

/ip firewall address-list add address=74.119.76.0/22 list=facebook disabled=no

Блокировка сайтов на MikroTik

Где address ─ адрес из списка, который отобразился при поиске.

Или можно создать файл со списком IP адресов с расширение .rsc
Например файл для facebook.com

block_facebook.rsc
/ip firewall address-list add address=74.119.76.0/22 disabled=no list=facebook
add address=69.63.176.0/20 disabled=no list=facebook
add address=69.63.176.0/21 disabled=no list=facebook
add address=69.63.184.0/21 disabled=no list=facebook
add address=69.171.224.0/19 disabled=no list=facebook
add address=69.171.224.0/20 disabled=no list=facebook
add address=69.171.239.0/24 disabled=no list=facebook
add address=69.171.240.0/20 disabled=no list=facebook
add address=69.171.255.0/24 disabled=no list=facebook
add address=66.220.144.0/20 disabled=no list=facebook
add address=66.220.144.0/21 disabled=no list=facebook
add address=66.220.152.0/21 disabled=no list=facebook
add address=31.13.24.0/21 disabled=no list=facebook
add address=31.13.64.0/18 disabled=no list=facebook
add address=31.13.64.0/19 disabled=no list=facebook
add address=31.13.64.0/24 disabled=no list=facebook
add address=31.13.65.0/24 disabled=no list=facebook
add address=31.13.66.0/24 disabled=no list=facebook
add address=31.13.68.0/24 disabled=no list=facebook
add address=31.13.69.0/24 disabled=no list=facebook
add address=31.13.70.0/24 disabled=no list=facebook
add address=31.13.71.0/24 disabled=no list=facebook
add address=31.13.73.0/24 disabled=no list=facebook
add address=31.13.74.0/24 disabled=no list=facebook
add address=31.13.75.0/24 disabled=no list=facebook
add address=31.13.76.0/24 disabled=no list=facebook
add address=31.13.77.0/24 disabled=no list=facebook
add address=31.13.78.0/24 disabled=no list=facebook
add address=31.13.79.0/24 disabled=no list=facebook
add address=31.13.82.0/24 disabled=no list=facebook
add address=31.13.83.0/24 disabled=no list=facebook
add address=31.13.84.0/24 disabled=no list=facebook
add address=31.13.85.0/24 disabled=no list=facebook
add address=31.13.86.0/24 disabled=no list=facebook
add address=31.13.87.0/24 disabled=no list=facebook
add address=31.13.90.0/24 disabled=no list=facebook
add address=31.13.91.0/24 disabled=no list=facebook
add address=31.13.93.0/24 disabled=no list=facebook
add address=31.13.96.0/19 disabled=no list=facebook
add address=204.15.20.0/22 disabled=no list=facebook
add address=199.201.64.0/22 disabled=no list=facebook
add address=185.60.216.0/22 disabled=no list=facebook
add address=173.252.64.0/19 disabled=no list=facebook
add address=173.252.96.0/19 disabled=no list=facebook
add address=173.252.70.0/24 disabled=no list=facebook

Теперь можно настроить правило блокировки с использованием ранее созданного списка (facebook) .
Переходим на вкладку IP→ Firewall → Filter Rules и добавляем новое правило.

Блокировка сайтов на MikroTik

Chain ─ forward. ( Цепочка для транзитных пакетов, которые идут через роутер. В том числе все, что проходит из локальной сети.)
Src.Address ─ 172.16.0.0/24 ( Подсеть, для которой будет действовать блокировка, можно задать определенный IP для которого необходимо блокировать сайт. )
Protocol ─ tcp ( Для какого протокола будет работать правило.Если не указывать протокол, то тоже будет работать блокировка, но чем более конкретно указано правило, тем лучше в общем случае. )

Далее переходим на вкладку Advanced. Указываем список (facebook),который создали ранее.

Блокировка сайтов на MikroTik

Теперь переходим во вкладку Action в ней задаем параметры блокировки проходячщих пакетов

Блокировка сайтов на MikroTik

Заполняем вкладку, затем нажимаем Apply и OK.
Action ─ reject ( Отброс пакета с причиной указанной в Reject with )
Reject With ─ tcp reset ( отправляет ответ сеть недоступна )

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

Теперь сети 172.16.0.0/24 сайт facebook.com недоступен. Аналагчино можно заблокировать доступ для определённого IP адреса из локальной сети.

Блокировка через Layer7 Protocol

Layer7 protocol, является методом поиска совпадений по регулярным выражения в ICMP, TCP и UDP потоках. И работает следующим образом: с каждого соединения, берутся первые 10 пакетов или первые 2KB, в которых производится поиск совпадений. Таким образом, мы можем находить тот или иной вид трафика, и дальше обрабатывать его в Firewall - запрещать, перенаправлять, маркировать соединения и прочее.

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

Блокировка сайтов на MikroTik

1. Name ─ Задаем название правила
2. Regexp ─ Вписываем регулярное выражение

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

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

Заполняем вкладку General

Блокировка сайтов на MikroTik

Chain ─ prerouting
Protocol ─ udp
Dst.Port ─ 53
Connection Mark ─ no-mark

Если необходимо блокировать доступ определённому IP адресу из сети, то для этого нужно в поле Src.Address указать IP адрес которому нужно ограничеть доступ

Переходим во вкладку Advanced и в поле Layer7 Protocol выбираем созданый ранее L7 protocol facebook

Блокировка сайтов на MikroTik

Далее заполняем вкладку Action
в поле Action выбираем mark connection
в поле New Connection Mark маркеруем пакет например зададим маркер как facebook_mark
Напротив Passthrough должнастоять галочка, если не стоит то ставим

Блокировка сайтов на MikroTik

Action ─ mark connection
New Connection Mark ─ facebook_mark
Passthroug ─

Теперь создаём правило для маркировки пакетов на основе промаркированного выше соединения
Идем во вкладку Mangle и добавляем еще одно правило маркировки соединений

Заполняем полоя во вкладке General

Блокировка сайтов на MikroTik

Chain ─ prerouting
Connection Mark ─ facebook_mark выбираем маркированый пакет созданный ранее

Если необходимо блокировать доступ определённому IP адресу из сети, то для этого нужно в поле Src.Address указать IP адрес которому нужно ограничеть доступ

Далее заполняем вкладку Action в ней в поле Action выбираем mark connection в поле New Connection Mark маркеруем пакет например зададим маркер как facebook_connect
Напротив Passthrough должнастоять галочка, если не стоит то ставим

Блокировка сайтов на MikroTik

Action ─ mark connection
New Connection Mark ─ facebook_connect
Passthroug ─

/ip firewall mangleadd action=mark-packet chain=prerouting connection-mark=facebook_conn new-packet-mark=facebook_connect

Создём правила для фильтра файрвола в цепочек input и forward
Переходим во вкладку Filter Rules и содаём два правила

Правило №1 для цепочки forward

Блокировка сайтов на MikroTik
Блокировка сайтов на MikroTik

Правило №2 для цепочки input

Блокировка сайтов на MikroTik
Блокировка сайтов на MikroTik

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

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

Блокировка через DNS

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

И так , открываем терминал и прописываем команды :

/ip dns static add name="facebook.com" address=127.0.0.1

Смотреть в картинке
Блокировка сайтов на MikroTik

У пользователей заблокированные сайты еще будут открываться некоторое время, потому что на компьютерах есть DNS кэш, в котором временно хранятся имена посещенных сайтов и их IP адреса. Для очистки DNS кэша на компьютере нужно запустить командную строку cmd и ввести команду ipconfig /flushdns.

Данный метод блокировки будет работать до тех пор  пока пользователь вручную не сменит адрес DNS сервеара (ов). Для такого случая необходимо 
все DNS запросы завернуть на наш роутер. Для этого заходим на терминал и выполняем следующие команды :

/ip firewall nat
add chain=dstnat protocol=udp dst-port=53 action=redirect
add chain=dstnat protocol=tcp dst-port=53 action=redirect 

Теперь все DNS запросы будут идти через наш роутер

Блокирока через TLS Host

В MikroTik RouterOS, начиная с версии 6.41.1, появилась возможность блокировать https-сайты спомощью функции TLS Host. Во вкладке General заполняем графу Protokol ( TCP) и Dst.Port (433) Во вкладке Advanced заполняем графу TLS Host в нашем случае это сайт facebook.com

Блокировка сайтов на MikroTik
Блокировка сайтов на MikroTik

Так же необходимо создать еще одно правило во вкладке TLS Host с параметрами *.facebook.com Это правило необходимо для блокировки всех доминов которые имеют приставку перед facebook.com, это может быть что угодно ,например m.facebook.com (мобильная версия фейсбука) и т.п.

Блокировка сайтов на MikroTik

Есть еще один способ как блокировать сайт(ы) на MikroTik ( RouterOS) блокировка с помощью Proxy-сервера, но Proxy на MikroTik это так,для галочки.... Так что данный способ не рассматриваю

На этом вроде бы все, я описал все способы блокировки сайта(ов) на оборудовании фирмы MikroTik с опирационной системой RouterOS на борту.

Рейтинг
( Пока оценок нет )