Хотите, мы Вам перезвоним?
  • Киев: (044) 383-54-55
  • Днепр-вск: (056) 767-50-05
  • Харьков: (057) 764-02-54
  • Запорожье: (061) 707-78-07
Мобильные номера
 
Продукция
 
Производители
 
Новости
 
Статьи

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

04.10.2017
  1. Блокирование сайтов по имени
  2. Блокирование сайтов по IP-адресу
  3. Блокирование сайтов с помощью статических DNS записей
  4. Блокирование сайтов с помощью Proxy сервера

В этой инструкции вы узнаете, как заблокировать любой сайт в роутере MikroTik, социальную сеть одноклассники, вконтакте и т.п.

 

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

В MikroTik RouterOS, начиная с версии 6.36, появилась возможность указывать DNS-имена сайтов в адрес-листах, а роутер сам определяет их IP-адреса или диапазоны IP-адресов. Поэтому процесс блокировки сайтов с помощью фаервола существенно упростился.

В RouterOS 6.36 и выше откройте меню NewTerminal и выполните следующие команды для блокировки сайтов:

# Добавляем список запрещенных сайтов с названием BlockedSites
/ip firewall address-list add list=BlockedSites address=youtube.com disabled=no
/ip firewall address-list add list=BlockedSites address=vk.com disabled=no
/ip firewall address-list add list=BlockedSites address=ok.ru disabled=no

# Добавляем в фаервол правило блокировки сайтов из списка BlockedSites
/ip firewall filter add chain=forward src-address-list=BlockedSites protocol=tcp action=reject reject-with=tcp-reset comment="BlockedSites" disabled=no

# Перемещаем в фаерволе правило BlockedSites вверх выше остальных правил
/ip firewall filter move [find comment="BlockedSites"] 1

Cписок запрещенных сайтов можно редактировать в меню IP - Firewall на вкладке Address Lists.

Правило блокировки находится в меню IP - Firewall на вкладке Filter Rules.

RouterOS по имени сайта неплохо определяет диапазоны IP-адресов, но не идеально. Мне не удалось с помощью данного способа заблокировать сайты facebook.com и instagram.com, поскольку MikroTik нашел не все необходимые диапазоны IP-адресов. Пришлось вручную найти необходимые IP-адреса и добавить их. Как это сделать, написано ниже.

 

Блокирование сайтов по IP-адресу

Фаервол позволяет заблокировать сайт по его IP-адресу. Узнать IP-адрес сайта можно в Windows, набрав в консоли команду nslookup имя сайта, например nslookup vk.com.

nslookup vk.com

 

Чтобы выполнить команду nslookup в маршрутизаторе MikroTik, откройте меню New Terminal и выполните команду-аналог put [:resolve vk.com]

Аналог команды nslookup в роутере MikroTik

 

Сайты социальных сетей имеют много серверов с разными IP-адресами и вышеуказанные команды могут не показать адреса всех серверов. Поэтому лучше всего с помощью онлайн сервисов whois узнать, какие сети принадлежат данной социальной сети. Например, Vkontakte Ltd принадлежит сеть 87.240.128.0/18 и 93.186.224.0/22.

Whois информация о Vkontakte Ltd

 

В поиске IP-адресов также поможет сервис bgp.he.net

Сервис bgp.he.net

 

После того, как мы узнали нужные нам IP-адреса, выполните в терминале MikroTik следующие команды:

# Добавляем список запрещенных IP-адресов с названием BlockedSites
/ip firewall address-list add list=BlockedSites address=87.240.143.244 disabled=no
/ip firewall address-list add list=BlockedSites address=87.240.128.0/18 disabled=no
/ip firewall address-list add list=BlockedSites address=93.186.224.0/22 disabled=no

# Добавляем в фаервол правило блокировки IP-адресов из списка BlockedSites
/ip firewall filter add chain=forward src-address-list=BlockedSites protocol=tcp action=reject reject-with=tcp-reset comment="BlockedSites" disabled=no

# Перемещаем в фаерволе правило BlockedSites вверх выше остальных правил
/ip firewall filter move [find comment="BlockedSites"] 1

 

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

 

Блокирование сайтов с помощью статических DNS записей

Заблокировать доступ к сайту можно также, создав статическую DNS запись с названием сайта и несуществующим IP адресом для него, например 127.0.0.1. Перед именем сайта бывает автоматически приписывается www, поэтому нужно создавать две записи, например odnoklassniki.ru и www.odnoklassniki.ru

Откройте меню NewTerminal и выполните следующие команды для блокировки одноклассников:

/ip dns static add name="odnoklassniki.ru" address=127.0.0.1
/ip dns static add name="www.odnoklassniki.ru" address=127.0.0.1

 

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

Такой способ блокирования сайтов будет работать только в том случае, если пользователь использует DNS сервер центрального роутера MikroTik. Если пользователь настроит вручную другой адрес DNS сервера, то ограничение работать не будет. Поэтому все DNS запросы необходимо завернуть на наш роутер. Для этого откройте меню New Terminal и выполните следующие команды:

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

 

