Запрет социальных сетей на маршрутизаторах Mikrotik

Запретить доступ к социальным сетям и прочим сайтам на маршрутизаторах Mikrotik можно несколькими способами.

Первый и наиболее эффективный

способ это включить web-proxy, запретить в нем конкретные сайты, в фаерволе во вкладке NAT добавить правило которое будет нужные IP направлять на web-proxy.
Добавляется правило в IP — Firewall — NAT (Chain: dstnat, protocol: tcp, Dst. port: 80, Action: redirect, To Ports: 8080, в Src. Address или Src. Address List указываем кого необходимо направить на Web proxy)
Включаем Web proxy поставив галочку в IP — Web proxy — Enabled, смотрим чтобы порт был 8080.
Добавляем сайты которые нужно заблокировать в IP — Web proxy — Access (например Dst. host: vk.com, Action: deny)

Второй и один из простых

— это добавить статическую DNS запись, тогда все кто подключены к маршрутизатору не смогут зайти на сайт.
Для этого необходимо нажать «IP» -> «DNS» -> «Add New», в поле Name указать домен сайта, в Address — 127.0.0.1.
Пример добавления через командную строку:

ip dns static add name youtube.com address=127.0.0.1
ip dns static add name www.youtube.com address=127.0.0.1
ip dns static add name name=".*\.vk\.com" address=127.0.0.1

Команда просмотра статических DNS записей на маршрутизаторе:

ip dns static print

Однако этот запрет можно обойти прописав вручную на компьютерах сторонний DNS сервер, например Google DNS — 8.8.8.8 и 8.8.4.4.

Третий вариант

это посмотреть на каких ip-адресах находится сайт, например набрав в командной строке Windows команду nslookup vk.com, потом в фаерволе заблокировать доступ к ним для всех пользователей или конкретным. Вместо кучи ip адресов можно указать подсеть, например 87.240.131.0/24 (это ip 87.240.131.1-254). На сайтах типа http://bgp.he.net/AS47541#_prefixes можно посмотреть диапазоны IP адресов принадлежащие AS компании.
Пример команд:

ip firewall filter add chain=forward src-address-list=socialnetworks action=drop comment="Social Network" disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.97 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.103 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.117 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.120 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.143.245 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.143.246 disabled=no

Четвертый вариант

через протокол седьмого уровня (все пакеты в которых будут встречаться указанные выражения будут отбрасываться):

ip firewall layer7-protocol add name=social regexp="^.+(vk.com|vkontakte|odnoklassniki|odnoklasniki|facebook|youtube|loveplanet).*\$"
ip firewall filter add action=drop chain=forward comment="Block_social" layer7-protocol=social src-address-list=Block_social

6 thoughts on “Запрет социальных сетей на маршрутизаторах Mikrotik”

  1. А как заблокировать доступ к социалкам для определённых айпишников в локалке?

    1. 1) В DHCP Server -> Leases зерезервировать IP, чтобы не сменился адрес (нажать по адресу и кнопку Make Static).
      2) Добавить к правилам выше в Dst. Address или Dst. Address List эти IP-адреса, тогда правило будет действовать только для них.

  2. А как запретить доступ одного компа по макадресу ко всем ресурсам интренета кроме одного сайта, gmail.com??

  3. подскажите как с помощью регулярных выражений заблокировать сайт ok.ru, но при этом не блокировать book.ru?

  4. Сделал при помощи первого варианта с WebProxy. Как оказалось у него один, но существенный недостаток: блокируется только сам хост, в то время как все его страницы остаются доступными. Т.е., к примеру, vk.com блокируется, а вот vk.com/username прекрасно открывается.

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