Далее перейдите в меню IP - Firewall и на вкладке NAT переместите созданные правила вверх. Теперь все DNS запросы будут идти через наш роутер.

Защита от альтернативных DNS серверов в роутере MikroTik

 

Блокирование сайтов с помощью Proxy-сервера

Закрыть доступ к сайтам можно также с использованием прозрачного proxy-сервера MikroTik.

Разрешим использование прокси-сервера и настроим его. Для этого откройте New Terminal и выполните следующие команды:

/ip proxy
set enabled=yes
set src-address=0.0.0.0
set port=8080
set parent-proxy=0.0.0.0
set parent-proxy-port=0
set cache-administrator="webmaster"
set max-cache-size=none
set cache-on-disk=no
set max-client-connections=600
set max-server-connections=600
set max-fresh-time=3d
set always-from-cache=no
set cache-hit-dscp=4
set serialize-connections=no

 

Делаем proxy-сервер прозрачным:

/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=8080

 

Закрываем доступ к прокси-серверу со стороны интернета:

/ip firewall filter add chain=input in-interface= protocol=tcp dst-port=8080 action=drop

 

Вводим команду блокировки сайта:

/ip proxy access add dst-host=www.odnoklassniki.ru action=deny

 

Печатная версия Поделитесь статьёй:
  • Обычная форма
  • Facebook

Отзывы о статье

  Оценка: 4, Голосов: 13, Комментариев: 32

Добавить отзыв
Ваше Имя: *
Ваш e-mail:  

Отзыв: *
Оценка:  
Введите символы: *
Обновить
 
Игорь 05.11.2017 13:35:35
Такой вопрос. Как создать псевдо «интранет», чтобы только пару доменов было доступно для некоторых хостов и все сайты для пару ПК(администраторов).
Какие есть решение данного вопроса? Блочить конкретно по static IP адресам хостов? Или есть еще какие-то альтернативы?
Aleksandr 20.02.2017 19:51:14
Ребята. С версии 6.36 RouterOS понимает в списках адресов доменные имена, при этом сама разрешает айпишники относительно имени и составляет динамические списки. Так что теперь нет проблем блокануть любые сайты и неважно какие и когда у них айпишники. И кстати, action нужно выбирать не drop, а reject с reset tcp тогда браузеры не будут висеть долгое время при попытке зацти на заблоченый сайт, а через несколько секунд прекратят ломиться и выдадут сообщение о невозможности соединиться
Тарас 25.01.2017 05:36:27
А как бы закрыть весь http траффик? Т.Е. чтобы ни один сайт не работал, но приложения, такие как скайп и почтовый клиент работали
Дима 25.01.2017 10:59:30
Выполни в New Terminal команду:
/ip firewall filter add chain=forward protocol=tcp port=80,443,8080 action=drop
И не забудь в меню IP - Firewall - вкладка Filter Rules добавленное правило переместить выше запрещающих.
Sergey 13.11.2016 22:09:20
Разве в этой строке /ip firewall filter add chain=forward src-address-list=blockedsites action=drop comment="Blocked Sites" disabled=no не должно быть dst-address-list?
MM 08.09.2016 16:05:31
еще вариант блокировать https через firewall content
я так блокирую
Сергей 03.03.2016 11:11:46
А реально сделать так, чтоб блокировало всё кроме скайпа????
Алексей 18.01.2016 09:46:41
Сделал доступ только на сайты которые разрешены, с помошью Layer 7. А можно ли как то скриптом импортировать перечень разрешенных сайтов из текстового сайта (5000)? И может вместо Layer 7 просто фаерволл использовать?
Богдан 29.07.2017 21:49:11
Здравствуйте, Алексей, скажите а как Вы сделали доступ только для тех сайтов которые нужно, а все остальные заблокировали? Долблюсь над данной проблемой уже очень много времени, а никак не получается. Можете пример скинуть на bgavrilenko85@gmail.com?
Garry 07.12.2015 09:55:06
Доброго времени суток. Подскажите, как блокировать доступ допустим к тому же контакту или WOT отдельным пользовотелям ?
pochikau 15.11.2015 14:25:40
полезные статья.
у вас что то бодобное для блокировки team viwer есть?
Техподдержка 16.11.2015 09:40:32
Нет
Страницы: 1, 2
Call-центр
  • +38 097 085-80-08
  • +38 099 238-88-98
  • +38 099 322-60-10
  • +38 063 563-33-93
  • График работы:
    Пн–Пт с 9 до 18
Магазины
  • Киев: +38 044 223-10-98
  • Харьков: +38 057 764-02-54
  • Днепр-ск: +38 056 767-50-05
  • Запорожье: +38 061 707-78-07
Наши партнеры
     
© 2003–2017 «Компания ТехноТрейд»
интернет-магазин сетевого оборудования
×
×
Валюта: